Как определить модель лицензирования для SQL Server в облаке
С локально установленным Microsoft SQL Server вопрос лицензирования решается достаточно просто — посчитать пользователей или ядра сервера не составит труда. А вот что делать, если вы арендуете виртуальную среду, например, в облаке VMware хостинг-провайдера?
В этой статье мы кратко расскажем о вариантах лицензирования SQL-серверов, размещенных на виртуальных машинах в облаке.
Версии Microsoft SQL Server 2016
Microsoft предлагает 4 версии SQL Server 2016, но выпуски Developer и Express являются бесплатными и сильно ограничены в функционале, поэтому корпоративные заказчики выбирают Enterprise или Standard. Их различия в лицензировании заключаются в том, что Standard предлагает как вариант Server+CAL (Client Access License), так и Per Core (то есть на ядра процессора), а версия Enterprise лицензируется только по числу ядер.
— Лицензия CAL рассчитывается на каждого пользователя. Для любого сотрудника, который постоянно или периодически подключается к SQL-серверу, необходимо приобрести отдельную лицензию.
— Лицензия на ядра (PerCore) означает, что вы платите за каждое ядро центрального процессора, причем минимум, который можно купить, — 4 ядра. Такой тип лицензирования дает неограниченный доступ пользователей к серверу.
Обе модели лицензирования допускают установку только одного экземпляра SQL Server на каждый сервер.
Версия Enterprise стоит дороже, но и предлагает дополнительные возможности, такие как Advanced Corporate Business Intelligence, Enterprise Data Management, Advanced Security (более сложные возможности шифрования и аудита), а также ColumnStore и OLTP в памяти.
Для выбора оптимальной модели лицензирования ответьте на несколько вопросов, касающихся вашей инфраструктуры:
— Сколько ядер? Для серверов с числом ядер больше 4 потребуется несколько лицензий.
— Внутренний сервер или с внешним доступом? Если используется публичное приложение или веб-сайт, вы не можете использовать лицензию CAL, так как число пользователей неизвестно.
— Сколько пользователей будут иметь доступ к серверу? Если их число больше 30, имеет смысл использовать лицензию на ядра.
— Может ли ваш облачный провайдер предоставить лицензию? Поставщик услуг может помочь вам сэкономить на лицензиях, если имеет соглашение Services Provider License Agreement (SPLA), поэтому обязательно узнайте у него о возможности использовать модель с поддержкой собственных лицензий (BYOL) или о покупке лицензий в рамках договора на облачные услуги.
Microsoft SQL Server 2016 для виртуальных машин (инфраструктура IaaS)
Лицензирование SQL Server становится немного сложнее, когда вы начинаете использовать виртуальную инфраструктуру. Количество и тип лицензий будут зависеть от размера виртуальной среды и числа виртуальных серверов, на которых запущен SQL Server, а также от физического оборудования. Арендуя инфраструктуру IaaS, вы можете не знать параметры аппаратной платформы, поэтому уточните у своего облачного провайдера, какие способы лицензирования будут для вас наиболее выгодными.
Если вы арендуете сервер целиком, то можете запросить его конфигурацию, но в случае аренды виртуальной инфраструктуры VMware вам предоставят только ресурсы, которые могут быть распределены между несколькими хостами кластера и свободно мигрировать между ними для распределения нагрузки.
Если провайдер не предоставляет лицензии на SQL Server, то лучше всего сделать вид, что ваша виртуальная машина — это обычный физический сервер, который расположен в вашем дата-центре. Теперь вы можете выбирать между двумя моделями лицензирования, описанными выше. Расчет ядер проводится по числу виртуальных процессоров vCPU. Если их 1 или 2, то покупать лицензию придется для 4. Если вы будете использовать тип лицензирования CAL, то просто посчитайте число пользователей и купите одну лицензию на ВМ.
Если среда виртуализации вашего облачного провайдера предполагает миграцию виртуальной машины между физическими хостами (например, для работы VMware DRS или High Availability), то вам необходимо дополнительно приобрести Software Assurance. Это позволит использовать vMotion или другие методы переноса вашей виртуальной машины между хостами или виртуальными центрами обработки данных. Без SA ваш сервер должен находиться на одном хосте минимум 90 дней.
Так как лицензия привязывается к физическому серверу, а не к виртуальной машине, вы можете перемещать свой SQL Server на другой виртуальный сервер в пределах одного физического сервера или на другой физический, для которого также куплена лицензия.
Заключение
Лицензирование одного Microsoft SQL Server 2016 в виртуальной среде не сильно отличается от обычного физического — необходимо лишь выбрать модель и купить нужное число лицензий. Если вам требуется лицензировать несколько серверов SQL, то лучше обратиться к облачному провайдеру, у которого вы арендуете инфраструктуру IaaS, и подобрать наиболее выгодный способ. Возможно, вам даже не придется покупать что-то самостоятельно, а достаточно будет включить в договор аренды дополнительные услуги по лицензированию SQL.
FAQ по лицензированию Microsoft SQL Server

18.08.2021

itpro

SQL Server

комментария 24
В этой статье мы познакомимся c существующими схемами лицензирования Microsoft SQL Server, а также рассмотрим особенности лицензирования SQL Server в среде виртуализации и контейнерах (статья актуальна для последних версий SQL Server 2016/2017/2019).
Редакции MS SQL Server и модели лицензирования
Microsoft SQL Server доступна в пяти редакциях.
- Express Edition – бесплатная редакция для небольших инсталляций, максимальный размер БД на диске – 10 Гб, использование RAM до 1 Гб, 1 физический сокет или 4 ядра;
- DeveloperEdition – бесплатная редакция для разработчиков. Включает в себя весь стек технологий SQL Server. Можно установить и использовать только для разработки, тестов и демонстрации на непродуктивных системах;
- WebEdition – специальная редакция для веб-хостингов (провайдеров), распространяется только в рамках Microsoft Services Provider License Agreement (SPLA);
- StandardEdition – в этой редакции доступен базовый функционал СУБД, отчеты, аналитика. Максимальное использование RAM– до 128 Гб, 4 сокета или 24 ядра (возможна настройка репликации между несколькими экземплярами SQL Server);
- EnterpriseEdition – самая полная редакция СУБД, включает функционал редакции Standard, а также дополнительные возможности по анализу, отказоустойчивости (в том числе Always On) и обработки данных (весь функционал доступен в ознакомительной версии SQL Server).
Редакции Developer и Express распространяются бесплатно. Редакции Standard и Enterprise требуют лицензирования.

Для SQL Server существуют две модели лицензирования:
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 с серверной лицензией.
Каждая лицензия SQL Server CAL позволяет подключаться к неограниченному количеству баз SQL Servers.
Т.к. лицензии User CAL и Device CAL стоят одинаково, необходимо заранее рассчитать экономическую целесообразность покупки клиентских лицензий “на пользователя” или “на устройство”.
- SQL Server используют 20 человек с 20 известных устройств. Здесь нет разницы какие CAL лицензии покупать.
- SQL Server используют 20 человек с 50 устройств. В данном случае выгоднее купить лицензии “на пользователя”.
- 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 пользователями можно:
- Купить лицензии по ядрам (SQLSvrStdCore 2019 SNGL OLV 2Lic NL Each AP CoreLic — 7NQ-01562): 1859*4= 7436$
- Купить серверную лицензию (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.

Предыдущая статья Следующая статья
О лицензировании MS SQL по подключениям (CAL)
Лицензирование у Майкрософт непростое и многие считают, что в трехзвенной архитектуре могут существенно сэкономить, лицензируя в Microsoft SQL Server только одно подключение сервера приложений, не учитывая подключения клиентов к серверу приложений. Об ошибках, допускаемых при лицензировании по клиентам далее подробнее. По долгу службы иногда приходится разбираться в тонкостях лицензирования ПО этого вендора. Профессионалом в этом вопросе себя не считаю, поэтому комментарии приветствуются, для совместного установления истины.
MS SQL Server имеет несколько редакций, в продуктовой среде обычно используются Standard и Enterprise. Редакции отличаются набором функций и конфигурационными максимумами (кол-во ОЗУ, ядер). Standard ограничен 24-мя ядрами и 128 ГиБ ОЗУ на экземпляр.
Лицензия — это не программный компонент, а право использования программного продукта на обозначенных в соглашении условиях. Это юридический, а не технический термин.
Существуют два основных выпуска SQL Server, учитывающие уникальные потребности организаций и отдельных пользователей в функциях, производительности и стоимости:
- выпуск Enterprise идеально подходит для критически важных приложений, которые требуют выполнения в памяти, расширенной защиты и высокой доступности;
- в выпуске Standard присутствуют все функциональные возможности базы данных для приложений среднего уровня и киосков данных.
Два основных выпуска
Лицензии на ядра 2
Enterprise 1
Standard
1 Клиенты, которым требуется хранилище данных с интенсивной параллельной обработкой, получают доступ к Parallel Data Warehouse по своим лицензиям на ядра на выпуск Enterprise с покрытием Software Assurance. Parallel Data Warehouse — это часть Microsoft Analytics Platform System.
2 Выпуски, которые продаются по лицензиям на ядра, предлагаются в виде пакетов на два ядра.
3 Согласно модели лицензирования «Сервер + CAL» клиентские лицензии (CAL) требуются для каждого пользователя или устройства, которые обращаются к серверу. Подробные сведения см. в документе Условия для продуктов.
Для новых соглашений обе редакции могут быть лицензированы по вычислительной мощности (парами ядер, минимум 4 лицензии на каждое физическое ядро), лицензия “Сервер + клиентские лицензии” доступна только для Standard. Вокруг этой модели существует заблуждение, что при использовании сервера приложений можно сильно сэкономить, купив серверную лицензию и минимальное количество CAL. При этом используется аргумент, что приложение подключается к БД от имени одного пользователя и им хватит всего 1 CAL. Однако следует внимательно вчитаться в условия EULA — End User License Agreement. Соглашение, которое все внимательно читают мгновенно акцептуют, но именно оно определяет правила использования продуктов. Важно: клиентские лицензии могут приобретаться для пользователей или устройств. Если 75 конкретных пользователей используют 50 конкретных устройств — выгоднее по устройствам. Если 50 пользователей используют 90 устройств (ПК, планшет, смартфон и т.д.) — выгоднее 50 пользователей.
Рассмотрим на примере версии 2017, правила лицензирования других версий отличаются не принципиально. Внимательно изучим документ Microsoft SQL Server 2017 Licensing guide. Раздел Server+CAL licensing содержит важные примечания, одно из них:
Note:The use of hardware or software that reduces the number of devices or users that directly access or use the software (multiplexing/pooling) does not reduce the number of CALs required.
Здесь M$ вводит термин “мультиплексирование” подключений, когда пользователи подключаются к БД не напрямую, а через программного или аппаратного посредника. Этот способ не может использоваться для сокращения количества требуемых лицензий.
“Multiplexing” refers to the use of hardware or software to pool connections, reroute information, or reduce the number of devices or users that directly access or use SQL Server. Multiplexing can also include reducing the number of devices or users SQL Server directly manages.When licensing SQL Server software under the Server+CAL licensing model, users and devices that indirectly access SQL Server data through another application or hardware device still require SQL Server CALs.
- Multiplexing does not reduce the number of Microsoft licensesrequired.Users are required to have the appropriate licenses, regardless of their direct or indirect connection to SQL Server.
- Any user or device that accesses the server, files, data or content provided by the serverthat is made available through an automated processrequires a SQL Server CAL.
- The number of tiers of hardware or software between the SQL Server and the user or devices that ultimately use its data, services, or functionality does not affect the number of CALs required.
Итак, мультиплексирование не уменьшает требуемое количество лицензий. Пользователям требуется иметь соответствующие лицензии независимо от того подключаются ли они к серверу напрямую или опосредованно. Каждый пользователь или устройство, подключающееся к серверу, его файлам, данным или содержимому, должен иметь лицензию клиентского доступа.
Подробнее (и со сценариями в картинках) о мультиплексировании — на сайте M$.
Теперь давайте сравним цены на примере информационной системы для 200 и 500 пользователей, хранящей данные в MS SQL Server Std с 12 ядрами. Цены ориентировочные, взяты с сайта Майкрософт.
Вариант по пользователям (200): $899 + 200 * $209 = $42699.
Вариант по пользователям (500): $899 + 500 * $209 = $105399.
Вариант по ядрам: $3586 * 12 = $43032.
Как показали расчеты, эта схема выгодна до 200 пользователей, если больше — целесообразнее использовать по вычислительной мощности.
Для публичных сервисов (напр., веб-сервер) схема подключения по пользователям неприемлема, т.к. предел количества клиентов подсчету не поддается.
Лицензирование по клиентам может быть выгодно, если в вашей организации большое количество экземпляров MS SQL Server Standard. В этом случае могут оказаться дешевле клиентские лицензии для всех пользователей и устройств, поскольку на каждый дополнительный сервер в этом случае нужна будет только недорогая серверная лицензия:
Accessing multiple SQL Server databases and/or planning to scale out the use of SQL Server by adding new Standard Edition servers over time. Once customers have purchased the necessary CALs, additional server licenses are only needed for new server system deployments.
Планируя свою ИТ инфраструктуру, не забывайте делать расчеты — они помогут выбрать более выгодный вариант.
Помните, без SA/EA(S) вы будете ограничены той версией MS SQL Srv, какой версии у вас CAL. Если куплены CAL 2017, для запуска сервера 2019 потребуются новые лицензии.
Краткая выжимка из правил лицензирования на русском также есть здесь.
Таким образом, жить по “облегченной” схеме лицензирования можно только до первого аудита ПО, который корпорация Майкрософт периодически проводит среди своих заказчиков (это право прописано в EULA). Напомню, что нарушение авторских и смежных прав — ст. 146 УК РФ.
Резюмируя: схема лицензирования по клиентам требует лицензирования всех клиентов, использующих данные из экземпляра СУБД, а не одного, от имени которого технически выполняется подключение к БД. Если сервер приложений в сумме обслуживает до 250 пользователей, то и CAL необходимо 250. Когда подсчет количества пользователей затруднен или невозможен, Майкрософт рекомендует использовать схему по ядрам.
Всем мира, внимательно изучайте правила лицензирования, считайте и не нарушайте закон! 🙂
- Microsoft SQL Server
- Администрирование баз данных
- Законодательство в IT
Лицензирование Microsoft SQL Server 2017: типы лицензий и редакций

Как известно, Microsoft SQL Server 2017 – актуальная на текущий момент версия. Она довольно широко применяется для формирования объемных и производительных баз данных. Соответственно, для того, чтобы законно работать с данной системой управления базами данных, придется прикупить лицензии, в противном случае, может ждать наказание за применение нелицензионного программного обеспечения. А теперь начнем по порядку.

Редакции
Могут существовать разные варианты поставки Microsoft SQL Server 2017. Конечно же, выбор, какая именно редакция подойдет, будет зависеть от требований к технической инфраструктуры организации:
- Enterprise. Модель лицензирования — на ядро. Имеет полный набор возможностей, предназначена для структур с массовым параллелизмом и огромными нагрузками.
- Standard. Существуют лицензии на ядро и сервер + CAL. Фактически, решения для стандартных систем с большими нагрузками.
- Developer. Полнофункциональная версия, предназначенная для разработки, демонстрации возможностей и тестирования совместимости решений. Версия абсолютно бесплатная, но распространяется на условиях Майкрососфт. Лицензия CAL на пользователя.
- Web. Версия распространяется только для сторонних поставщиков услуг. Фактически, подобная реализация необходима центрам обработки данных, у которых размещаются общедоступные веб-сервисы. Тип лицензирования зависит от условий поставки.
- Express. Бесплатная версия для систем начального уровня с серьезными ограничениями. Но зато можно не волноваться о лицензиях, их попросту нет.
Как видите, редакции вполне себе разнообразны, но типов лицензирования применяется всего-лишь несколько. Пришло время вас ознакомить с ними.
Типы лицензий
В данном случае существует два типа лицензирования:
Начнем с версии на ядро. Она не имеет ограничений по количеству устройств или пользователей. Например, в редакции Standard можно приобрести лицензию с максимальным количеством ядер — 24. В Enterprise ограничений на максимальное количество ядер нет.
Соответственно, для крупных структур, в которых огромное количество пользователей и устройств, а также много устройств с большим количеством ядер, выгоднее покупать лицензии на ядро, так как в таком случае получится значительная экономия на лицензиях на пользователей или на устройство.
Что касается лицензий CAL, то здесь все довольно просто. Для версии Standard доступно лицензирование по типу сервер + клиентская лицензия. Фактически, приобретается отдельная лицензия на сервер, заодно CAL на пользователей или устройство.
В данном случае нужно смотреть так:
- Если нужно, чтобы пользователь мог получить доступ с любого устройства, то необходимы лицензии на пользователя.
- Если у вас по несколько пользователей на одно устройство, то выгоднее приобретать лицензии на устройство.
Ничего сложного нет, просто стоит трезво оценивать, с какой позиции будет больше вложений.
Покупка одной лицензии CAL
Самый распространенный вопрос. Многие организации покупают одну лицензию CAL на пользователя для всей компании. И все работает.
Да, на программном уровне данная модель лицензирования никак не регулируется. Соответственно, можно взять лицензию на сервер, одну CAL и спокойно начать работать. Но учтите, с законодательной точки зрения последствия появиться могут. Используя Microsoft SQL Server 2017 таким образом, вы нарушаете пользовательской соглашение и принципы лицензирования, что дает повод привлечь организацию к ответственности.
В завершение
На самом деле, лицензирование Microsoft SQL Server 2017 – довольно простое, главное, не нарушать порядок лицензирования и заранее продумывать структуру, чтобы определиться с дальнейшей моделью. В остальном, все довольно просто.