History of Microsoft SQL Server

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The history of Microsoft SQL Server begins with the first Microsoft SQL Server product - SQL Server 1.0, a 16-bit server for the OS/2 operating system in 1989 - and extends to the current day.

Release summary[edit]

SQL Server release history
Version Year Release name Code name Internal database version
Old version, no longer supported: 1.0 (OS/2) 1989 SQL Server 1.0 (16-bit) Filipi -
Old version, no longer supported: 1.1 (OS/2) 1991 SQL Server 1.1 (16-bit) Pietro -
Old version, no longer supported: 4.2A (OS/2) 1992 SQL Server 4.2A (16-bit) - -
Old version, no longer supported: 4.2B (OS/2) 1993 SQL Server 4.2B (16-bit) - -
Old version, no longer supported: 4.21a (WinNT) 1993 SQL Server 4.21a SQLNT -
Old version, no longer supported: 6.0 1995 SQL Server 6.0 SQL95 -
Old version, no longer supported: 6.5 1996 SQL Server 6.5 Hydra 408
Old version, no longer supported: 7.0 1998 SQL Server 7.0 Sphinx 515
Old version, no longer supported: - 1999 SQL Server 7.0 OLAP Tools Palato mania -
Old version, no longer supported: 8.0 2000 SQL Server 2000 Shiloh 539
Old version, no longer supported: 8.0 2003 SQL Server 2000 64-bit Edition Liberty 539
Old version, no longer supported: 9.0 2005 SQL Server 2005 Yukon 611/612
Older version, yet still supported: 10.0 2008 SQL Server 2008 Katmai 655
Old version, no longer supported: 10.25 2010 Azure SQL database (initial release) Cloud database or CloudDB
Older version, yet still supported: 10.50 2010 SQL Server 2008 R2 Kilimanjaro (aka KJ) 661
Older version, yet still supported: 11.0 2012 SQL Server 2012 Denali 706
Older version, yet still supported: 12.0 2014 SQL Server 2014 Hekaton 782
Older version, yet still supported: 13.0 2016 SQL Server 2016 - 852
Current stable version: 14.0 2017 SQL Server 2017 - 869
Legend:
Old version
Older version, still supported
Latest version
Latest preview version
Future release

Detailed history[edit]

Genesis[edit]

On June 12th 1988, Microsoft joined Ashton-Tate and Sybase to create a variant of Sybase SQL Server for IBM OS/2 (then developed jointly with Microsoft), which was released the following year.[1] This was the first version of Microsoft SQL Server, and served as Microsoft's entry to the enterprise-level database market, competing against Oracle, IBM, and later, Sybase. SQL Server 4.2 was shipped in 1992, bundled with OS/2 version 1.3, followed by version 4.21 for Windows NT, released alongside Windows NT 3.1. SQL Server 6.0 was the first version designed for NT, and did not include any direction from Sybase.

About the time Windows NT was released in July 1993, Sybase and Microsoft parted ways and each pursued its own design and marketing schemes. Microsoft negotiated exclusive rights to all versions of SQL Server written for Microsoft operating systems. (In 1996 Sybase changed the name of its product to Adaptive Server Enterprise to avoid confusion with Microsoft SQL Server.) Until 1994, Microsoft's SQL Server carried three Sybase copyright notices as an indication of its origin.

SQL Server 7.0[edit]

SQL Server 7.0 Splash Screen

SQL Server 7.0 was a major rewrite (C++) of the older Sybase engine, which was coded in C. Data pages were enlarged from 2k bytes to 8k bytes. Extents thereby grew from 16k bytes to 64k bytes. User Mode Scheduling (UMS) was introduced to handle SQL Server threads better than Windows preemptive multi-threading, also adding support for fibers (lightweight threads, introduced in NT 4.0, which are used to avoid context switching[2]). SQL Server 7.0 also introduced a multi-dimensional database product called SQL OLAP Services (which became Analysis Services in SQL Server 2000). SQL Server 7.0 would be the last version to run on the DEC Alpha platform. Although there were pre-release versions of SQL 2000 (as well as Windows 2000) compiled for Alpha, these were canceled and were never commercially released.

SQL Server 2000[edit]

SQL Server 2000 included more modifications and extensions to the Sybase code base, adding support for the IA-64 architecture (now out of "mainstream" support[3]). By SQL Server 2005 the legacy Sybase code had been completely rewritten.[4]

Since the release of SQL Server 2000, advances have been made in performance, the client IDE tools, and several complementary systems that are packaged with SQL Server 2005. These include:

SQL Server 2000 also introduced many T-SQL language enhancements, such as table variables, user-defined functions, indexed views, INSTEAD OF triggers, cascading referential constraints and some basic XML support.[5][6]

With the release of Service Pack 3, Microsoft also released the first 64-bit version of the SQL Server for the Itanium IA-64 platform. (not to be confused with the x86-64 platform) Only the SQL Server relational engine and SQL Agent were ported to Itanium at this time. Client tools, such as Enterprise Manager, would still need to be run from 32-bit x86 clients. The first release of SQL IA-64 was version 8.00.760, with a build date of February 6, 2003.

SQL Server 2005[edit]

SQL Server 2005 (formerly codenamed "Yukon") released in November 2005. It included native support for managing XML data, in addition to relational data. For this purpose, it defined an xml data type that could be used either as a data type in database columns or as literals in queries. XML columns can be associated with XSD schemas; XML data being stored is verified against the schema. XML is converted to an internal binary data type before being stored in the database. Specialized indexing methods were made available for XML data. XML data is queried using XQuery; SQL Server 2005 added some extensions to the T-SQL language to allow embedding XQuery queries in T-SQL. In addition, it also defines a new extension to XQuery, called XML DML, that allows query-based modifications to XML data. SQL Server 2005 also allows a database server to be exposed over web services using Tabular Data Stream (TDS) packets encapsulated within SOAP (protocol) requests. When the data is accessed over web services, results are returned as XML.[7]

Common Language Runtime (CLR) integration was introduced with this version, enabling one to write SQL code as Managed Code by the CLR. For relational data, T-SQL has been augmented with error handling features (try/catch) and support for recursive queries with CTEs (Common Table Expressions). SQL Server 2005 has also been enhanced with new indexing algorithms, syntax and better error recovery systems. Data pages are checksummed for better error resiliency, and optimistic concurrency support has been added for better performance. Permissions and access control have been made more granular and the query processor handles concurrent execution of queries in a more efficient way. Partitions on tables and indexes are supported natively, so scaling out a database onto a cluster is easier. SQL CLR was introduced with SQL Server 2005 to let it integrate with the .NET Framework.[8]

SQL Server 2005 introduced Multi-Version Concurrency Control (MVCC). User facing features include new transaction isolation level called SNAPSHOT and a variation of the READ COMMITTED isolation level based on statement-level data snapshots.

SQL Server 2005 introduced "MARS" (Multiple Active Results Sets), a method of allowing usage of database connections for multiple purposes.[9]

SQL Server 2005 introduced DMVs (Dynamic Management Views), which are specialized views and functions that return server state information that can be used to monitor the health of a server instance, diagnose problems, and tune performance.[10]

SQL Server 2005 was the first version with native support for the x64 platform.[11]

Service Pack 1 (SP1) of SQL Server 2005 introduced Database Mirroring, a high availability option that provides redundancy and failover capabilities at the database level.[12] Failover can be performed manually or can be configured for automatic failover. Automatic failover requires a witness partner and an operating mode of synchronous (also known as high-safety or full safety).[13] Database Mirroring was included in the first release of SQL Server 2005 for evaluation purposes only. Prior to SP1, it was not enabled by default, and was not supported by Microsoft.[citation needed]

Extended support for SQL Server 2005 ended on April 12, 2016.

SQL Server 2008[edit]

SQL Server 2008 (formerly codenamed "Katmai")[14][15] was released on August 6, 2008, announced to the SQL Server Special Interest Group at the ESRI 2008 User's Conference on August 6, 2008 by Ed Katibah (Spatial Program Manager at Microsoft), and aims to make data management self-tuning, self organizing, and self maintaining with the development of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 also includes support for structured and semi-structured data, including digital media formats for pictures, audio, video and other multimedia data. In current versions, such multimedia data can be stored as BLOBs (binary large objects), but they are generic bitstreams. Intrinsic awareness of multimedia data will allow specialized functions to be performed on them. According to Paul Flessner, senior Vice President of Server Applications at Microsoft, SQL Server 2008 can be a data storage backend for different varieties of data: XML, email, time/calendar, file, document, spatial, etc. as well as perform search, query, analysis, sharing, and synchronization across all data types.[15]

Other new data types include specialized date and time types and a Spatial data type for location-dependent data.[16] Better support for unstructured and semi-structured data is provided using the new FILESTREAM[17] data type, which can be used to reference any file stored on the file system.[18] Structured data and metadata about the file is stored in SQL Server database, whereas the unstructured component is stored in the file system. Such files can be accessed both via Win32 file handling APIs as well as via SQL Server using T-SQL; doing the latter accesses the file data as a BLOB. Backing up and restoring the database backs up or restores the referenced files as well.[19] SQL Server 2008 also natively supports hierarchical data, and includes T-SQL constructs to directly deal with them, without using recursive queries.[19]

The full-text search functionality has been integrated with the database engine. According to a Microsoft technical article, this simplifies management and improves performance.[20]

Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar) data type represents geospatial data which has been projected from its native, spherical, coordinate system into a plane. A "Round Earth" data type (GEOGRAPHY) uses an ellipsoidal model in which the Earth is defined as a single continuous entity which does not suffer from the singularities such as the international dateline, poles, or map projection zone "edges". Approximately 70 methods are available to represent spatial operations for the Open Geospatial Consortium Simple Features for SQL, Version 1.1.[21]

SQL Server includes better compression features, which also helps in improving scalability.[22] It enhanced the indexing algorithms and introduced the notion of filtered indexes. It also includes Resource Governor that allows reserving resources for certain users or workflows. It also includes capabilities for transparent encryption of data (TDE) as well as compression of backups.[17] SQL Server 2008 supports the ADO.NET Entity Framework and the reporting tools, replication, and data definition will be built around the Entity Data Model.[23] SQL Server Reporting Services will gain charting capabilities from the integration of the data visualization products from Dundas Data Visualization, Inc., which was acquired by Microsoft.[24] On the management side, SQL Server 2008 includes the Declarative Management Framework which allows configuring policies and constraints, on the entire database or certain tables, declaratively.[16] The version of SQL Server Management Studio included with SQL Server 2008 supports IntelliSense for SQL queries against a SQL Server 2008 Database Engine.[25] SQL Server 2008 also makes the databases available via Windows PowerShell providers and management functionality available as Cmdlets, so that the server and all the running instances can be managed from Windows PowerShell.[26]

The final SQL Server 2008 service pack (10.00.6000, Service Pack 4) was released on September 30, 2014.[27]

SQL Server 2008 R2[edit]

SQL Server 2008 R2 (10.50.1600.1, formerly codenamed "Kilimanjaro") was announced at TechEd 2009, and was released to manufacturing on April 21, 2010.[28] SQL Server 2008 R2 adds certain features to SQL Server 2008 including a master data management system branded as Master Data Services, a central management of master data entities and hierarchies. Also Multi Server Management, a centralized console to manage multiple SQL Server 2008 instances and services including relational databases, Reporting Services, Analysis Services & Integration Services.[29]

SQL Server 2008 R2 includes a number of new services,[30] including PowerPivot for Excel and SharePoint, Master Data Services, StreamInsight, Report Builder 3.0, Reporting Services Add-in for SharePoint, a Data-tier function in Visual Studio that enables packaging of tiered databases as part of an application, and a SQL Server Utility named UC (Utility Control Point), part of AMSM (Application and Multi-Server Management) that is used to manage multiple SQL Servers.[31]

The first SQL Server 2008 R2 service pack (10.50.2500, Service Pack 1) was released on July 11, 2011.[32]

The second SQL Server 2008 R2 service pack (10.50.4000, Service Pack 2) was released on July 26, 2012.[33]

The final SQL Server 2008 R2 service pack (10.50.6000, Service Pack 3) was released on September 26, 2014.[34]

SQL 2008 R2 would be the last version of SQL Server to run on the Itanium (IA-64) platform. However, the x64 platform would continue on in force.

SQL Server 2012[edit]

At the 2011 Professional Association for SQL Server (PASS) summit on October 11, Microsoft announced that the next major version of SQL Server (codenamed "Denali"), would be SQL Server 2012. It was released to manufacturing on March 6, 2012.[35] SQL Server 2012 Service Pack 1 was released to manufacturing on November 9, 2012, and Service Pack 2 was released to manufacturing on June 10, 2014.

It was announced to be the last version to natively support OLE DB and instead to prefer ODBC for native connectivity.[36]

SQL Server 2012's new features and enhancements include Always On SQL Server Failover Cluster Instances and Availability Groups which provides a set of options to improve database availability,[37] Contained Databases which simplify the moving of databases between instances, new and modified Dynamic Management Views and Functions,[38] programmability enhancements including new spatial features,[39] metadata discovery, sequence objects and the THROW statement,[40] performance enhancements such as ColumnStore Indexes as well as improvements to OnLine and partition level operations and security enhancements including provisioning during setup, new permissions, improved role management, and default schema assignment for groups.[41][42]

SQL Server 2014[edit]

SQL Server 2014 was released to manufacturing on March 18, 2014, and released to the general public on April 1, 2014 and the build number was 12.0.2000.8 at release.[43] Until November 2013 there were two CTP revisions, CTP1 and CTP2.[44] SQL Server 2014 provides a new in-memory capability for tables that can fit entirely in memory (also known as Hekaton). Whilst small tables may be entirely resident in memory in all versions of SQL Server, they also may reside on disk, so work is involved in reserving RAM, writing evicted pages to disk, loading new pages from disk, locking the pages in RAM while they are being operated on, and many other tasks. By treating a table as guaranteed to be entirely resident in memory much of the 'plumbing' of disk-based databases can be avoided.[45]

For disk-based SQL Server applications, it also provides the SSD Buffer Pool Extension, which can improve performance by cache between RAM and spinning media.

SQL Server 2014 also enhances the Always On (HADR) solution by increasing the readable secondaries count and sustaining read operations upon secondary-primary disconnections, and it provides new hybrid disaster recovery and backup solutions with Microsoft Azure, enabling customers to use existing skills with the on-premises version of SQL Server to take advantage of Microsoft's global datacenters. In addition, it takes advantage of new Windows Server 2012 and Windows Server 2012 R2 capabilities for database application scalability in a physical or virtual environment.

Microsoft provides three versions of SQL Server 2014 for downloading: the one that runs on Microsoft Azure, the SQL Server 2014 CAB, and SQL Server 2014 ISO.[46]

SQL Server 2014 SP1, consisting primarily of bugfixes, was released on May 15, 2015.[47]

SQL Server 2014 is the last version available on x86/IA32 architecture.[48]

SQL Server 2016[edit]

The official General Availability (GA) release date for SQL Server 2016 was June 1, 2016. The RTM version is 13.0.1601.5.

SQL Server 2016 is supported on x64 processors only. It is no longer supported on x86 processors.[48]

SQL Server 2017[edit]

Microsoft SQL Server 2017 is the most recent version available. Microsoft launched SQL Server 2017 on October 2nd, 2017 along with support for Linux.[49][50]

Processor Support[edit]

Processor support for SQL Server
Version x286 x386 x64 DEC Alpha MIPS PowerPC Itanium ARM SH4
SQL 1.0 Yes Yes No No No No No No No
SQL 1.1 Yes Yes No No No No No No No
SQL 4.2 Yes Yes No No No No No No No
SQL 4.21 No Yes No Yes Yes No No No No
SQL 6.0 No Yes No Yes Yes No No No No
SQL 6.5 No Yes No Yes Yes ends after SP2 No No No
SQL 7.0 No Yes No Yes No No No No No
SQL 2000 No Yes No pre-release only No No starts at SP3 No No
SQL 2000 CE No Yes Yes No Yes No No Yes Yes
SQL 2005 No Yes Yes No No No Yes No No
SQL 2005 CE No Yes Yes No Yes No No Yes Yes
SQL 2008 No Yes Yes No No No Yes No No
SQL 2008 R2 No Yes Yes No No No Yes No No
SQL 2012 No Yes Yes No No No No No No
SQL 2014 No Yes Yes No No No No No No
SQL 2016+ No No Yes No No No No No No

References[edit]

  1. ^ Harris, Scott; Curtis Preston (2007). Backup & Recovery: Inexpensive Backup Solutions for Open Systems. O'Reilly. p. 562. ISBN 0596102461.
  2. ^ https://technet.microsoft.com/en-us/library/aa175393%28v=sql.80%29.aspx
  3. ^ http://www.computerworld.com/article/2516742/computer-hardware/microsoft-ending-support-for-itanium.html
  4. ^ "All about the History of SQL Server". Scriptcase.net. August 14, 2013. Retrieved 2016-08-15.
  5. ^ http://www.informit.com/articles/article.aspx?p=25735
  6. ^ http://sqlmag.com/t-sql/sql-server-2000s-coolest-features
  7. ^ "Database Engine XML Enhancements". Retrieved 2007-12-03.
  8. ^ "Database Engine Enhancements". Retrieved 2007-12-03.
  9. ^ Multiple Active Result Sets (MARS) in SQL Server 2005. retrieved June 20, 2009
  10. ^ Dynamic Management Views and Functions. retrieved June 6, 2010
  11. ^ Don Jones. The Definitive Guide to Scaling Out SQL Server 2005 Edition. realtimepublishers.com.
  12. ^ "Issues to consider when you use the database mirroring feature in the initial release of SQL Server 2005". Support.microsoft.com. 2007-11-20. Retrieved 2011-09-04.
  13. ^ "Automatic Failover". Msdn.microsoft.com. Retrieved 2011-09-04.
  14. ^ "Microsoft SQL Server 2008". Retrieved 2007-04-06.
  15. ^ a b "ChannelWeb: Next SQL Server stop: Katmai". Archived from the original on 2007-03-22. Retrieved 2005-11-05.
  16. ^ a b "Microsoft Gives Peek At Next Version Of SQL Server". Retrieved 2007-05-11.
  17. ^ a b "One more test build to go for SQL Server 2008". Retrieved 2006-11-13.
  18. ^ "Guest Blogger: Ted Kummert". Retrieved 2007-11-20.
  19. ^ a b Christian Kleinerman. "SQL Server 2008 for developers". Channel 9. Retrieved 2008-03-07.
  20. ^ Fernando Azpeitia Lopez. "SQL Server 2008 Full-Text Search: Internals and Enhancements".
  21. ^ "Microsoft Shares Details on SQL Server 2008 Spatial Support by Directions Staff". Archived from the original on 2007-08-08. Retrieved 2007-09-07.
  22. ^ "Features of SQL 2008". Technet.microsoft.com. 2009-02-12. Retrieved 2011-09-04.
  23. ^ "SQL Server "Katmai" to Deliver Entity Data Platform and Support LINQ". Retrieved 2007-05-12.
  24. ^ "Microsoft Details Dynamic IT Strategy at Tech-Ed 2007". Retrieved 2007-06-04.
  25. ^ "SQL Server IntelliSense". Retrieved 2008-08-18.
  26. ^ "SQL Server Support for PowerShell!". Retrieved 2007-12-03.
  27. ^ "SQL Server 2008 Service Pack 4 has released". SQL Release Services Blog. Retrieved 2014-10-01.
  28. ^ "SQL Server 2008 R2 Launches!". Retrieved 2010-04-21.
  29. ^ SQL Server Team. "TechEd 2009 – New SQL Server Innovations". MSDN Blogs. Retrieved 2009-05-12.
  30. ^ "Review: Microsoft SQL Server 2008 R2". Networkworld.com. 2010-05-03. Retrieved 2013-06-15.
  31. ^ "SQL SQL Server 2008 R2 Application and Multi-Server Management". Retrieved 2010-06-06.
  32. ^ "Microsoft® SQL Server® 2008 R2 SP1". Retrieved 2011-09-19.
  33. ^ "Microsoft® SQL Server® 2008 R2 SP2". Retrieved 2012-07-31.
  34. ^ "SQL Server 2008 R2 Service Pack 3 has released". SQL Release Services Blog. Retrieved 2014-10-01.
  35. ^ "Microsoft Releases SQL Server 2012 to Help Customers Manage "Any Data, Any Size, Anywhere"". Microsoft News Center. Microsoft. March 6, 2012. Retrieved March 7, 2012.
  36. ^ Lam, Rohan. "Microsoft is Aligning with ODBC for Native Relational Data Access — FAQ". SQL Server Forums. Microsoft Corporation. Retrieved March 7, 2012.
  37. ^ "Availability Enhancements (Database Engine)". Msdn.microsoft.com. Retrieved 2013-06-15.
  38. ^ "Manageability Enhancements (Database Engine)". Msdn.microsoft.com. 2011-07-13. Retrieved 2013-06-15.
  39. ^ Alastair Aitchison (2012). Pro Spatial with SQL Server 2012. Apress. pp. 21–23. ISBN 978-1-4302-3491-3.
  40. ^ "Programmability Enhancements (Database Engine)". Msdn.microsoft.com. Retrieved 2013-06-15.
  41. ^ "Scalability and Performance Enhancements (Database Engine)". Msdn.microsoft.com. Retrieved 2013-06-15.
  42. ^ "Security Enhancements (Database Engine)". Msdn.microsoft.com. Retrieved 2013-06-15.
  43. ^ http://www.faceofit.com/list-of-sql-server-versions-build-numbers-and-service-packs
  44. ^ Anantharam, Deepthi (October 16, 2013). "SQL Server 2014 – CTP2 is now available". MSDN blogs. Retrieved 2016-08-15.
  45. ^ SQL Server 2012-2014-Explore. Server Cloud. Microsoft.com (2013-04-17). Retrieved on 2014-03-23
  46. ^ "Laden Sie die Testversion herunter: Microsoft SQL Server 2014" (in German). Microsoft. Retrieved 2014-11-05.
  47. ^ "SQL Server 2014 Service Pack 1 release information". Microsoft.com. Microsoft, Inc. Retrieved 17 May 2015.
  48. ^ a b "Requirements for Installing SQL Server 2016". msdn.microsoft.com. 2016-05-02. Retrieved 2016-07-28.
  49. ^ Lardinois, Frederic (2017-07-17). "How Microsoft brought SQL Server to Linux". TechCrunch. Oath Inc. Retrieved 2017-09-05. The company today launched the first release candidate of SQL Server 2017, which will be the first version to run on Windows, Linux and in Docker containers. The Docker container alone has already seen more than 1 million pulls, so there can be no doubt that there is a lot of interest in this new version.
  50. ^ https://blogs.technet.microsoft.com/dataplatforminsider/2017/10/02/sql-server-2017-on-windows-linux-and-docker-is-now-generally-available/

External links[edit]