برای تصمیم گیری در مورد نسخه SQL Server مناسب برای برنامهی خود، باید به عوامل زیر توجه کنید:
تعداد همزمان کاربران: اگر برنامهی شما توسط تعداد زیادی همزمان کاربر استفاده میشود، نسخه SQL Server Express ممکن است محدودیتهای کاربران همزمان داشته باشد. در این مورد، احتمالاً نیاز به نسخههای پیشرفتهتر SQL Server مانند Standard یا Enterprise دارید.
حجم دادهها: برنامه شما به نظر میآید که دادههای معمولی داشته باشد. اما تعداد روزانه فاکتورها و حجم دادهها میتواند افزایش یابد. اگر حجم دادهها به سرعت افزایش پیدا میکند، نسخه Express ممکن است به زودی به محدودیت حجم داده برخورد کند. در این صورت، نسخههای Standard یا Enterprise با قابلیتهای مدیریت داده بزرگتر مناسبتر هستند.
کارایی و سرعت: نسخههای SQL Server Express ممکن است برای برنامههای کوچک و ساده کافی باشند، اما در صورتی که نیاز به عملکرد بالا و سرعت بیشتری دارید (برای مواردی مثل ثبت فاکتورها و گزارش گیری)، نسخههای Standard یا Enterprise میتوانند بهتر باشند.
محدودیتهای نسخه Express: نسخه SQL Server Express محدودیتهایی در مورد حجم پایگاه داده (به طور معمول تا 10 گیگابایت) و مقدار رم قابل استفاده دارد. اگر برنامه شما از این محدودیتها بیشتر استفاده میکند، نیاز به نسخههای بالاتری دارید.
بودجه: بودجهی شما نیز نقشی در انتخاب نسخه SQL Server دارد. نسخههای پیشرفتهتر معمولاً گرانتر هستند. بنابراین، بودجه خود را در نظر بگیرید.
با توجه به توضیحات شما، اگر تعداد همزمان کاربران زیاد نباشد و حجم دادهها نیز متوسط باشد، ممکن است نسخه SQL Server Express برای شروع مناسب باشد. اما با افزایش تعداد کاربران و حجم دادهها، نیاز به نسخههای پیشرفتهتری خواهید داشت. در هر صورت، بهتر است با یک متخصص پایگاه داده و توسعهدهنده نرمافزار در مورد نیازهای دقیق برنامهی خود مشورت کنید تا نسخه مناسب را انتخاب کنید.
نسخه SQL Server Express نسبت به نسخههای Standard و Enterprise محدودیتهایی دارد. در زیر 50 مورد از این محدودیتها آمده است:
- حجم پایگاه داده: محدودیت حجم پایگاه داده در SQL Server Express به حدود 10 گیگابایت محدود شده است. در نسخههای Standard و Enterprise این محدودیت وجود ندارد.
- محدودیت حافظه RAM: SQL Server Express فقط تا 1.4 گیگابایت حافظه RAM را پشتیبانی میکند. در نسخههای بزرگتر، این محدودیت بیشتر است.
- تعداد هستههای پردازنده: SQL Server Express فقط از استفاده از 4 هسته پردازنده پشتیبانی میکند. نسخههای بزرگتر از این محدودیت پشتیبانی نمیکنند.
- عدم پشتیبانی از SQL Agent: SQL Server Express از وظایف زمانبندی شده مانند بکآپ و اجرای کوئریهای زمانبندی شده با استفاده از SQL Agent پشتیبانی نمیکند.
- عدم پشتیبانی از تولیدکنندههای Linked Server: نسخههای Express امکان ایجاد تولیدکنندههای Linked Server را ندارند.
- عدم پشتیبانی از اشتراک گذاری کانکشن پولینگ (Connection Pooling): SQL Server Express امکان اشتراک گذاری کانکشن پولینگ را ندارد که برای برنامههای با تعداد زیادی کاربر مفید است.
- عدم پشتیبانی از نسخهبندی شبکهای (SQL Server Network Protocols): SQL Server Express به صورت پیشفرض فقط از پروتکل Shared Memory برای اتصال به پایگاه داده پشتیبانی میکند و از دیگر پروتکلهای شبکهای مانند TCP/IP پشتیبانی نمیکند.
- عدم پشتیبانی از نظرات (Audit): SQL Server Express نسبت به زمینه نظرات (Audit) کارایی محدودی دارد و امکان نظارت جامع بر روی رویدادهای دیتابیس را ندارد.
- عدم پشتیبانی از نسخهبندی مولتی-نود (SQL Server Failover Clustering): SQL Server Express امکان تنظیم نسخهبندی مولتی-نود برای بالانس کاری و دسترسی بالا را ندارد.
- عدم پشتیبانی از مدیریت منابع (Resource Governor): نسخههای Express از این ابزار برای مدیریت منابع پایگاه داده پشتیبانی نمیکنند.
- عدم پشتیبانی از Partitioning: SQL Server Express از Partitioning برای مدیریت حجم بزرگ دادهها پشتیبانی نمیکند.
- عدم پشتیبانی از Transparent Data Encryption (TDE): امکان استفاده از TDE برای رمزنگاری دادههای ذخیرهشده در دیتابیس در SQL Server Express وجود ندارد.
- عدم پشتیبانی از نسخهبندی هوش مصنوعی و ماشینی (Machine Learning Services): SQL Server Express از ابزارهای مرتبط با هوش مصنوعی و ماشینی مانند R Services پشتیبانی نمیکند.
- محدودیتهای Reporting Services: در SQL Server Express، ممکن است برخی از امکانات و محدودیتها در خدمات گزارشدهی (Reporting Services) وجود داشته باشد.
- عدم پشتیبانی از Data Compression: نسخههای Express امکان استفاده از فشردهسازی دادهها را برای حجم بزرگتر دادهها ندارند.
- محدودیتهای در مورد پشتیبانی تکنولوژیهای حافظه خارجی (External Memory Technologies): SQL Server Express در مورد استفاده از تکنولوژیهای حافظه خارجی محدودیتهایی دارد.
- عدم پشتیبانی از Always On Availability Groups: SQL Server Express از مدیریت دسترسی مستمر به دادهها با Always On Availability Groups پشتیبانی نمیکند.
- محدودیتهای امنیتی: SQL Server Express در مورد امکانات امنیتی مانند Transparent Data Encryption و Always Encrypted محدودیتهایی دارد.
- عدم پشتیبانی از نسخهبندی موازی (Parallel Processing): SQL Server Express از پردازش موازی برای افزایش عملکرد در دادههای بزرگ پشتیبانی نمیکند.
- محدودیتها در مورد نمایهسازی (Indexing): نسخههای Express از برخی از انواع نمایهها و امکانات نمایهسازی به صورت محدود پشتیبانی میکنند.
- عدم پشتیبانی از Data Quality Services (DQS): SQL Server Express امکان استفاده از سرویسهای کیفیت داده برای پاکسازی و تنظیم دادهها را ندارد.
- عدم پشتیبانی از Master Data Services (MDS): SQL Server Express امکان استفاده از سرویسهای دادههای اصلی برای مدیریت دادهها و تنظیم دادهها را ندارد.
- عدم پشتیبانی از توابع تکمیلی تصویری (Spatial Functions): از توابع تکمیلی تصویری برای پردازش دادههای مکانی استفاده نمیکند.
- محدودیتها در مورد نسخهبندی RDBMS: نسخههای Express در مورد نسخهبندی مدیریت پایگاه دادههای توزیعی (RDBMS) محدودیتهایی دارند.
- عدم پشتیبانی از تولیدکنندههای Linked Server برای برنامههای پایگاه دادهای از طریق Linked Server: نسخههای Express امکان اتصال به دیگر پایگاههای داده از طریق تولیدکنندههای Linked Server را ندارند.
- محدودیتهای در مورد پشتیبانی از Always On Failover Cluster Instances: SQL Server Express از این تکنولوژی پشتیبانی نمیکند.
- محدودیتها در مورد پشتیبانی از Database Mail: نسخههای Express ممکن است به علت محدودیتهای پورت و مکانیسمهای امنیتی پشتیبانی نکنند.
- عدم پشتیبانی از SQL Server Profiler: SQL Server Express از ابزار SQL Server Profiler برای نظارت بر کوئریها و عملکرد دیتابیس پشتیبانی نمیکند.
- عدم پشتیبانی از Change Data Capture (CDC): SQL Server Express امکان ثبت تغییرات دادهها در یک دیتابیس را به صورت مداوم برای ایجاد گزارشها و زمانبندی کوئریها ندارد.
- عدم پشتیبانی از نسخهبندی Datacenter: SQL Server Express از نسخهبندی Datacenter برای برنامههایی که نیاز به قابلیتهای بالا برای مدیریت و اجرای پایگاه داده دارند، پشتیبانی نمیکند.
- محدودیتهای مربوط به تعداد همزمان کاربران: SQL Server Express معمولاً به تعداد کمتری از همزمان کاربران پشتیبانی میکند نسبت به نسخههای دیگر.
- عدم پشتیبانی از PolyBase: نسخههای Express از این ابزار برای پیوستگی دادههای مختلف را ندارند.
- محدودیتهای اتصال به SQL Server: SQL Server Express ممکن است به دلیل محدودیتهایی در تعداد اتصالات همزمان، امکان اتصال به آن را برای تعداد بالایی از کاربران نداشته باشد.
- عدم پشتیبانی از گزینههای Always Encrypted در برنامههای کلاینتی: از آنجا که SQL Server Express محدودیتهایی در زمینه امنیت دارد، گزینههای Always Encrypted در برنامههای کلاینتی از آن پشتیبانی نمیکنند.
- عدم پشتیبانی از نسخهبندی Web Edition: SQL Server Express از نسخهبندی Web Edition برای میزبانی وبسایتها و برنامههای تحت وب پشتیبانی نمیکند.
- عدم پشتیبانی از گزینههای Data Center و Business Intelligence: SQL Server Express از گزینههای Data Center و Business Intelligence برای اجرای پروژههای بزرگ و کمیاب پشتیبانی نمیکند.
- محدودیتهای مربوط به استفاده از R Services: از آنجا که SQL Server Express حافظه محدودی دارد، امکان استفاده از R Services به عنوان ابزار پردازش دادهها به صورت گسترده وجود ندارد.
- محدودیتها در مورد تعداد دیتابیسهای همزمان: SQL Server Express به تعداد محدودی از دیتابیسهای همزمان پشتیبانی میکند.
- عدم پشتیبانی از تولیدکنندههای Linked Server در SQL Server Express LocalDB: SQL Server Express LocalDB از تولیدکنندههای Linked Server پشتیبانی نمیکند.
- محدودیتها در مورد تعداد شبکههای متصل به یک دیتابیس: SQL Server Express به تعداد محدودی از شبکههای متصل به یک دیتابیس پشتیبانی میکند.
- عدم پشتیبانی از Always On Availability Groups در SQL Server Express LocalDB: این مورد در نسخههای LocalDB اعمال میشود.
- عدم پشتیبانی از توابع تکمیلی تصویری (Spatial Functions) در SQL Server Express LocalDB: SQL Server Express LocalDB از توابع تکمیلی تصویری برای پردازش دادههای مکانی پشتیبانی نمیکند.
- محدودیتهای اتصال به SQL Server Express LocalDB: SQL Server Express LocalDB ممکن است به دلیل محدودیتهای اتصال به آن برای تعداد بیشتری از کاربران مشکلساز باشد.
- عدم پشتیبانی از نسخهبندی Developer Edition: SQL Server Express از نسخهبندی Developer Edition برای توسعه و تست پروژهها پشتیبانی نمیکند.
- محدودیتهای در مورد استفاده از توابع رمزنگاری در SQL Server Express LocalDB: SQL Server Express LocalDB به توابع رمزنگاری پشتیبانی محدود دارد.
- عدم پشتیبانی از Extended Events: SQL Server Express از این ابزار برای رصد و زمینه نظارت بر دیتابیسها پشتیبانی نمیکند.
- محدودیتهای استفاده از In-Memory OLTP (Hekaton): نسخههای Express از استفاده از In-Memory OLTP برای بهبود عملکرد پایگاه دادهها پشتیبانی محدود دارند.
- عدم پشتیبانی از نسخهبندی LocalDB در مواردی از استفاده از دستورات دادهیابی: SQL Server Express LocalDB برای برخی دستورات دادهیابی به عنوان یک دستور محلی تلقی میشود و پشتیبانی نمیشود.
- عدم پشتیبانی از FileStream: SQL Server Express از FileStream برای ذخیره و مدیریت بزرگتر دادههای باینری پشتیبانی نمیکند.
- عدم پشتیبانی از نسخهبندی با معماری Itanium: SQL Server Express از نسخهبندی با معماری Itanium پشتیبانی نمیکند.
لطفاً توجه داشته باشید که ممکن است نسخههای جدیدتر از SQL Server Express محدودیتها و امکانات جدیدی داشته باشند. برای مطالعه دقیقتر و مقایسهی نسخهها، به منابع رسمی مایکروسافت مراجعه کنید. (منبع)