My knowledge base

понедельник, 28 октября 2013 г.

Как посчитать лицензии Microsoft SQL CAL в мультиплексной среде приложений

Предыстория такая. MS SQL Server можно лицензировать по ядрам процессора, а можно приобрести серверную лицензию и обязательно какое-то количество клиентских  лицензий CAL (Client Access Licence). Первый вариант дороже, но проще в расчетах. Второй вариант может быть дешевле, но расчет требуемого количества лицензий CAL может быть запутан и неоднозначен (видимо так Microsoft оставляет за собой возможность обвинить в пиратстве особо хитроумных). Давайте посмотрим подробнее основываясь на:
http://download.microsoft.com/documents/rus/sqlserver/SQL_Server_2012_Licensing_Reference_Guide_RU.pdf  
1. Есть два типа SQL CAL: на пользователя и на устройства. Стоят они одинаково и отличаются только что мы считаем пользователей СУБД или софт, который обращается к СУБД
2. Если ваше приложение использует СУБД напрямую, то приобрести SQL CAL надо для всех пользователей приложения, независимо от того как технически и под какими пользователями реализуется доступ к приложению. 
3. Если приложения имеет клиент-серверную архитектуру, то все равно надо приобретать SQL CAL на пользователя для все клиентских частей. Также могут быть варианты, тогда ваше приложение, серверная часть которого использует СУБД SQL Server, использует удаленные клиентские части, которые собирают информацию с других устройств. ВОТ здесь есть спорный момент: надо ли приобретать лицензии на устройства только на сборщиков данных с других устройств или на все устройства, с которых тоже собираются данные.  Давайте почитаем как этот момент описан в официальном руководстве: