Представьте себе этот сценарий. Допустим, вы приобрели SQL Server 2008 по лицензии 5 CAL. Шестой человек делает запрос со своей машины (например, через VBScript). Почему Microsoft не накладывает ограничения на программное обеспечение SQL, чтобы остановить это шестое соединение?
Как вы все знаете, в настоящее время лицензирование SQL-сервера осуществляется исключительно на бумажной основе, без электронной лицензии, как ВСЕГО другого программного обеспечения в этом мире. Кто-нибудь знает, почему Microsoft это делает?
Спасибо
Потому что это НЕ ТАК просто. Существует множество сценариев, когда, например, к SQL Server открыты соединения, для которых не требуется клиентская лицензия. Перекрестные ссылки на базу данных (пользователь должен иметь одну для базы данных a, а затем может подключиться к базе данных b). Несколько серверов (клиентская лицензия - это iirc для SQ LServer, независимо от того, сколько серверов вы используете - так как же серверу A узнать общую картину компании?).
В большинстве случаев с точки зрения серверов лицензирование не может быть проверено во всех пограничных случаях.
Гномы.
Если серьезно, то клиентские лицензии - это одновременные лицензии. В среде из 5 пользователей вам нужно, чтобы все 5 пользователей одновременно обращались к базе данных, прежде чем запускается 6-й. Точно так же клиентские лицензии могут быть на пользователя или устройства. В случае ситуации с клиентской лицензией на пользователя у вас может быть один пользователь с действующей лицензией CAL, зарегистрированный на 2 разных машинах, выполняющих запросы к базе данных. Не стоит пытаться кодировать приложение так, чтобы оно: а) знало тип CAL и б) каким-то образом понимало все крайние случаи множественного доступа пользователей к серверу / приложению. Намного лучше / проще / выгоднее, если программное обеспечение позволит вам не соответствовать требованиям, а затем подвергнуть вас огромным штрафам, если вас поймают на аудите.