FAQ по ліцензуванню Microsoft SQL Server

У цій статті ми познайомимося c існуючими схемами ліцензування Microsoft SQL Server, а також розглянемо особливості ліцензування SQL Server в середовищі віртуалізації і контейнерах (стаття актуальна для останніх версій SQL Server 2016/2017/2019).

зміст:

  • Редакції MS SQL Server і моделі ліцензування
  • Ліцензування SQL Server по ядрах
  • Ліцензування SQL Server за моделлю «Сервер + Клієнти»
  • Вартість ліцензій для SQL Server 2019
  • Ліцензування компонентів SQL Server
  • Ліцензування SQL Server в віртуальних машинах і контейнерах

Редакції MS SQL Server і моделі ліцензування

Microsoft SQL Server доступна в п'яти редакціях.

  • Express Edition - безкоштовна редакція для невеликих інсталяцій, максимальний розмір БД на диску - 10 Гб, використання RAM до 1 Гб, 1 фізичний сокет або 4 ядра;
  • Developer Edition - безкоштовна редакція для розробників. Включає в себе весь стек технологій SQL Server. Можна встановити і використовувати тільки для розробки, тестів і демонстрації на непродуктивних системах;
  • Web Edition - спеціальна редакція для веб-хостингів (провайдерів), поширюється тільки в рамках Microsoft Services Provider License Agreement (SPLA);
  • Standard Edition - в цій редакції доступний базовий функціонал СУБД, звіти, аналітика. Максимальне використання RAM- до 128 Гб, 4 сокета або 24 ядра;
  • Enterprise Edition - найповніша редакція СУБД, включає функціонал редакції Standard, а також додаткові можливості по аналізу, відмовостійкості (в тому числі Always On) і обробки даних.

Редакції Developer і Express поширюються безкоштовно. Редакції Standard і Enterprise вимагають ліцензування.

Для SQL Server існують дві моделі ліцензування:

  • Модель «Сервер + Клієнти» (Server + CAL)
  • Модель «За кількістю ядер» (Per Core)

SQL Server Standard може бути ліцензована по кожній із двох моделей (Server + CAL або Per Core).

Редакція SQL Server Enterprise ліцензується тільки за моделлю: «За кількістю ядер».

Ліцензування SQL Server по ядрах

Дана модель використовується для серверів з великим або невідомою кількістю клієнтів. Ця модель ліцензування надає доступ необмеженому числу користувачів або пристроїв для підключення зсередини або ззовні організації.

Клієнтські ліцензії купувати не потрібно.

У моделі ліцензування по ядрах, вам потрібно "закрити" ліцензіями все процесорні ядра сервера, на якому запущено SQL Server. Основні вимоги та обмеження:

  • Одна ліцензія випускається на два ядра (2Lic Core);
  • Для ліцензування сервера вам потрібно придбати мінімум 2 двох-ядерних ліцензії;
  • При запуску на фізичному сервері (physical operating system environment - POSE), все ядра сервера потрібно ліцензувати.

Ліцензування SQL Server за моделлю «Сервер + Клієнти»

Згідно це моделі ліцензування, на кожен екземпляр SQL Server купується одна серверна ліцензія, яка прив'язується до фізичного (віртуальному) сервера (не залежить від кількості ядер сервера). Потім вам потрібно придбати окремі клієнтські ліцензії (CAL) на кожен пристрій або користувача, які підключаються до SQL Server.

Клієнтські ліцензії SQL Server CAL (як і RDS CAL) бувають двох видів:

  • User CAL - "на користувача". Купується для облікових записів користувачів, які підключаються до SQL Server з серверною ліцензією.
  • Device CAL - "на пристрій". Купується для всіх пристроїв, з яких виконується підключення до SQL Server з серверною ліцензією.

Кожна ліцензія SQL Server CAL дозволяє підключатися до необмеженої кількості баз SQL Servers.

Оскільки ліцензії User CAL і Device CAL коштують однаково, необхідно заздалегідь розрахувати економічну доцільність покупки клієнтських ліцензій «на користувача» або «на пристрій».

приклади.

  1. SQL Server використовують 20 осіб з 20 відомих пристроїв. Тут немає різниці які CAL ліцензії купувати.
  2. SQL Server використовують 20 осіб з 50 пристроїв. В даному випадку вигідніше купити ліцензії "на користувача".
  3. SQL Server використовують 50 осіб з 20 пристроїв. Тут економічно доцільно купити ліцензії «на пристрій».

Для розрахунку клієнтських ліцензій SQL Server CAL не мають значення:

  • кількість серверів SQL Server у вашій організації;
  • кількість облікових записів на серверах;
  • кількість одночасних підключень до серверів;
  • наявність всього одного конекту до сервера на всіх користувачів;
  • кількість бізнес-додатків між SQL Server і клієнтами;
  • кількість термінальних серверів між SQL Server і клієнтами;
  • знаходження користувачів в штаті будь-яких організацій;
  • належність пристроїв будь-яким людям або організаціям.

Зверніть увагу, що ліцензії CAL можна перепризначувати іншому користувачеві або іншого пристрою не частіше, ніж 1 раз в 90 днів. Ліцензії CAL дозволяють використовувати SQL Server попередніх версій.

Для коректного ліцензування ви повинні використовувати SQL Server CAL тієї ж або більш нової версії. Наприклад, щоб отримати доступ до SQL Server 2017 Standard Edition, вам потрібен SQL CAL 2019 або SQL CAL 2017.

Вартість ліцензій для SQL Server 2019

  • SQL Server Enterprise Edition за 2 ядра - 7128 $
  • SQL Server Standard Edition за 2 ядра - 1859 $
  • SQL Server Standard Edition - 931 $ + потрібно число CAL
  • SQL Server Device / User CAL - 209 $

Наприклад, для ліцензування 8-ядерного сервера SQL Standard з 50 користувачами можна:

  1. Купити ліцензії по ядрах (SQLSvrStdCore 2019 SNGL OLV 2Lic NL Each AP CoreLic - 7NQ-01562): 1859 * 4 = 7436 $
  2. Купити серверну ліцензію (SQLSvrStd 2019 SNGL OLV NL Each AP - 228-11476) і необхідну кількість CAL (SQLCAL 2019 SNGL OLV NL Each AP UsrCAL - 359-06864): 931 + 50 * 209 = 11381 $

Як ви бачите, при великій кількості користувачів вигідно ліцензувати SQL Server по ядрах. Однак, якщо у вас велика кількість примірників SQL Server у виробничому середовищі при незмінній кількості користувачів, вигідніше використовувати Server + CAL ліцензії.

Ліцензування компонентів SQL Server

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

  • SQL Server Database Engine (DB)
  • SQL Server Machine Learning Services
  • Machine Learning Server Standalone,
  • Master Data Services (MDS)
  • Analysis Services (AS)
  • Integration Services (IS)
  • Reporting Services (RS)
  • Data Quality Services (DQS).

Програмні компоненти однієї ліцензії SQL Server не можуть бути розділені. Будь-операційному середовищі, в якій працюють ліцензійні компоненти SQL Server, потрібна ліцензія. Наприклад, якщо база даних SQL Server розгорнута в одній операційному середовищі, а SQL Server RS ​​розгорнута в інший, то обидві операційні середовища повинні бути повністю ліцензовані.

Якщо ви використовуєте SQL сервер в режимі High Availability, вам не потрібно окремо ліцензувати пасивну копію SQL Server на іншому хості (якщо вона використовується тільки для failover, а не будь-яких інших потреб).

Ліцензування SQL Server в віртуальних машинах і контейнерах

Як і ліцензування Windows Server, ліцензування SQL Server в середовищі віртуалізації має ряд особливостей.

Модель ліцензування по ядрах

Як і в моделі ліцензування "на ядро" в фізичному сервері, ви повинні ліцензувати все віртуальні ядра (vCPU) віртуальної машини, на якій запущений екземпляр SQL Server. Ви можете ліцензувати тільки віртуальні ядра ВМ, або все фізичні ядра фізичного хоста (має смилс, якщо ви запускаєте на хості тільки ВМ з SQL Server).

На одну ВМ потрібно придбати не менше 2 ліцензій (кожна на 2 ядра). У прикладі нижче ліцензії вважаються на кожне ядро, потім ця кількість ділиться на 2 (14 ліцензованих ядер ділимо на 2 - нуобходімо придбати 7 ліцензій SQL Server).

Зверніть увагу. У першій віртуальній машині всього 2 ядра, але ліцензії купуються на необхідний мінімум - 4.

При використанні SQL Server Enterprise Edition ви можете ліцензувати все фізичні ядра сервера і запускати необмежену кількість примірників SQL в кількості операційних середовищ (фізичних і / або віртуальних), яка дорівнює кількості ліцензій на одне ядро.

Наприклад, двопроцесорний сервер з чотирма ядрами на кожному процесорі, повністю ліцензований вісьмома ліцензіями SQL (4 ліцензії на кожні 2 ядра), може запускати SQL Server на восьми віртуальних машинах, незалежно від кількості віртуальних ядер, виділених для кожної віртуальної машини.

Клієнти, які ліцензували все фізичні ядра на сервері і хочуть запустити SQL Server в більшій кількості віртуальних машин, ніж дозволено, можуть призначити додаткові ліцензії на ядро ​​ліцензованому серверу.

Кожна додаткова ліцензія на ядро ​​дозволяє розгортати SQL Server на додаткової віртуальної машині, тому в попередньому прикладі клієнт, який хоче запустити SQL Server Enterprise Edition на дванадцяти віртуальних машинах, може придбати і призначити дванадцять ліцензій цього сервера (6 на кожні 2 ядра).

При використанні Software Assurance (SA) з ліцензіями Enterprise Edition, ви можете розгорнути необмежену кількість віртуальних машин для обробки динамічних робочих навантажень і повного використання апаратних обчислювальних потужностей.

Примітка. Ця можливість доступу при наявності активної підписки SA.

Модель ліцензування "Сервер + клієнти"

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

Ліцензування контейнерів нічим не відрізняється від ліцензування віртуальних машин - вам потрібно ліцензувати все ядра, які використовуються в контейнері SQL Server. Або використовувати модель ліцензування з CAL.