Microsoft SQL Server – Реляційна система управління базами даних (СУБД), розроблена корпорацією Майкрософт. Основною мовою запитів, що використовується, є Transact-SQL, створений спільно корпорацією Майкрософт і Sybase. Transact-SQL – це реалізація стандарту ANSI/ISO для структурованої мови запитів (SQL) з розширеннями. Використовується для роботи з малими та середніми базами даних до великих корпоративних баз даних; конкурує з іншими СКБД в цьому сегменті ринку.

SQL є загальним інтерфейсом для баз даних. “Всі промислові бази даних – Oracle, Microsoft SQL Server, PostgreSQL, MySQL – працюють на SQL.

Історія

Вихідний код MS SQL Server (до версії 7.0) базувався на коді Sybase SQL Server, і це дозволило Microsoft вийти на ринок корпоративних баз даних, де конкурували Oracle, IBM, а пізніше і сама Sybase. Microsoft, Sybase і Ashton-Tate спочатку об’єдналися для створення і продажу першої версії програми, яка називається 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 розійшлися і дотримувалися своїх власних моделей продуктів і маркетингових схем. Корпорація Майкрософт шукала ексклюзивні права на всі версії SQL Server для Windows. Пізніше Sybase змінила назву продукту на Адаптивний сервер enterprise, щоб уникнути плутанини з Microsoft SQL Server. До 1994 року Microsoft отримала три повідомлення про авторські права від Sybase як натяк на походження Microsoft SQL Server.

Після поділу компанії зробили кілька самостійних релізів програм. SQL Server 7.0 був першим сервером баз даних, який мав справжній графічний інтерфейс користувача (GUI). Щоб задовольнити претензії Sybase про порушення авторських прав, весь успадкований код у сьомій версії був переписаний.

SQL Server 2005 був представлений в листопаді 2005 року. Версія працювала паралельно з запуском Visual Studio 2005. Існує також “урізана” версія Microsoft SQL Server, Microsoft SQL Server Express; він доступний для завантаження і може бути безкоштовно поширений за допомогою програмного забезпечення, яке його використовує.

З моменту випуску попередньої версії SQL Server (SQL Server 2000), інтегроване середовище розробки (IDE) і ряд додаткових підсистем, які входять до складу SQL Server 2005 були розроблені. Зміни впливають на впровадження технології ETL (вилучення, перетворення та завантаження даних), яка є частиною служб інтеграції SQL Server (SSIS), сервера оповіщення, багатовимірного аналізу моделей даних (OLAP) та відповідного збору інформації (обидва з яких є частиною служб аналізу Microsoft), а також кількох служб обміну повідомленнями, а саме служби брокера послуг обслуговування та служб сповіщень. Крім того, були зроблені поліпшення продуктивності.

Функціональність

Microsoft SQL Server використовує версію SQL під назвою Transact-SQL (T-SQL) як мову запитів, яка є реалізацією SQL-92 (стандарт ISO для SQL) з кількома розширеннями. T-SQL дозволяє використовувати додатковий синтаксис для збережених процедур і забезпечує супровід транзакцій (взаємодія бази даних з додатком управління). Microsoft SQL Server і Sybase ASE використовують протокол рівня застосунку під назвою Табличний потік даних (TDS) для зв’язку з мережею. Протокол TDS також був реалізований в проекті FreeTDS, щоб дозволити різним програмам взаємодіяти з базами даних Microsoft SQL Server і Sybase.

Microsoft SQL Server також підтримує підключення до відкритих баз даних (ODBC), інтерфейс для додатків для взаємодії з СУБД. SQL Server 2005 надає можливість користувачам підключатися через веб-служби, які використовують протокол SOAP. Це дозволяє клієнтським програмам, які не призначені для Windows для крос-платформного підключення до SQL Server. Microsoft також випустила сертифікований драйвер JDBC, який дозволяє java-додатків (таких як BEA і IBM WebSphere) підключатися до Microsoft SQL Server 2000 і 2005.

SQL Server підтримує віддзеркалення баз даних і кластеризацію. Кластер SQL server – це набір ідентично налаштованих серверів; цей дизайн допомагає розподілити навантаження на кілька серверів. Всі сервери мають однакову віртуальну назву, а дані розподіляються по IP-адресах кластерних машин протягом виробничого циклу. Також в разі збою або збою на одному з серверів в кластері доступна автоматична передача навантаження на інший сервер.

SQL Server підтримує надлишкове дублювання даних у трьох сценаріях:

  • Знімок: робиться «знімок» бази даних, який сервер відправляє одержувачам.
  • Історія змін: усі зміни бази даних постійно передаються користувачам.
  • Синхронізація з іншими серверами: бази даних декількох серверів синхронізуються один з одним. Зміни в усіх базах даних відбуваються незалежно на кожному сервері, і синхронізація узгоджує дані. Даний вид дублювання передбачає можливість вирішення протиріч між базами даних.

SQL Server 2005 має вбудовану підтримку .NET Framework. Через це збережені процедури бази даних можна записати будь-якою мовою .NET, використовуючи повний набір бібліотек, доступних для .NET Framework, включаючи систему загального типу. Однак, на відміну від інших процесів, .NET Framework, як базова система для SQL Server 2005, виділяє додаткову пам’ять і будує інструменти управління SQL Server замість використання вбудованих інструментів Windows. Це покращує продуктивність у порівнянні з поширеними алгоритмами Windows, оскільки алгоритми розподілу ресурсів спеціально налаштовані для використання в тканинах SQL Server.

Безпека

2022: Атаки на Microsoft SQL з анти-хакерським програмним забезпеченням

28 лютого 2022 року стало відомо, що зловмисники встановлюють «маяки» Cobalt Strike і майнерів на слабо захищені MS SQL-сервери, використовуючи грубу силу і атаки словників.

Експерти з інформаційної безпеки спостерігають за черговою хвилею атак на СЕРВЕРИ Microsoft SQL.

Cobalt Strike – це юридичний інструмент для пентесту та постексплуатації, який також використовується як кіберзлочинцями, так і кібершпигунством. Його «маяки» – це локальні агенти Cobalt Strike, які використовуються для віддаленого моніторингу мережі або виконання подальших команд.

MS SQL Server – це відома система управління базами даних, на базі якої працюють численні інтернет-додатки будь-якого масштабу. За даними Ahn Lab, багато з цих серверів захищені слабкими паролями і доступні з глобальної мережі, що робить їх дуже привабливою мішенню.

Атаки починаються зі сканування серверів з відкритим TCP-портом 1433 – це ознака зовні доступного MS SQL-сервера. Після виявлення такого ресурсу зловмисники запускають грубу силу і словникові атаки, щоб розкрити пароль.

MS SQL-сервери серійно атакуються за допомогою Cobalt Strike.

Якщо це вдасться, і зловмисник отримає доступ до адмін-панелі, на сервер завантажуються кримінальні криптомінери типу LemonDuck, KingMiner, Vollgar, а також «маяки» Cobalt Strike, що забезпечують можливість подальшої розвідки локальної мережі.

CobaltStrike завантажується через процес оболонки (cmd.exe і powershell.exe), а потім вводиться і запустити в MSBuild.exe щоб уникнути виявлення. Після запуску маяк вбудований в процес бібліотеки системи wwanmm.dll і чекає команд від операторів, залишаючись потайним.

У майбутньому зловмисники можуть виконувати довільні команди на скомпрометованій системі, журналювання ключів, операції з файлами, встановлювати проксі Socks, підвищувати привілеї, сканувати порти та красти дані доступу за допомогою Mimikatz.

««Сам «маяк» Cobalt Strike – це код оболонки без файлів, який не так просто перехопити за допомогою антивіруса та інших засобів захисту. Захист повинен здійснюватися в першу чергу правильними налаштуваннями, включаючи ефективний пароль і додаткові засоби авторизації. Груба сила не буде працювати проти дійсно складних паролів”.

Історія

Вихідний код MS SQL Server (до версії 7.0) базувався на коді Sybase SQL Server, і це дозволило Microsoft вийти на ринок корпоративних баз даних, де конкурували Oracle, IBM, а пізніше і сама Sybase. Microsoft, Sybase і Ashton-Tate спочатку об’єдналися для створення і продажу першої версії програми, яка називається 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 розійшлися і дотримувалися своїх власних моделей продуктів і маркетингових схем. Корпорація Майкрософт шукала ексклюзивні права на всі версії SQL Server для Windows. Пізніше Sybase змінила назву продукту на Адаптивний сервер enterprise, щоб уникнути плутанини з Microsoft SQL Server. До 1994 року Microsoft отримала три повідомлення про авторські права від Sybase як натяк на походження Microsoft SQL Server.

Після поділу компанії зробили кілька самостійних релізів програм. SQL Server 7.0 був першим сервером баз даних, який мав справжній графічний інтерфейс користувача (GUI). Щоб задовольнити претензії Sybase про порушення авторських прав, весь успадкований код у сьомій версії був переписаний.

SQL Server 2005 був представлений в листопаді 2005 року. Версія працювала паралельно з запуском Visual Studio 2005. Існує також “урізана” версія Microsoft SQL Server, Microsoft SQL Server Express; він доступний для завантаження і може бути безкоштовно поширений за допомогою програмного забезпечення, яке його використовує.

З моменту випуску попередньої версії SQL Server (SQL Server 2000), інтегроване середовище розробки (IDE) і ряд додаткових підсистем, які входять до складу SQL Server 2005 були розроблені. Зміни впливають на впровадження технології ETL (вилучення, перетворення та завантаження даних), яка є частиною служб інтеграції SQL Server (SSIS), сервера оповіщення, багатовимірного аналізу моделей даних (OLAP) та відповідного збору інформації (обидва з яких є частиною служб аналізу Microsoft), а також кількох служб обміну повідомленнями, а саме служби брокера послуг обслуговування та служб сповіщень. Крім того, були зроблені поліпшення продуктивності.

Функціональність

Microsoft SQL Server використовує версію SQL під назвою Transact-SQL (T-SQL) як мову запитів, яка є реалізацією SQL-92 (стандарт ISO для SQL) з кількома розширеннями. T-SQL дозволяє використовувати додатковий синтаксис для збережених процедур і забезпечує супровід транзакцій (взаємодія бази даних з додатком управління). Microsoft SQL Server і Sybase ASE використовують протокол рівня застосунку під назвою Табличний потік даних (TDS) для зв’язку з мережею. Протокол TDS також був реалізований в проекті FreeTDS, щоб дозволити різним програмам взаємодіяти з базами даних Microsoft SQL Server і Sybase.

Microsoft SQL Server також підтримує підключення до відкритих баз даних (ODBC), інтерфейс для додатків для взаємодії з СКБД. SQL Server 2005 надає можливість користувачам підключатися через веб-служби, які використовують протокол SOAP. Це дозволяє клієнтським програмам, які не призначені для Windows для крос-платформного підключення до SQL Server. Microsoft також випустила сертифікований драйвер JDBC, який дозволяє java-додатків (таких як BEA і IBM WebSphere) підключатися до Microsoft SQL Server 2000 і 2005.

SQL Server підтримує віддзеркалення баз даних і кластеризацію. Кластер SQL server – це набір ідентично налаштованих серверів; цей дизайн допомагає розподілити навантаження на кілька серверів. Всі сервери мають однакову віртуальну назву, а дані розподіляються по IP-адресах кластерних машин протягом виробничого циклу. Також в разі збою або збою на одному з серверів в кластері доступна автоматична передача навантаження на інший сервер.

SQL Server підтримує надлишкове дублювання даних у трьох сценаріях:

  • Знімок: робиться «знімок» бази даних, який сервер відправляє одержувачам.
  • Історія змін: усі зміни бази даних постійно передаються користувачам.
  • Синхронізація з іншими серверами: бази даних декількох серверів синхронізуються один з одним. Зміни в усіх базах даних відбуваються незалежно на кожному сервері, і синхронізація узгоджує дані. Даний вид дублювання передбачає можливість вирішення протиріч між базами даних.

SQL Server 2005 має вбудовану підтримку .NET Framework. Через це збережені процедури бази даних можна записати будь-якою мовою .NET, використовуючи повний набір бібліотек, доступних для .NET Framework, включаючи систему загального типу. Однак, на відміну від інших процесів, .NET Framework, як базова система для SQL Server 2005, виділяє додаткову пам’ять і будує інструменти управління SQL Server замість використання вбудованих інструментів Windows. Це покращує продуктивність у порівнянні з поширеними алгоритмами Windows, оскільки алгоритми розподілу ресурсів спеціально налаштовані для використання в тканинах SQL Server.

Microsoft розробила конкурента Oracle Exadata і SAP HANA

Microsoft розробила нову технологію в пам’яті, яка незабаром буде додана в SQL Server. Технологія отримала назву Hekaton. Про це 7 листопада 2012 року повідомляє ComputerWorld.

Microsoft, прагнучи прискорити обробку транзакцій в Інтернеті (OLTP), додала можливість використовувати реляційні системи управління базами даних в SQL Server.

Планується, що наступна версія SQL Server буде включати в себе можливість розміщення частини таблиць баз даних або навіть всіх баз даних в пам’яті сервера. Також будуть додані додаткові інструменти для спрощення запуску технології.

За словами генерального менеджера Microsoft Дуга Леланда, технологія Hekaton зараз тестується деякими клієнтами. Але про більш точні терміни його запуску поки не повідомляється.

Microsoft стверджує, що сервер буде виконувати операції швидше, якщо необхідні таблиці і бази даних знаходяться в пам’яті, а не записані на диск, до якого потрібно буде отримати доступ. Гігант впевнений, що технологія дозволить збільшити швидкість обробки даних до 50 разів в порівнянні з аналогічними системами для SQL Server.

Основними напрямками використання Hekaton є системи онлайн-банкінгу, ERP та інші транзакційні системи, які повинні швидко спілкуватися і використовувати бази даних. Технологію можна встановити на одному сервері, а потім масштабувати на інші сервери, оскільки вона не має суворих обмежень на використовувану пам’ять.

Випуск Hekaton може стати головним болем для таких компаній, як Oracle з продуктом Oracle Exadata і для SAP, зокрема SAP HANA. Це пов’язано з тим, що технологія значно спрощує IT-архітектуру і позбавляє від необхідності придбання додаткових компонентів для обробки даних, так як вона реалізується конкурентами.

Дуг Леланд стверджує, що Hekaton не перший досвід Microsoft з технологіями в пам’яті. Наприклад, Microsoft Excel використовує технології PowerPivot і Power View для швидкого маніпулювання великими обсягами даних.

Microsoft також оголосила про швидкий випуск наступної версії пристрою зберігання даних, SQL Server 2012 паралельний склад даних (PDW). А для SQL Server 2012, пакет оновлень був випущений, який конкретно включає в себе можливість для exel 2013 користувачів для роботи з даними, що зберігаються на SQL Server.

Розробка додатків

Корпорація Майкрософт та інші компанії виробляють велику кількість програмних засобів для розробки, які дозволяють розробляти лінійні бізнес-додатки за допомогою баз даних Microsoft SQL Server. Microsoft SQL Server 2005 також включає в себе спільною мовою виконання (CLR) Microsoft .NET, який дозволяє застосунків, розроблених на мовах .NET (наприклад, VB.NET або C#) для реалізації збережених процедур і різних функцій. Попередні версії засобів розробки Microsoft використовували лише API для отримання функціонального доступу до Microsoft SQL Server.

SQL Server Express видання

Microsoft SQL Server Express є безкоштовною вторинного розповсюдження версії SQL Server, розробка системи MSDE. Ця версія має деякі технічні обмеження. Такі обмеження роблять його непридатним для розгортання великих баз даних, але цілком підходить для підтримки програмних комплексів в масштабах невеликої компанії. Містить повну підтримку нових типів даних, включаючи специфікації XML. По суті, це повноцінний MS SQL Server, що включає в себе всі його компоненти програмування, підтримку національних алфавітів і Юнікод. Тому він використовується в додатках, в дизайні або для самостійного вивчення. Немає перешкод для подальшого розгортання накопиченої бази даних на MS SQL Server не експрес-версії. У 2007 році Microsoft випустила окрему утиліту з графічним інтерфейсом для адміністрування цієї версії, яка також доступна для безкоштовного завантаження з сайту корпорації.