Как определить версию установленного SQL Server

Как узнать версию sql server

Как узнать версию sql server

Знание точной версии SQL Server необходимо при установке обновлений, проверке совместимости баз данных и устранении ошибок. Разные выпуски сервера используют различные уровни совместимости и наборы функций, поэтому идентификация версии – обязательный шаг перед любыми изменениями конфигурации или миграцией данных.

Для получения информации о версии достаточно выполнить запрос SELECT @@VERSION в SQL Server Management Studio. Он возвращает полное описание установленного экземпляра, включая номер сборки, редакцию и дату выпуска. Если требуется только числовое значение, подходящей командой будет SELECT SERVERPROPERTY(‘ProductVersion’), которая выдаёт результат в формате, например, 15.0.4312.2.

Дополнительные сведения можно извлечь через свойства SERVERPROPERTY(‘ProductLevel’) и SERVERPROPERTY(‘Edition’), чтобы определить наличие обновлений и тип лицензии. В системных представлениях sys.servers и sys.dm_os_windows_info содержатся данные, полезные при централизованном мониторинге нескольких экземпляров сервера.

При управлении инфраструктурой SQL Server стоит автоматизировать проверку версий с помощью PowerShell или SQLCMD. Это упрощает контроль обновлений, выявление устаревших сборок и поддержание единых стандартов среды. Такой подход снижает риск ошибок при выполнении скриптов и установке патчей.

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

Откройте SQL Server Management Studio и подключитесь к нужному серверу, указав имя экземпляра и учетные данные. После установления соединения создайте новый запрос с помощью кнопки New Query.

В окне запроса выполните команду:

SELECT @@VERSION;

Результат содержит полную информацию о версии, включая номер сборки, редакцию (например, Enterprise, Standard, Express), дату выпуска и внутреннюю сборку ядра. Если требуется только номер версии, можно использовать:

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

Поле ProductVersion возвращает числовую версию (например, 16.0.1000.6), ProductLevel показывает установленный уровень обновлений (RTM, SP1, CU3 и т. д.), а Edition – тип установленного выпуска. Эти данные позволяют точно определить соответствие версии установленного сервера поддерживаемым обновлениям и требованиям приложений.

Для удобства можно сохранить этот запрос как шаблон в SSMS, чтобы быстро проверять версию при обслуживании нескольких серверов.

Определение версии с помощью запроса SELECT @@VERSION

Запрос SELECT @@VERSION; – самый быстрый способ узнать точную версию установленного SQL Server. Он возвращает строку с информацией о редакции, номере сборки, версии Windows и архитектуре.

Для выполнения:

  1. Откройте SQL Server Management Studio (SSMS).
  2. Подключитесь к нужному экземпляру SQL Server.
  3. Создайте новый запрос и выполните команду SELECT @@VERSION;.

Результат содержит несколько ключевых частей:

  • Microsoft SQL Server – название продукта и редакция (например, Enterprise, Standard, Express).
  • Версия и сборка – например, 16.0.1000.6 указывает на SQL Server 2022 RTM.
  • Операционная система – тип Windows и архитектура (x64, ARM и т.д.).

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

Microsoft SQL Server 2022 (RTM) - 16.0.1000.6 (X64)
Oct 8 2022 12:00:00
Copyright (C) Microsoft Corporation
Enterprise Edition (64-bit) on Windows Server 2022 Datacenter

Использование SELECT @@VERSION удобно для диагностики, особенно при подключении к удалённым серверам, где нет доступа к интерфейсу SSMS или панели управления.

Использование представления SERVERPROPERTY для получения точных данных

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

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

SELECT
SERVERPROPERTY('ProductVersion') AS Версия,
SERVERPROPERTY('ProductLevel') AS УровеньОбновления,
SERVERPROPERTY('Edition') AS Редакция,
SERVERPROPERTY('EngineEdition') AS ТипДвижка,
SERVERPROPERTY('BuildClrVersion') AS CLR_Версия,
SERVERPROPERTY('InstanceName') AS ИмяЭкземпляра,
SERVERPROPERTY('Collation') AS Сортировка;

Результаты запроса помогут точно определить:

  • ProductVersion – номер сборки, например 16.0.1000.6, указывающий на SQL Server 2022 RTM;
  • ProductLevel – стадию выпуска: RTM, SP1, CU и т. д.;
  • Edition – редакцию продукта (Enterprise, Standard, Developer);
  • EngineEdition – тип экземпляра (1 – Personal/Desktop, 2 – Standard, 3 – Enterprise, 4 – Express, 5 – SQL Azure);
  • BuildClrVersion – версию среды CLR, важную при проверке совместимости сборок .NET;
  • InstanceName – имя экземпляра, полезное при работе с множественными установками;
  • Collation – текущую сортировку базы данных сервера.

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

IF SERVERPROPERTY('EngineEdition') = 5
PRINT 'Работа с Azure SQL Database';
ELSE
PRINT 'Локальный экземпляр SQL Server';

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

Просмотр версии SQL Server через командную строку

Просмотр версии SQL Server через командную строку

Откройте Командную строку (cmd) от имени администратора и выполните команду:

sqlcmd -S имя_сервера -E -Q "SELECT @@VERSION"

Если используется аутентификация SQL Server, укажите имя пользователя и пароль:

sqlcmd -S имя_сервера -U имя_пользователя -P пароль -Q "SELECT @@VERSION"

Microsoft SQL Server 2019 (RTM-CU21) (KB5030333) - 15.0.4312.2 (X64) Sep 12 2023 13:42:55 Copyright (C) 2019 Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2022 Standard 10.0 <Build 20348: SP0>

Если sqlcmd недоступен, используйте PowerShell:

Invoke-Sqlcmd -Query "SELECT @@VERSION" -ServerInstance "имя_сервера"

Команда SELECT @@VERSION подходит для всех редакций SQL Server, включая Express и LocalDB. Для проверки только номера версии можно использовать:

sqlcmd -S имя_сервера -E -Q "SELECT SERVERPROPERTY('ProductVersion')"

Такой подход удобен для сценариев автоматизации и проверки соответствия серверов корпоративным требованиям.

Проверка версии службы SQL Server в диспетчере служб Windows

Откройте Диспетчер служб Windows через Win + R и ввод services.msc. Найдите службу с именем SQL Server (имя_экземпляра) или MSSQL$имя_экземпляра. Для стандартного экземпляра это будет MSSQLSERVER.

Щёлкните службу правой кнопкой и выберите Свойства. В поле Путь к исполняемому файлу указана директория установки, например:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.

Скопируйте полный путь к sqlservr.exe. Запустите командную строку с правами администратора и выполните команду:

Microsoft SQL Server 2019 (RTM) — 15.0.2000.5.

Используйте таблицу соответствия сборок Microsoft для точного определения версии и релиза SQL Server. Этот метод обеспечивает прямое определение версии без необходимости подключения к базе данных или использования дополнительных инструментов.

Определение версии установленного SQL Server через реестр Windows

Версия SQL Server хранится в реестре Windows в ключах, соответствующих установленным экземплярам. Для доступа используется редактор реестра (regedit) или командная строка с утилитой reg.exe.

Путь к ключам зависит от разрядности системы и версии SQL Server:

Разрядность системы Путь в реестре
64-bit HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL
32-bit на 64-bit Windows HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL

В указанном ключе содержатся имена всех экземпляров SQL Server. Для каждого экземпляра существует подкаталог вида:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLServer\CurrentVersion

В разделе CurrentVersion хранятся ключи:

Ключ Описание
CurrentVersion Номер основной версии SQL Server (например, 15.0 для SQL Server 2019)
PatchLevel Номер установленного обновления (CU или SP)
Edition Редакция SQL Server (Standard, Enterprise, Express и т.д.)
Version Полный номер версии, например 15.0.2070.41

Для автоматизации можно использовать команду:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLServer\CurrentVersion"

Результат содержит точную версию SQL Server и информацию о сборке. Это позволяет быстро идентифицировать установленную версию и применяемые обновления без запуска SSMS или SQL-запросов.

Получение информации о версии из журнала ошибок SQL Server

Журнал ошибок SQL Server содержит ключевые сведения о запуске сервера, включая точную версию и уровень обновлений. Каждый экземпляр SQL Server создает собственный файл журнала ошибок, расположенный по умолчанию в папке:

C:\Program Files\Microsoft SQL Server\MSSQLxx.InstanceName\MSSQL\Log

Файл называется ERRORLOG (и имеет дополнительные версии с цифровыми индексами, например ERRORLOG.1).

Для получения информации о версии откройте ERRORLOG в текстовом редакторе или через Management Studio. В начале файла содержится строка, содержащая номер сборки и версию, например:

“Microsoft SQL Server 2019 (RTM) — 15.0.2000.5 (X64)”. Здесь 15.0.2000.5 – полный номер версии.

Можно использовать T-SQL для быстрого доступа к журналу ошибок:

EXEC xp_readerrorlog 0, 1, N'SQL Server is starting';

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

Важно: журналы ошибок содержат только текущие и несколько предыдущих логов, поэтому для старых версий потребуется доступ к архивам ERRORLOG.

Сопоставление номера сборки SQL Server с названием версии и пакетом обновлений

Сопоставление номера сборки SQL Server с названием версии и пакетом обновлений

Номер сборки (Build Number) SQL Server – ключевой параметр для определения точной версии и установленного пакета обновлений. Он отображается в формате Major.Minor.Build.Revision и доступен через запрос:

SELECT @@VERSION;

или

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

Ниже приведены конкретные примеры соответствия номеров сборки и версий SQL Server:

  • 15.0.2000.5 – SQL Server 2019 RTM (без обновлений)
  • 15.0.2070.41 – SQL Server 2019 CU3
  • 14.0.1000.169 – SQL Server 2017 RTM
  • 14.0.3023.28 – SQL Server 2017 CU12
  • 13.0.1601.5 – SQL Server 2016 SP1 RTM
  • 13.0.5026.0 – SQL Server 2016 SP2 CU3
  • 12.0.2000.8 – SQL Server 2014 RTM
  • 12.0.6024.0 – SQL Server 2014 SP3 CU11
  • 11.0.2100.60 – SQL Server 2012 SP4 CU5
  • 10.50.6000.34 – SQL Server 2008 R2 SP3

Для точного сопоставления используйте официальный список Microsoft: KB – SQL Server build numbers. Рекомендуется хранить актуальный список версий и сборок в документации инфраструктуры. Это упрощает проверку соответствия установленной версии требованиям безопасности и поддержки.

При обнаружении устаревшей сборки следует провести плановое обновление с учётом совместимости приложений и резервного копирования базы данных. Используйте SQL Server Management Studio или командную строку для автоматической проверки текущего номера сборки и пакета обновлений.

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

Как узнать точную версию установленного SQL Server через Management Studio?

Откройте SQL Server Management Studio и подключитесь к нужному серверу. В окне «Новая команда» выполните запрос: SELECT @@VERSION; Этот запрос выдаст строку с информацией о версии, дате сборки и уровне обновления SQL Server. Так можно быстро проверить версию и убедиться, что используется требуемая сборка.

Можно ли определить версию SQL Server через консоль Windows?

Да, это возможно. Запустите командную строку и выполните команду: sqlcmd -S имя_сервера -E, чтобы подключиться к серверу. После подключения введите SELECT @@VERSION;. Альтернативно, можно использовать PowerShell с командой Invoke-Sqlcmd. Такой способ удобен, если Management Studio не установлена.

Как определить версию SQL Server без доступа к Management Studio?

Можно использовать встроенные утилиты Windows. Например, через PowerShell выполнить: Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL", чтобы получить список экземпляров. Затем запросить данные о каждом экземпляре в реестре по пути HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\{InstanceID}\MSSQLServer\CurrentVersion. Этот метод позволяет проверить версию без запуска SQL Server Management Studio.

Как определить версию и редакцию SQL Server через T-SQL?

Можно выполнить запрос: SELECT SERVERPROPERTY('ProductVersion') AS Версия, SERVERPROPERTY('ProductLevel') AS Уровень, SERVERPROPERTY('Edition') AS Редакция; Он возвращает точную информацию о версии SQL Server, уровне обновления и редакции (например, Standard, Enterprise, Developer). Этот метод полезен для быстрого получения всех ключевых параметров установки.

Как определить версию SQL Server, если сервер находится в удалённой сети?

Если доступ к серверу ограничен, можно подключиться удалённо через SQL Server Management Studio или PowerShell, указав сетевое имя или IP-адрес. В Management Studio после подключения выполняете запрос SELECT @@VERSION;. В PowerShell можно использовать командлет Invoke-Sqlcmd -ServerInstance "адрес_сервера" -Query "SELECT @@VERSION;". Такой подход позволяет получить информацию о версии без физического доступа к серверу.

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