История Microsoft SQL Server начинается с первого продукта базы данных Microsoft SQL Server — SQL Server v1.0, 16-разрядной реляционной базы данных для операционной системы OS/2 , выпущенной в 1989 году.
12 июня 1988 года Microsoft объединилась с Ashton-Tate и Sybase для создания варианта Sybase SQL Server для IBM OS/2 (тогда разрабатывавшегося совместно с Microsoft), который был выпущен в следующем году. [1] Это была первая версия Microsoft SQL Server, и она послужила выходом Microsoft на рынок баз данных корпоративного уровня, конкурируя с Oracle , IBM, Informix, Ingres и позднее с Sybase. SQL Server 4.2 был поставлен в 1992 году в комплекте с OS/2 версии 1.3, за которым последовала версия 4.21 для Windows NT , выпущенная вместе с Windows NT 3.1. SQL Server 6.0 был первой версией, разработанной для NT, и не включал в себя никаких указаний от Sybase.
Примерно в то время, когда в июле 1993 года была выпущена Windows NT , пути Sybase и Microsoft разошлись, и каждая из них занялась собственным дизайном и маркетинговыми схемами. Microsoft договорилась об эксклюзивных правах на все версии SQL Server, написанные для операционных систем Microsoft. (В 1996 году Sybase изменила название своего продукта на Adaptive Server Enterprise, чтобы избежать путаницы с Microsoft SQL Server.) До 1994 года SQL Server от Microsoft имел три уведомления об авторских правах Sybase, указывающих на его происхождение.
SQL Server 7.0 был существенно переписан (с использованием C++) старого движка Sybase, который был написан на C. Страницы данных были увеличены с 2 до 8 Кбайт. Экстенты, таким образом, выросли с 16 до 64 Кбайт. Было введено планирование пользовательского режима (UMS) для обработки потоков SQL Server лучше, чем упреждающая многопоточность Windows, а также добавлена поддержка волокон (легких потоков, представленных в NT 4.0, которые используются для избежания переключения контекста [2] ). SQL Server 7.0 также представил многомерный продукт базы данных под названием SQL OLAP Services (который стал Analysis Services в SQL Server 2000). SQL Server 7.0 был последней версией, работающей на платформе DEC Alpha. Хотя существовали предварительные версии SQL 2000 (а также Windows 2000), скомпилированные для Alpha, они были отменены и никогда не выпускались в продажу. Основная поддержка закончилась 31 декабря 2005 года, а расширенная поддержка закончилась 11 января 2011 года.
SQL Server 2000 включал больше модификаций и расширений в кодовую базу Sybase, добавляя поддержку архитектуры IA-64 (теперь вышедшей из «основной» поддержки [3] ). К SQL Server 2005 устаревший код Sybase был полностью переписан. [4]
С момента выпуска SQL Server 2000 были достигнуты успехи в производительности, клиентских инструментах IDE и нескольких дополнительных системах, которые поставляются с SQL Server 2005. К ним относятся:
SQL Server 2000 также представил множество усовершенствований языка T-SQL, таких как табличные переменные, определяемые пользователем функции, индексированные представления, триггеры INSTEAD OF, каскадные ссылочные ограничения и некоторая базовая поддержка XML. [5] [6]
С выпуском Service Pack 3 компания Microsoft также выпустила первую 64-разрядную версию SQL Server для платформы Itanium IA-64 (не путать с платформой x86-64 ). В то время на Itanium были перенесены только реляционный движок SQL Server и SQL Agent. Клиентские инструменты, такие как SQL Server Management Studio, по-прежнему представляли собой 32-разрядные программы x86. Первым выпуском SQL IA-64 была версия 8.00.760 с датой сборки 6 февраля 2003 года.
Основная поддержка закончилась 8 апреля 2008 года, а расширенная поддержка закончилась 9 апреля 2013 года.
SQL Server 2005 (ранее под кодовым названием «Yukon») был выпущен в ноябре 2005 года, представив встроенную поддержку систем x64 и обновления для Reporting Services, Analysis Services и Integration Services. [7] . Он включал встроенную поддержку управления XML- данными, в дополнение к реляционным данным . Для этой цели он определил xml
тип данных , который можно было использовать либо как тип данных в столбцах базы данных, либо как литералы в запросах. XML-столбцы могут быть связаны со схемами XSD ; сохраняемые XML-данные проверяются по схеме. XML-данные запрашиваются с помощью XQuery ; SQL Server 2005 добавил некоторые расширения к языку T-SQL , чтобы разрешить встраивание запросов XQuery в T-SQL. Он также определяет новое расширение XQuery, называемое XML DML, которое позволяет вносить изменения в XML-данные на основе запросов. SQL Server 2005 также позволяет серверу базы данных быть представленным через веб-службы с помощью пакетов Tabular Data Stream (TDS), инкапсулированных в SOAP- запросы. При доступе к данным через веб-сервисы результаты возвращаются в формате XML. [8]
Интеграция Common Language Runtime (CLR) была введена в этой версии, что позволило писать код SQL как управляемый код CLR. Для реляционных данных T-SQL был дополнен функциями обработки ошибок (try/catch) и поддержкой рекурсивных запросов с CTE (Common Table Expressions). SQL Server 2005 также был улучшен новыми алгоритмами индексации, синтаксисом и улучшенными системами восстановления после ошибок. Страницы данных проходят контрольную сумму для лучшей устойчивости к ошибкам, а также была добавлена поддержка оптимистичного параллелизма для лучшей производительности. Разрешения и контроль доступа были сделаны более детализированными, а процессор запросов обрабатывает параллельное выполнение запросов более эффективно. Разделы таблиц и индексов поддерживаются изначально, поэтому масштабирование базы данных на кластер стало проще. SQL CLR был введен в SQL Server 2005, чтобы позволить ему интегрироваться с .NET Framework. [9]
В SQL Server 2005 представлены:
Пакет обновления 1 (SP1) был выпущен 18 апреля 2006 года, добавив Database Mirroring, опцию высокой доступности, которая обеспечивает избыточность и возможности отказоустойчивости на уровне базы данных [12] (Database Mirroring был включен в RTM-выпуск SQL Server 2005, но не был включен по умолчанию, а поддерживался в ознакомительных целях [ требуется ссылка ] ). Отказоустойчивость может быть ручной или автоматической; для автоматического отказа требуется партнер-свидетель и синхронный режим работы (также известный как высокая безопасность или полная безопасность). [13] Service Pack 2 был выпущен 19 февраля 2007 года, Service Pack 3 был выпущен 15 декабря 2008 года, а SQL Server 2005 Service Pack 4 был выпущен 13 декабря 2010 года.
Основная поддержка SQL Server 2005 закончилась 12 апреля 2011 года, а расширенная поддержка SQL Server 2005 закончилась 12 апреля 2016 года.
SQL Server 2008 (ранее под кодовым названием «Katmai») [14] [15] был выпущен 6 августа 2008 года, анонсирован для SQL Server Special Interest Group на конференции пользователей ESRI 2008 6 августа 2008 года Эдом Катибахом (менеджером пространственных программ в Microsoft) и нацелен на то, чтобы сделать управление данными самонастраивающимся , самоорганизующимся и самоподдерживающимся с развитием технологий SQL Server Always On , чтобы обеспечить почти нулевое время простоя. SQL Server 2008 также включает поддержку структурированных и полуструктурированных данных, включая цифровые медиаформаты для изображений, аудио, видео и других мультимедийных данных. В текущих версиях такие мультимедийные данные могут храниться как BLOB (двоичные большие объекты), но они являются общими битовыми потоками. Внутренняя осведомленность о мультимедийных данных позволит выполнять над ними специализированные функции. По словам Пола Флесснера, старшего вице-президента по серверным приложениям в Microsoft, SQL Server 2008 может быть серверной частью хранилища данных для различных видов данных: XML, электронная почта, время/календарь, файлы, документы, пространственные данные и т. д. , а также выполнять поиск, запросы, анализ, совместное использование и синхронизацию по всем типам данных. [15]
Другие новые типы данных включают специализированные типы даты и времени и пространственный тип данных для данных, зависящих от местоположения. [16] Лучшая поддержка неструктурированных и полуструктурированных данных обеспечивается с помощью нового типа данных FILESTREAM [17] , который может использоваться для ссылки на любой файл, хранящийся в файловой системе. [18] Структурированные данные и метаданные о файле хранятся в базе данных SQL Server, тогда как неструктурированный компонент хранится в файловой системе. К таким файлам можно получить доступ как через API обработки файлов Win32 , так и через SQL Server с использованием T-SQL ; последний вариант обращается к данным файла как к BLOB. Резервное копирование и восстановление базы данных также создает резервные копии или восстанавливает указанные файлы. [19] SQL Server 2008 также изначально поддерживает иерархические данные и включает конструкции T-SQL для прямой работы с ними без использования рекурсивных запросов. [19]
Функциональность полнотекстового поиска интегрирована с движком базы данных. Согласно технической статье Microsoft, это упрощает управление и повышает производительность. [20]
Пространственные данные будут храниться в двух типах. Тип данных «Плоская Земля» (GEOMETRY или планарный) представляет геопространственные данные, которые были спроецированы из своей родной сферической системы координат на плоскость. Тип данных «Круглая Земля» (GEOGRAPHY) использует эллипсоидальную модель, в которой Земля определяется как единая непрерывная сущность, не страдающая от особенностей, таких как международная линия перемены дат, полюса или «края» зоны проекции карты. Для Open Geospatial Consortium Simple Features for SQL версии 1.1 доступно около 70 методов представления пространственных операций. [21]
SQL Server включает улучшенные функции сжатия, что также помогает улучшить масштабируемость. [22] Он улучшил алгоритмы индексации и ввел понятие фильтрованных индексов. Он также включает Resource Governor , который позволяет резервировать ресурсы для определенных пользователей или рабочих процессов. Он также включает возможности прозрачного шифрования данных (TDE), а также сжатия резервных копий. [17] SQL Server 2008 поддерживает ADO.NET Entity Framework , а инструменты отчетности, репликация и определение данных будут построены вокруг Entity Data Model . [23] SQL Server Reporting Services получат возможности построения диаграмм благодаря интеграции продуктов визуализации данных от Dundas Data Visualization, Inc. , которая была приобретена Microsoft. [24] С точки зрения управления SQL Server 2008 включает Declarative Management Framework , которая позволяет декларативно настраивать политики и ограничения для всей базы данных или определенных таблиц. [16] Версия SQL Server Management Studio , входящая в состав SQL Server 2008, поддерживает IntelliSense для SQL-запросов к SQL Server 2008 Database Engine. [25] SQL Server 2008 также делает базы данных доступными через поставщиков Windows PowerShell , а функциональные возможности управления — в виде командлетов , так что сервером и всеми запущенными экземплярами можно управлять из Windows PowerShell . [26]
Последний пакет обновлений SQL Server 2008 (10.00.6000, Service Pack 4) был выпущен 30 сентября 2014 года. [27]
SQL Server 2008 имел основную поддержку до 8 июля 2014 года и расширенную поддержку до 9 июля 2019 года. [28] Выпуски SQL Server 2008 с корпоративной лицензией Standard, Web, Enterprise, Workgroup и Datacenter имеют право на программу расширенных обновлений безопасности. [29] Первый срок ежегодной выплаты закончился 14 июля 2020 года, второй срок закончился 13 июля 2021 года, а третий срок закончился 12 июля 2022 года. [30] [31] Выпуски с корпоративной лицензией, повторно размещенные на Microsoft Azure, автоматически получили ESU до 11 июля 2023 года. [32] [33] [34] [35]
SQL Server 2008 R2 (10.50.1600.1, ранее известный под кодовым названием «Kilimanjaro») был анонсирован на конференции TechEd 2009 и запущен в производство 21 апреля 2010 года. [36] SQL Server 2008 R2 представил несколько новых функций и служб [37] :
Пакет обновлений 1 (10.50.2500) был выпущен 11 июля 2011 года [40] , пакет обновлений 2 (10.50.4000) был выпущен 26 июля 2012 года [41] , а последний пакет обновлений, пакет обновлений 3 (10.50.6000), был выпущен 26 сентября 2014 года. [42]
SQL Server 2008 R2 — последняя версия SQL Server, работающая на системах Itanium (IA-64), при этом расширенная поддержка SQL Server на Itanium будет продолжаться до 2018 года. [43]
SQL Server 2008 R2 имел основную поддержку до 8 июля 2014 года и расширенную поддержку до 9 июля 2019 года. [44] Выпуски SQL Server 2008 R2 с корпоративной лицензией Standard, Enterprise, Datacenter и Embedded имеют право на программу расширенных обновлений безопасности. [29] Первый срок ежегодной выплаты закончился 14 июля 2020 года, второй срок закончился 13 июля 2021 года, а третий срок закончился 12 июля 2022 года. [30] [31] Выпуски с корпоративной лицензией, повторно размещенные на Microsoft Azure, автоматически получили ESU до 11 июля 2023 года. [32]
На саммите Professional Association for SQL Server (PASS) 2011 года 11 октября Microsoft анонсировала еще одну основную версию SQL Server, SQL Server 2012 (кодовое название «Denali»). Финальная версия была выпущена в производство 6 марта 2012 года. [45] SQL Server 2012 Service Pack 1 был выпущен в производство 7 ноября 2012 года, Service Pack 2 был выпущен в производство 10 июня 2014 года, Service Pack 3 был выпущен в производство 1 декабря 2015 года, а Service Pack 4 был выпущен в производство 5 октября 2017 года.
Было объявлено, что это последняя версия, изначально поддерживающая OLE DB , и вместо этого предпочитающая ODBC для собственного подключения. [46]
Новые функции и усовершенствования SQL Server 2012 включают Always On SQL Server Failover Cluster Instances и Availability Groups, которые предоставляют набор опций для улучшения доступности базы данных, [47] Contained Databases, которые упрощают перемещение баз данных между экземплярами, новые и измененные Dynamic Management Views и Functions, [48] улучшения программируемости, включая новые пространственные функции, [49] обнаружение метаданных, объекты последовательности и оператор THROW, [50] улучшения производительности, такие как ColumnStore Indexes, а также улучшения в OnLine и операциях на уровне разделов и улучшения безопасности, включая подготовку во время настройки, новые разрешения, улучшенное управление ролями и назначение схемы по умолчанию для групп. [51] [52]
SQL Server 2012 имел основную поддержку до 11 июля 2017 года и расширенную поддержку до 12 июля 2022 года. [53] [32] Все корпоративные выпуски SQL Server 2012 имеют право на программу расширенных обновлений безопасности. [29] Первый срок ежегодной выплаты закончился 11 июля 2023 года, второй срок закончился в 2024 году, а третий и последний срок закончится 8 июля 2025 года. [33] [31] Эти корпоративные выпуски, повторно размещенные на Microsoft Azure, автоматически получают ESU до 8 июля 2025 года. [35] [34]
SQL Server 2014 был выпущен в производство 18 марта 2014 года и выпущен для широкой публики 1 апреля 2014 года, а номер сборки был 12.0.2000.8 на момент выпуска. [54] До ноября 2013 года существовало две ревизии CTP, CTP1 и CTP2. [55] SQL Server 2014 предоставляет новую возможность in-memory для таблиц, которые могут полностью поместиться в памяти (также известную как Hekaton ). Хотя небольшие таблицы могут полностью находиться в памяти во всех версиях SQL Server, они также могут находиться на диске, поэтому работа заключается в резервировании RAM , записи вытесненных страниц на диск, загрузке новых страниц с диска, блокировке страниц в RAM во время работы с ними и многих других задачах. Рассматривая таблицу как гарантированно полностью находящуюся в памяти, можно избежать многих «монтажных» операций с базами данных на основе дисков. [56]
Для дисковых приложений SQL Server он также предоставляет расширение SSD Buffer Pool Extension, которое может повысить производительность за счет кэширования между оперативной памятью и вращающимся носителем.
SQL Server 2014 также улучшает решение Always On (HADR) за счет увеличения количества считываемых вторичных серверов и поддержания операций чтения при отключениях вторичных и первичных серверов, а также предоставляет новые гибридные решения для аварийного восстановления и резервного копирования с Microsoft Azure, позволяя клиентам использовать имеющиеся навыки работы с локальной версией SQL Server, чтобы воспользоваться преимуществами глобальных центров обработки данных Microsoft. Кроме того, он использует преимущества новых возможностей Windows Server 2012 и Windows Server 2012 R2 для масштабируемости приложений баз данных в физической или виртуальной среде.
Microsoft предоставляет три версии SQL Server 2014 для загрузки: ту, которая работает на Microsoft Azure , SQL Server 2014 CAB и SQL Server 2014 ISO. [57]
SQL Server 2014 SP1, состоящий в основном из исправлений ошибок, был выпущен 15 мая 2015 года. [58]
SQL Server 2014 — последняя версия, доступная для систем x86/IA-32 [59] , и последняя версия, поддерживаемая Windows Server 2008 R2 [60] .
SQL Server 2014 имел основную поддержку до 9 июля 2019 года и расширенную поддержку до 9 июля 2024 года. [61] Все корпоративные выпуски SQL Server 2014 имеют право на программу расширенных обновлений безопасности. [29] [62] Первый срок ежегодной выплаты закончится 8 июля 2025 года, второй срок закончится 14 июля 2026 года, а третий и последний срок закончится 12 июля 2027 года. [31] Корпоративные выпуски, повторно размещенные в Microsoft Azure, автоматически получают ESU до 12 июля 2027 года.
Официальной датой выпуска общедоступной версии (GA) для SQL Server 2016 (13.0.1601.5) было 1 июня 2016 года, причем SQL Server 2016 был первой версией, поддерживающей только процессоры x64 [59] и последней, имеющей механизм обновления Service Packs. Service Pack 1 был выпущен 16 ноября 2016 года, Service Pack 2 (13.2.5026) был выпущен 24 апреля 2018 года, а Service Pack 3 был выпущен 15 сентября 2021 года.
Microsoft выпустила SQL Server 2017 2 октября 2017 года вместе с поддержкой Linux . [63] [64] Это последний выпуск, поддерживающий Windows Server 2012 и 2012 R2 [65] [66] .
Microsoft выпустила SQL Server 2019 (15.x) 4 ноября 2019 года. SQL Server 2019 представляет кластеры больших данных для SQL Server. Он также предоставляет дополнительные возможности и улучшения для ядра базы данных SQL Server, служб анализа SQL Server, служб машинного обучения SQL Server, SQL Server на Linux и служб основных данных SQL Server. [67]
Microsoft запустила SQL Server 2022 16 ноября 2022 года. [68] [ ненадежный источник? ] Однако клиенты, приобретающие через OEM и лицензионное соглашение с поставщиком услуг (SPLA), должны были приобрести SQL Server 2022 с января 2023 года. [69]
компания выпустила первый релиз-кандидат SQL Server 2017, который станет первой версией, работающей на Windows, Linux и в контейнерах Docker. Только контейнер Docker уже увидел более 1 миллиона запросов, поэтому нет никаких сомнений в большом интересе к этой новой версии.