By: Daniel Farina || Related Tips:More > Database Administration
ProblemYou're asked to run a project that uses SQL Server as the database engine in your production environment with the least cost as possible. You know there are different editions of SQL Server, but how do you choose the right edition to make sure you have the needed features and keep the cost down.
SolutionDecisions are hard to make, especially if you don’t have relevant information. Sometimes the person that makes the decisions is not the person who knows the most. Let’s face it. We as database administrators don’t have the last word in the enterprise world. Not even regarding databases. The one with the last word is the one who signs the pay check, which in most cases is not the DBA.
Just to show you the picture, imagine yourself in a meeting with your company’s CFO explaining to him/her that you need the Enterprise edition of SQL Server. When your CTO asks about the price difference between the 2-pack of core licenses of SQL Server Enterprise $14,256 ($7,128 per core) and the Standard Edition which costs significantly less $3,717 ($1,859 per core) you must provide him with all the information in order to justify the $10,539 difference.
Editions of SQL ServerThere are five editions of SQL Server:
Express : This is the most basic of all SQL Server editions. It’s free to use in production, which makes it the best choice for independent software vendors, whose clients can’t afford the cost of a SQL Server license. Web : This edition is between the Standard and Express editions. It has features that Web hosting companies and Web VAPs can offer their customers to provide scalability, affordability, and manageability capabilities for small to large scale web properties. Standard : This edition enables database management with minimal IT resources. Enterprise : This is the most complete edition of all. With this edition you have unlimited virtualization and high service levels for mission critical workload. Developer : This edition has all the features of the Enterprise edition, but cannot be used in production environments.These editions differ on features and also the resources they can utilize based on resource caps that are part of the edition.
Reasons to use SQL Server Express Edition If your application runs fine when capped to the lesser of 1 socket or 4 cores. Your application needs less than 1410 MB of buffer pool and less than 352 MB of memory for both Columnstore segment cache per instance and memory-optimized data size per database. If your database won’t be greater than 10 GB.Recently I wrote the tip, Deciding to use SQL Server 2017 Express Edition that goes deeper into this matter and SQL Server Express Versions that will help you decide which version of SQL Server Express is right for you.
Reasons to use SQL Server Web Edition If your application runs fine when capped to the lesser of 4 socket or 16 cores. Your application needs less than 64 GB of buffer pool and less than 16 GB of memory for both Columnstore segment cache per instance and memory-optimized data size per database. You have the chance to use Log Shipping for high availability. Log Shipping allows you to automate the backup of transaction log files on a primary database server, and then restore them onto a standby server. You can read how to implement it in this tip: Step By Step SQL Server Log Shipping . Additionally, you can take a look at our SQL Server Log Shipping Tips Category . Minimum replica commit availability group that enables users to set the minimum number of replicas that are required to commit a transaction before committing on the primary. Availability groups are a part of Always On technology, which you can get more information in this tip: What is SQL Server AlwaysOn? Additionally, you can take a look at our SQL Server Availability Groups Tips Category . You are limited to one controller for Distributed Replay. The Distributed Replay feature is available to help you assess the impact of future SQL Server upgrades. You can also use it to help assess the impact of hardware and operating system upgrades, and SQL Server tuning. If you want to implement this technology you can take a look at these two tips: Configure SQL Server Distributed Replay feature and Using the SQL Server Distributed Replay feature . The SQL Server Agent service is available, so you can schedule maintenance tasks like re-indexing and backups and monitor its execution status. You can get more information about SQL Server Agent on this tip: Getting Started with SQL Server Agent - Part 1 . You will be able to use Microsoft System Center Operations Manager Management Pack to monitor and administer your SQL Server instance. Database Tuning Advisor (DTA) is available for optimizing queries. Take a look at Ray Barley’s tip SQL Server Database Engine Tuning Advisor for Performance Tuning . You can administer servers by using Policy-Based Management. If you are new to this, a look at this tip: Using Policy Based Management in SQL Server . Additionally, you can dig into our SQL Server Policy Based Management Tips Category . Performance data collector. This is a feature introduced in SQL Server 2008 which can be used by database administrators to gather performance related data using built-in data collectors. For more information please take a look at this tip: Performance Data Collection and Warehouse Feature of SQL Server 2008 Part 1 .