Licensing SQL Server for Development and Test
[This report was edited after initial publication. See notes in italics below.]
Understanding the differences in how SQL Server is licensed for development and test compared to production environments can save money and limit risks associated with audit and compliance. Per-user, developer-specific licenses provide flexibility for development and test scenarios, from initial application design through end user testing and demonstration prior to deployment. Alternatively, volume licenses, cloud services, and free editions can reduce costs, but the applicability of those options depends on the customer scenario. In all cases, understanding and applying licensing rules will help customers avoid pitfalls.
Production and Nonproduction Licensed Differently
Customers must license every SQL Server in use, which generally means purchasing licenses for server installs and client access, but in some instances it simply means accepting terms and conditions. Microsoft offers separate nonproduction SQL Server licensing for development and test that are often less expensive than production licenses, although software prerequisites such as Windows Server require licensing whether for development or production.
There are three types of SQL Server licenses:
Developer-specific licenses are generally used for design, development, test, debugging, and demonstration purposes, and are for nonproduction use only. SQL Server use is often licensed this way for programmers, professional testers, technical writers, database professionals, and in some cases, IT administrators.
Evaluation licenses are used to assess software for potential business use, and can only be used in nonproduction environments. The primary sources for evaluation software include TechNet (a per-user subscription for IT professionals), downloads from the Microsoft public Web site (time-limited, often to 180 days), and volume license contracts that allow evaluation use of the software for up to 60 days. Generally, evaluation licenses are not used in development and test environments.
Production licenses are generally applied to software being used to run the business. A SQL Server environment is considered production when individuals, either inside or outside the organization, use SQL Server for any reason beyond development, evaluation and acceptance testing (meaning a review of the application before it is put into general use). Production use is also defined to be when the SQL Server environment connects to another production database, or provides backup or disaster-recovery to a production environment.
Licensing Each Developer
Developer-specific licenses for SQL Server are assigned on a per-user basis. Users can install and access an unlimited number of instances of SQL Server. Licensed users may share instances only with other users who are assigned the same type of developer-specific user license. Installations can be set up or taken down at any time and can be deployed on desktops, dedicated servers, shared servers, and even in cloud environments.
Licenses contain downgrade rights to previous versions of SQL Server, allowing developers and testers to install and use any number of instances of any current or prior version of the software to meet organizational standards or application-specific version requirements.
Because developer-specific licenses are per-user, any user accessing SQL Server instances that were installed using developer-specific licensed software requires a developer-specific license, even for administration purposes. The only exception to the license requirement is user acceptance testing.
Mixing production and nonproduction environments may cause compliance issues, especially if access controls are not in place to prohibit use outside of development and test. General compliance mitigation strategies includes using naming conventions for the SQL Server instances to signify development and test use, installing the software in a separate network segment or cloud environment, and requiring installs to be developer-specific editions.
SQL Server Developer Edition
The SQL Server Developer edition is an inexpensive, version-specific, perpetual license. The current offering is SQL Server 2012 Developer edition, and it is not available with Software Assurance (SA), a subscription offering that provides rights to new product versions and other benefits for an annual fee based on a percentage of the underlying license price. Licenses are available through the retail channel and through the Select and Open Volume License programs (but not Enterprise Agreements as they require SA). They cost US$37 per user at the U.S. Open No-Level price, which represents the highest fee a business customer in the United States would pay through a volume licensing program.
For demonstration purposes, licensed developers as well as unlicensed users (defined as those who have access to the company's internal network) can install and use SQL Server Developer edition software to demonstrate internally developed applications created by appropriately licensed developers.
[Dec. 22, 2014 note: Developer edition includes version downgrade rights, enabling customers to use an older version of Developer edition than the one they purchased. However, the product does not include down-edition rights, meaning customers cannot substitute a different edition of SQL Server in its place.]
The SQL Server Developer edition includes the same functionality included with SQL Server Enterprise edition, which is a superset of the Standard and Business Intelligence editions. Consequently, developers need to be cautious about using higher-level edition features if a lower-level edition will be used in production.
Microsoft Developer Network (MSDN) subscriptions are sold both individually and with Visual Studio and include rights to use software and some services relevant to SQL Server for development and test. With the exception of the MSDN Operating Systems offering, MSDN subscriptions include all SQL Server editions for development and test, and provide downgrade rights to use older versions of the software, helping customers avoid the issue of using higher-level features by accident as with the Developer edition. MSDN subscriptions can be acquired through retail and most volume license programs. The lowest-price MSDN subscription that includes SQL Server is Visual Studio Professional with MSDN, currently US$1,139 per user for two years (U.S. Open No-Level).
Generally, MSDN subscriptions are more advantageous than SQL Server Developer edition licenses because rights to use Windows Server and (in the higher editions) other products such as SharePoint, BizTalk, and Project Server for development and test are included, eliminating the need to purchase production licenses for software dependencies.
In June 2013, MSDN subscribers gained the benefit to deploy MSDN-licensed software, including SQL Server, for test and development onto Windows Azure Virtual Machines at no additional cost, though the virtual machines require separate licensing.
Choosing Which Development License to Use
MSDN subscription demonstration rights differ from SQL Server Developer edition. Only individuals licensed with MSDN may demonstrate an application using the MSDN software. In cases where non-subscribers are required to demonstrate the application, such as a business owner, sales person, or IT manager, customers may consider acquiring a single SQL Server Developer edition license or using evaluation software.
SQL Server Developer edition confers perpetual use rights for development and test purposes. MSDN offerings, despite being subscription-based licenses, also have perpetual use rights for software included, with the caveat that software downloads and the ability to secure, or claim, new product keys are only available while the subscription is active. Customers considering allowing an MSDN subscription to expire should claim product keys and download software that is likely to be reinstalled or otherwise required in the future.
A potentially confusing issue, and license compliance risk, is that the SQL Server Developer edition can refer to a license as well as software. MSDN subscriptions include the SQL Server Developer edition software, but it may only be used by MSDN subscribers. Individuals with a SQL Server Developer edition license, in contrast, may only use software media available through volume licensing, not MSDN. A customer cannot deploy SQL Server Developer edition software acquired from the MSDN subscriber Web site and then provide access to both MSDN subscribers and individuals licensed with the freestanding SQL Server Developer edition user license.
Alternatives to Developer-Specific Licensing
Customers may find that volume licenses, Windows Azure services, or free editions will suffice for certain scenarios in the development and test environment, and may cut down on costs. Extra planning is often required, however, to mitigate compliance risks and work with any limitations of the software.
For some customers, in certain scenarios, using SQL Server production licenses for development and test can be cost advantageous, although license prerequisites such as Windows Server remain.
Purchasing new production licenses may be less expensive than developer-specific licensing. For example, customers already licensed using the Server/CAL model for each client may only need to acquire one new server-side license for developers to use. Customers might also consider per-core licensing if costs are lower than buying MSDN subscriptions, or where mixing development and production environments would become burdensome to manage. Customers using SQL Server Enterprise edition core licenses with SA have unlimited virtualization rights and may have the additional capacity to support a development environment.
Windows Azure and other cloud-based services may also be attractive since they are usually based on a monthly subscription model with pricing determined by database size and services used. Using such services may be more cost effective than buying on-premises software or MSDN subscriptions. Additionally, MSDN subscriptions include Windows Azure credits of up to US$150 per month, discounted rates, and use of MSDN software at no additional charge (with the exception of Windows), although the per-user MSDN subscription limitations still apply. Customers may want to calculate spending break-even points between Windows Azure for production and the Windows Azure MSDN benefit, which is only for nonproduction, based on use case scenarios.
SQL Server Express is a free, technically limited edition of SQL Server for general database use. Some customers may want to start developing with SQL Server Express to see if it will suffice for a given application and move to fee-based editions only when requirements cannot be met using the free edition. Often used for small applications, hardware and software limitations need to be considered prior to development.
SQL Server Compact is a free, embedded edition of SQL Server for developers to use with websites and ASP.NET desktop applications. Developers can deploy applications using SQL Server Compact internally and with third-party website hosting providers. As an embedded database for applications, however, SQL Server Compact is not intended for general database use as with other editions.
The SQL Server 2012 licensing guide is at download.microsoft.com/download/7/3/C/73CAD4E0-D0B5-4BE5-AB49-D5B886A5AE00/SQL_Server_2012_Licensing_Reference_Guide.pdf.
SQL Server 2012 features by edition are detailed at msdn.microsoft.com/library/cc645993(v=SQL.110).aspx.
Visual Studio 2012 and MSDN Licensing White Paper can be downloaded from www.microsoft.com/download/details.aspx?id=13350.
SQL Server 2012 Evaluation software can be downloaded from www.microsoft.com/download/details.aspx?id=29066.
Microsoft Product Use Rights and Product List can be accessed starting at www.microsoft.com/licensing/about-licensing/product-licensing.aspx.
The Windows Azure benefit for MSDN subscribers is outlined at www.windowsazure.com/en-us/pricing/member-offers/msdn-benefits.