Как посмотреть лицензию ms sql сервера

Как посмотреть лицензию ms sql сервера

Проверка лицензии MS SQL сервера – это важная часть процесса администрирования, которая помогает удостовериться в корректности использования программного обеспечения. Отсутствие должной проверки может привести к правовым последствиям и лишению доступа к функциональности. Существует несколько способов, позволяющих быстро и точно определить тип и состояние лицензии на вашем сервере.

Первый метод заключается в использовании системных представлений. Для этого достаточно выполнить простой запрос в SQL Server Management Studio (SSMS). Запрос SELECT SERVERPROPERTY('ProductLevel'), SERVERPROPERTY('Edition'), SERVERPROPERTY('LicenseType'); вернёт данные о редакции, уровне продукта и типе лицензии, что позволит точно установить, какая версия SQL Server установлена и как она лицензирована.

Второй способ – это проверка через средства командной строки. Запустив команду sqlcmd -Q "SELECT SERVERPROPERTY('Edition')" -S <имя_сервера>, можно получить информацию о текущей редакции сервера. Этот метод удобен, если доступ к графическому интерфейсу ограничен или необходимо выполнить проверку на нескольких серверах одновременно.

Кроме того, важно помнить, что лицензионная информация может быть доступна через лицензированные инструменты, такие как Microsoft Volume Licensing Service Center или License Manager. Эти платформы позволяют проверить, сколько экземпляров сервера активировано, а также уточнить данные о действующих подписках и ключах.

Независимо от метода, регулярная проверка лицензии позволяет избежать рисков, связанных с неправомерным использованием и несоответствием требованиям компании или законодательства.

Как узнать тип лицензии MS SQL через командную строку

Как узнать тип лицензии MS SQL через командную строку

Для определения типа лицензии MS SQL сервера можно использовать командную строку, что позволяет быстро получить необходимую информацию без дополнительных инструментов и интерфейсов. Следующий метод описывает, как это можно сделать через утилиту SQLCMD или PowerShell.

1. Откройте командную строку или PowerShell от имени администратора.

2. Подключитесь к экземпляру SQL Server с помощью команды SQLCMD. Пример:

sqlcmd -S <имя_сервера> -U <пользователь> -P <пароль>

Если подключение прошло успешно, выполните следующий запрос для получения информации о лицензии:

SELECT SERVERPROPERTY('ProductLevel'), SERVERPROPERTY('ProductVersion'), SERVERPROPERTY('Edition');

Этот запрос возвращает три важных значения:

  • ProductLevel – уровень продукта (например, RTM или SP1).
  • ProductVersion – версия SQL Server (например, 12.0.2000.8).
  • Edition – тип издания SQL Server (например, Enterprise, Standard, Web и др.).

3. После выполнения запроса система выведет информацию, включая тип лицензии. Например, если сервер использует версию SQL Server 2014 Standard, результат будет выглядеть так:

ProductLevel: RTM
ProductVersion: 12.0.2000.8
Edition: Enterprise Edition

Если вы хотите получить более подробную информацию о лицензировании, можно использовать команду в PowerShell для получения всех свойств экземпляра SQL Server. Пример PowerShell запроса:

Invoke-Sqlcmd -Query "SELECT SERVERPROPERTY('Edition'), SERVERPROPERTY('LicenseType'), SERVERPROPERTY('IsClustered')" -ServerInstance "<имя_сервера>"

Здесь вы получите не только тип издания, но и тип лицензии и информацию о кластеризации сервера.

4. Важно помнить, что тип лицензии и издание могут влиять на функциональность SQL Server, а также на условия обслуживания и обновлений. Для точного расчета необходимого количества лицензий и выбора подходящего издания рекомендуется ознакомиться с официальной документацией Microsoft.

Использование SQL-запросов для проверки лицензии MS SQL

Запрос для получения типа лицензии:

SELECT SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('LicenseType') AS LicenseType;

Этот запрос возвращает значения для трех свойств: ProductLevel (уровень продукта, например, Developer или Enterprise), Edition (издание SQL Server, например, Standard или Enterprise) и LicenseType (тип лицензии, например, Per Core или Per User).

Для более детального анализа лицензии, включая количество ядер и другие особенности, можно воспользоваться системной функцией SERVERPROPERTY() с дополнительными параметрами:

SELECT SERVERPROPERTY('MachineName') AS MachineName,
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('IsClustered') AS IsClustered;

Этот запрос помогает определить, работает ли сервер в кластерной конфигурации, а также получить информацию о версии продукта и имени машины, на которой он запущен.

Если необходимо узнать, активирована ли лицензия или присутствуют ли ограничения на использование, стоит проверить записи в системных представлениях, таких как sys.dm_exec_sessions или sys.dm_exec_connections, для выявления активных сессий и подключения клиентов. Однако информация о том, как именно используется лицензия, может не быть полностью доступна через SQL-запросы. Для детальной проверки лицензии может потребоваться доступ к серверу управления лицензиями или использование инструмента SQL Server Management Studio.

Методы определения сроков действия лицензии MS SQL

Методы определения сроков действия лицензии MS SQL

Проверка через SQL Server Management Studio (SSMS)

Откройте SSMS и подключитесь к нужному экземпляру сервера. Выполните следующий запрос:

SELECT SERVERPROPERTY('Edition'), SERVERPROPERTY('LicenseType'), SERVERPROPERTY('NumLicenses');

Параметр LicenseType может отображать значения вроде ‘DISABLED’, ‘PER_SEAT’ или ‘CPU’, но срок действия лицензии не всегда отражается напрямую. Однако если используется Evaluation-версия, срок действия можно уточнить дополнительно.

Определение срока действия Evaluation-версии

Для тестовых установок выполните в командной строке от имени администратора:

sqlservr -?
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\*\Setup" | Select-Object SQLProductFamily, InstallDate

Дата установки Evaluation-версии фиксируется в реестре. Срок действия обычно составляет 180 дней. Рассчитайте оставшееся время вручную от даты установки.

Через SQL Server Error Log

Откройте журнал ошибок SQL Server, расположенный по пути: C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Log\ERRORLOG. В начале лога ищите строку:

This instance of SQL Server is running in evaluation mode.

Также может отображаться точная дата окончания действия лицензии в формате: «SQL Server evaluation period has XXX days left».

Сторонние инструменты мониторинга

Программное обеспечение для инвентаризации (например, MAP Toolkit или System Center) позволяет централизованно получать сведения о лицензировании и сроках действия для всех инстансов SQL Server в сети.

Точные сроки действия могут не отображаться для лицензий по модели Core или Server+CAL. В таких случаях рекомендуется вести учёт вручную на основе приобретённых ключей и контрактов Software Assurance.

Как проверить лицензию MS SQL с помощью SQL Server Management Studio

Как проверить лицензию MS SQL с помощью SQL Server Management Studio

Для получения информации о типе лицензии установленного SQL Server используйте SQL Server Management Studio (SSMS) и выполните следующие действия:

  1. Откройте SSMS и подключитесь к нужному экземпляру SQL Server с правами администратора.
  2. Откройте новое окно запроса.
  3. Введите и выполните следующий T-SQL-запрос:
    SELECT SERVERPROPERTY('Edition'), SERVERPROPERTY('ProductVersion'), SERVERPROPERTY('ProductLevel');

Описание параметров:

  • Edition – указывает тип редакции (например, Enterprise, Standard, Express). Это помогает определить, используется ли коммерческая или бесплатная версия.
  • ProductVersion – показывает версию сервера, например, 15.0.2000.5 (для SQL Server 2019).
  • ProductLevel – отображает уровень обновления: RTM, SP1, SP2 и т. д.

Чтобы определить модель лицензирования (Core-based или Server+CAL), выполните:

SELECT SERVERPROPERTY('LicenseType'), SERVERPROPERTY('NumLicenses');
  • LicenseType – значение может быть «DISABLED», «PER_SEAT», «PER_PROCESSOR». Значение «DISABLED» указывает на лицензирование по ядрам (Core-based).
  • NumLicenses – может быть NULL при лицензировании по ядрам или содержать количество лицензированных клиентов при модели Server+CAL.

Эти параметры не всегда возвращают точную лицензионную информацию в новых версиях SQL Server, особенно при лицензировании через Software Assurance или CSP. В таких случаях обратитесь к ключу продукта в Центре Volume Licensing или используйте инструмент slmgr.vbs /dli на уровне ОС для получения данных о лицензии Windows, если SQL Server установлен как компонент.

Проверка лицензии MS SQL через Windows PowerShell

Для получения информации о типе лицензии установленного экземпляра MS SQL Server через PowerShell используйте модуль SQLPS или SqlServer. Последний рекомендуется, так как он поддерживается Microsoft и включает в себя актуальные cmdlet’ы.

Убедитесь, что модуль установлен:

Install-Module -Name SqlServer -Scope CurrentUser

Затем подключитесь к экземпляру SQL Server:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server «имя_сервера»

Для получения сведений о версии и выпуске выполните:

$srv.Information.Edition

$srv.Information.ProductLevel

$srv.Information.VersionString

Для проверки информации о лицензии на уровне Windows можно использовать WMI:

Get-WmiObject -query «select * from SoftwareLicensingProduct where Name like ‘%SQL%'»

Если установлен ключ KMS или MAK, он будет отображён в поле PartialProductKey. Также стоит обратить внимание на значения полей LicenseStatus и Description, которые могут указать на тип активации.

Полезно также проверить журнал установки SQL Server, расположенный по пути: C:\Program Files\Microsoft SQL Server\…setup bootstrap\Log. Он может содержать параметры инсталляции, включая сведения о лицензии, переданные при установке.

Для серверов, развернутых в корпоративной среде, рекомендуем централизованно отслеживать лицензии с помощью PowerShell-скриптов в сочетании с инструментами инвентаризации, такими как SCCM или MAP Toolkit.

Как узнать количество лицензированных пользователей MS SQL

Как узнать количество лицензированных пользователей MS SQL

Для определения количества лицензированных пользователей MS SQL в режиме Server + CAL необходимо получить информацию о приобретённых клиентских лицензиях (CAL), поскольку SQL Server не отслеживает их программно. Действуйте по следующему алгоритму:

  • Проверьте документацию по закупкам программного обеспечения. Ищите лицензионные соглашения, контракты с поставщиками, письма о подтверждении лицензий (License Statement).
  • Обратитесь в центр лицензирования Microsoft через Volume Licensing Service Center, если лицензии были приобретены по программе корпоративного лицензирования. Там можно получить точные данные о количестве доступных CAL.
  • Если использовались OEM или коробочные версии, проверьте соответствующие сертификаты подлинности (COA) и коробки с ключами активации.

В случае лицензирования по числу пользователей (User CAL), системных инструментов для автоматического подсчёта нет. Однако можно оценить количество активных пользователей, имеющих доступ к серверу SQL, следующими методами:

  1. Проанализируйте группы безопасности Active Directory, которым предоставлены права на подключение к SQL Server.
  2. Проверьте журнал подключений SQL Server: включите аудит успешных подключений и используйте представление sys.dm_exec_sessions для анализа текущих пользователей.
  3. Используйте команду SELECT original_login_name, COUNT(*) FROM sys.dm_exec_sessions GROUP BY original_login_name для получения списка уникальных логинов в текущих сессиях.

Эти методы не дают точной информации о количестве лицензий, но позволяют оценить потребность в них и выявить потенциальные нарушения.

Решение проблем с лицензионными ограничениями MS SQL

Решение проблем с лицензионными ограничениями MS SQL

При превышении лимита лицензии SQL Server возможны сбои в работе служб, ошибки при подключении и отказ в создании новых подключений. Наиболее частые ограничения касаются количества процессоров, ядер, пользователей (CAL) и памяти.

Проверь текущую редакцию и тип лицензии с помощью запроса:

SELECT SERVERPROPERTY('Edition'), SERVERPROPERTY('ProductVersion'), SERVERPROPERTY('LicenseType');

Для редакций Express и Web существуют жёсткие лимиты: до 1 ГБ ОЗУ на экземпляр и до 10 ГБ на базу данных в Express. Если нагрузка превышает возможности редакции, необходимо перейти на Standard или Enterprise, которые поддерживают больше ресурсов и функциональности, включая Always On, прозрачное шифрование данных и автоматическую нагрузку на несколько процессоров.

Если используется модель лицензирования per core, убедитесь, что количество лицензированных ядер соответствует физическим или виртуальным ресурсам. При недостающем покрытии может быть активирована только часть процессорных мощностей, что критично для высоконагруженных систем.

Проблемы с лицензиями CAL возникают при недостающем количестве клиентских лицензий. Проверьте число одновременных подключений и соответствие им количества приобретённых лицензий. Рассмотрите переход на core-лицензирование при большом числе пользователей.

Для устранения проблем необходимо также проверить соответствие условий лицензии текущему режиму виртуализации. При использовании Hyper-V или VMware важно учитывать правила лицензирования виртуальных машин: например, одна лицензия Standard покрывает только две ВМ на одном физическом сервере.

Любое изменение лицензии требует перезапуска экземпляра SQL Server. Используйте инструмент SQL Server Installation Center или PowerShell для применения новой лицензии. Храните подтверждающие документы о покупке лицензий и доступ к порталу Volume Licensing Service Center для проверки ключей и скачивания дистрибутивов.

Вопрос-ответ:

Ссылка на основную публикацию