Microsoft SQL Server — система управління базами даних, яка розробляється корпорацією Microsoft. Як сервер даних виконує головну функцію по збереженню та наданню даних у відповідь на запити інших застосунків, які можуть виконуватися як на тому ж самому сервері, так і у мережі.
Мова, що використовується для запитів — Transact-SQL, створена спільно Microsoft та Sybase. Transact-SQL є реалізацією стандарту ANSI / ISO щодо структурованої мови запитів SQL із розширеннями. Використовується як для невеликих і середніх за розміром баз даних, так і для великих баз даних масштабу підприємства. Багато років вдало конкурує з іншими системами керування базами даних.
Базовий код MS SQL Server (до версії 7.0) ґрунтувався на коді Sybase SQL Server[en]. Це дозволило Microsoft вийти на ринок баз даних для підприємств, де конкурували Oracle, IBM, і, пізніше, сама Sybase. Microsoft, Sybase і Ashton-Tate[en] спочатку об'єдналися для створення і випуску на ринок першої версії програми, що отримала назву SQL Server 1.0 для OS/2 (близько 1989 року), яка фактично була еквівалентом Sybase SQL Server 3.0 для Unix, VMS та ін. Microsoft SQL Server 4.2 був випущений у 1992 році та входив до складу операційної системи Microsoft OS/2 версії 1.3. Офіційний реліз Microsoft SQL Server версії 4.21 для ОС Windows NT відбувся одночасно з релізом самої Windows NT (версії 3.1). Microsoft SQL Server 6.0 був першою версією SQL Server, створеною виключно для архітектури NT і без участі в процесі розробки Sybase.
До того часу, як вийшла на ринок ОС Windows NT, Sybase і Microsoft розійшлися та створювали вже власні моделі цього програмного продукту. Microsoft намагалася отримати виняткові права на всі версії SQL Server для Windows. Пізніше Sybase змінила назву свого продукту на Adaptive Server Enterprise[en] щоб уникнути плутанини з Microsoft SQL Server. До 1994 року Microsoft отримала від Sybase три повідомлення про авторські права як натяк на походження Microsoft SQL Server.
Після розділення компанії зробили декілька самостійних релізів програм. SQL Server 7.0 був першим сервером баз даних зі справжнім графічним інтерфейсом адміністрування. Для усунення претензій з боку Sybase у порушенні авторських прав, весь успадкований код в сьомій версії був переписаний. Це забезпечило також й успіх SQL Server 2000, який був першою редакцією, орієнтованою на архітектуру IA-64.
Протягом подальших шести років корпорація Microsoft працювала над вдосконаленням вже існуючої версії SQL Server 2000 доки не збудувала зручнішу систему Microsoft SQL Server 2005. Були вдосконалені продуктивність, кліентські інструменти інтегрованого середовища розробки, а також у декількох додаткових системах, що встановлюються разом із SQL Server 2005. Змінено: інструментарій процесів керування сховищами даних (SQL Server Integration Services або SSIS), сервер звітів, сервер OLAP та інтелекутального аналізу даних (Analysis Services[en]), а також декілька технологій повідомлень, особливо Service Broker та Notification Services.
SQL Server 2005, випущений в листопаді 2005, є наступником SQL Server 2000. На додаток до системи керування реляційними базами даними включає також систему керування даними XML. Для цього було визначено тип даних xml, який може використовуватись або як тип даних у стовпцях таблиць бази дани, або як літерал у запитах. XML-стовпці можуть бути асоційовані з схемами XSD (збережені дані XML перевіряються схемами). Перед збереженням у базі даних XML перетворюється на двійковий тип даних. Були розроблені спеціальні індексуючі методи для даних XML. Дані XML запитуються з використнням XQuery (до SQL Server 2005 доданий деякі розширення до мови T-SQL, що дозволяють вкладення запитів XQuery до T-SQL). Крім того, були визначені нові розширення XQuery, названі XML DML, які дозволяють робити з даними XML модифікації на основі запитів. SQL Server 2005 також дозволяє серверу бази даних бути оприлюдненим через вебсервіси з використанням пакетів TDS, що приховані у запитах SOAP. Коли дані доступні вебсервіси, результати повертаються як XML.[1]
Стосовно реляційних даних, до T-SQL були додані властивості керування помилками та підтримка рекурсивних запитів. SQL Server 2005 також включає нові алгоритми індексування та покращену систему відновлення після помилок. Сторінки даних стали містити контрольну суму для кращого відновлення після помилок, також була додана підтримка оптимістичного паралелізму. Контроль дозволів і доступу був зроблений детальнішим, а процесор запитів став керувати паралельним виконанням запитів у ефективніший спосіб. Природно, підтримується поділ на таблиці та індекси, тому масштабування бази даних на кластери відбувається легше. До SQL Server 2005 було введене CLR SQL, що дозволило йому об'єднатися з .NET Framework.[2]
12 квітня 2016 року Misrosoft припинив офіційну підтримку SQL Server 2005[3].
SQL Server 2008
Наступна версія SQL Server—SQL Server 2008,[4] кодова назва «Katmai» була представлена 6 серпня 2008 року[5]. Мета випуску SQL Server 2008—зробити керування даними самоналаштовуваним, самоорганізованим та самопідтримуваним. SQL Server 2008 також включає підтримку структурованих і напівструктурованих даних, у тому числі цифрові медіа-формати для зображень, звуків, відео й інших мультимедійних даних. Ключовим нововведенням SQL Server 2008 є розвинені засоби управління ресурсами (resource governor), що дозволяють ефективно управляти і розподіляти робоче навантаження за допомогою відстежування рівня завантаження процесора і обсягу пам'яті, що займають працюючі застосунки. Microsoft виділяє засоби управління на основі політик, розширені можливості з складання звітів і проведенню аналізу, а також розвинені засоби управління інтелектуальними ресурсами підприємства. У продукті з'явилася повноцінна підтримка неструктурованих даних і покращена система шифрування інформації. Крім того, варто виділити розширені функції роботи з геолокалізованими даними.
Серед нових можливостей і удосконалень Microsoft SQL Server 2008 також слід зазначити появу нових типів даних, а саме—просторових даних, кращу сумісність з застосунками сторонніх розробників, наприклад Oracle, тіснішу інтеграцію з Office, оптимізовані засоби шифрування даних, засоби управління на основі політик, а також покращені інструменти звітності і аналізу.
Продукт SQL Server 2008 пропонується в семи модифікаціях, орієнтованих на різні категорії користувачів, зокрема, на робочі групи, крупних корпоративних замовників, розробників і інших. Ціни на SQL Server 2008 в порівнянні з попередніми версіями системи управління базами даних залишаться тим самим. Крім того, Microsoft пропонує користувачам безкоштовні версії продукту (з обмеженими можливостями)—SQL Server 2008 Express і SQL Server Compact.
SQL Server 2012
SQL Server 2012 включає низку вдосконалень для роботи з критичними бізнес-застосунками і бізнес-аналітикою як в традиційних дата-центрах, так і в приватних, публічних і гібридних хмарних середовищах. Серед нових можливостей SQL Server 2012 виділяються SQL Server AlwaysOn (рішення підтримки високого рівня доступності даних та аварійного відновлення), xVelocity (технологія збільшення продуктивності сховищ даних та програм бізнес-аналітики), нові рішення в області візуалізації PowerPivot і PowerView для створення звітів і аналітичних програм з Excel і SharePoint, покращені інструменти для інтеграції даних і управління ними, включаючи SQL Server Data Quality Services і Master Data Services, нова семантична модель бізнес-аналітики та інструмент для адміністраторів баз даних і розробників застосунків SQL Server Data Tools.
Також Microsoft зробила значні інвестиції в області Big Data, а саме в інтеграцію SQL Server і популярних інструментів для бізнес-аналітики з неструктурованою інформацією.
SQL Server 2019
Може працювати на операційній системі Лінукс Убунту версії від 16.04 і вище.
Редакції
Microsoft робить SQL Server доступним у різноманітних варіантах, які різняться наборами властивостей в залежності від цілей кінцевого користувача. Це такі редакції як:[6]
Компактне видання—вкладений механізм бази даних. Завдяки малому обсягу (2 Мб для DLL) має зменшені властивості у порівнянні з іншими варіантами. Розмір бази даних обмежений 4 Гб і не може використовуватися як служба Windows.
Раніше відомий під назвою MSDE (Microsoft SQL Server Desktop Engine), Microsoft SQL Server Express є вільно поширюваною версією SQL Server. Дана версія має деякі технічні обмеження, також відсутні графічні інструменти адміністрування. Такі обмеження роблять її непридатною для розгортання великих баз даних. В основному вона використовується у застосунках, при проектуванні, або для самостійного вивчення. Розмір бази даних обмежений 4 Гб, розмір пам'яті, що може бути адресованою—1 Гб, підтримує лише один процесор.
SQL Server Workgroup Edition
SQL Server Workgroup Edition включає функціональність ядра бази даних, але не включає додаткові сервіси.
SQL Server Standard Edition
SQL Server Standard edition включає механізми ядра бази даних, а також автономні сервіси. Відрізняється від варіанту Enterprise Edition тим, що підтримує менше активних вузлів та не включає деякі функції збільшення продуктивності.
SQL Server Enterprise Edition
SQL Server Enterprise Edition—це повнофункціональна версія SQL Server
SQL Server Developer Edition
SQL Server Developer Edition включає ті самі функції, що й SQL Server Enterprise Edition, але містить обмеження щодо використання його лише для розробки та тестування. Його ліцензія не дозволяє використання як виробничого сервера.
Функціональність
Microsoft SQL Server як мову запитів використовує версію SQL, що отримала назву Transact-SQL (скорочено T-SQL), яка є реалізацією SQL-92 (стандарт ISO для SQL) з багатьма розширеннями. T-SQL дозволяє використовувати додатковий синтаксис процедур, що зберігаються і забезпечує підтримку транзакцій (взаємодія бази даних з керуючим застосунком). Microsoft SQL Server та Sybase ASE для взаємодії з мережею використовують протокол рівня застосунка під назвою Tabular Data Stream[en] (TDS, протокол передачі табличних даних).
Microsoft SQL Server також підтримує Open Database Connectivity (ODBC)—інтерфейс взаємодії застосунків з СУБД. Версія SQL Server 2005 надає можливість підключення користувачів через вебсервер-сервіси, що використовують протокол SOAP. Це дозволяє клієнтським програмам, не призначеним для Windows, кроссплатформенно з'єднуватися з SQL Server. Microsoft також випустила сертифікований драйвер JDBC, що дозволяє застосункам під керування Java (таким як BEA і IBM Websphere) з'єднуватися з Microsoft SQL Server 2000 і 2005.
SQL Server підтримує дзеркалювання та кластеризацію баз даних. Кластер серверу SQL—це сукупність однаково конфігурованих серверів; така схема допомагає розподілити робоче навантаження між декількома серверами. Усі сервери мають одне віртуальне ім'я, а дані розподіляються за IP-адресами машин кластеру протягом робочого циклу. Також у разі відмови або збою на одному з серверів кластеру доступне автоматичне перенесення навантаження на інший сервер.
SQL Server підтримує надлишкове дублювання даних за трьома сценаріями:
Знімок: Виконується «знімок» бази даних, який сервер відправляє одержувачам.
Історія змін: Всі зміни бази даних безперервно передаються користувачам.
Синхронізація з іншими серверами: Бази даних декількох серверів синхронізуються між собою. Зміни усіх баз даних відбуваються незалежно на кожному сервері, а під час синхронізації відбувається звірка даних. Дублювання такого типу передбачає можливість вирішення протиріч між базами даних.
SQL Server 2005 має вбудовану підтримку .NET Framework. Завдяки цьому, процедури бази даних, що зберігаються, можуть бути написані на будь-якій мові платформи .NET з використанням повного набору бібліотек, доступних для .NET Framework. На відміну від інших процесів, .NET Framework виділяє додаткову пам'ять і будує засоби керування SQL Server, не використовуючи вбудовані засоби Windows. Це підвищує продуктивність порівняно із загальними алгоритмами Windows, оскільки алгоритми розподілу ресурсів спеціально налагоджені для використання у структурах SQL Server.
Розробка застосунків
Microsoft та інші компанії пропонують велику кількість програмних засобів розробки, які дозволяють розробляти застосунки для бізнесу з використанням баз даних Microsoft SQL Server. Microsoft SQL Server 2005 включає також Common Language Runtime (CLR) Microsoft .NET, що дозволяє застосункам, розробленим на мовах платформи .ΝΕΤ (наприклад, VB.NET або C#), реалізовувати процедури, що зберігаються та різні функції. Попередні версії засобів розробки Microsoft використовували лише API для надання функціонального доступу до Microsoft SQL Server.