Определите, какая версия и издание SQL Server Database Engine используется
В этой статье описаны процедуры определения версии и выпуска SQL Server компонент Database Engine.
Оригинальная версия продукта: SQL Server
Оригинальный номер базы знаний: 321185
Чтобы определить версию SQL Server, воспользуйтесь одним из указанных ниже способов.
Сведения о версии соответствуют шаблону major.minor.build.revision . Информационная функция «редакция» обычно не используется при проверке версии SQL Server.
- Способ 1: подключитесь к серверу с помощью Обозревателя объектов в SQL Server Management Studio. После подключения обозревателя объектов в нем будут отображаться сведения о выпуске (в скобках), наряду с именем пользователя, которое используется для подключения к конкретному экземпляру SQL Server.
- Метод 2 Просмотрите первые несколько строк в файле Errorlog для данного экземпляра. По умолчанию журнал ошибок расположен в файлах Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG и ERRORLOG.n. Записи могут выглядеть следующим образом:
2011-03-27 22:31:33.50 Server Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) March 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Express Edition (64-bit) on Windows NT 6.1 (Build 7600: )
Эта запись содержит все необходимые сведения о продукте, такие как версия, уровень продукта, 32- или 64-разрядная платформа, выпуск SQL Server и версия операционной системы, в которой выполняется SQL Server.
- SQL Server 2014 RTM с накопительным пакетом обновления 10 (CU10) и более поздние версии;
- SQL Server 2014 с пакетом обновления 1 (SP1) и накопительным пакетом обновления 3 (CU3) и более поздние версии;
- SQL Server 2012 с пакетом обновления 2 (SP2) и накопительным пакетом обновления 7 (CU7) и более поздние версии.
Select @@version
Ниже приведен пример выходных данных этого запроса:
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) March 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Express Edition (64-bit) on Windows NT 6.1 (Build 7600: )
- SQL Server 2014 RTM с накопительным пакетом обновления 10 (CU10) и более поздние версии;
- SQL Server 2014 с пакетом обновления 1 (SP1) и накопительным пакетом обновления 3 (CU3) и более поздние версии;
- SQL Server 2012 с пакетом обновления 2 (SP2) и накопительным пакетом обновления 7 (CU7) и более поздние версии.
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
Примечание. Этот запрос поддерживается любыми экземплярами SQL Server 2000 или более поздних версий.
- версия продукта (например, 10.0.1600.22);
- уровень продукта (например, RTM);
- выпуск (например, корпоративный).
Результат выполнения запроса может иметь следующий вид:
| версия продукта | уровень продукта | выпуск |
|---|---|---|
| 14.0.2027.2 | RTM | Developer Edition (64-разрядная версия) |
- Функция SERVERPROPERTY возвращает отдельные свойства, относящиеся к сведениям о версии, хотя функция @@VERSION объединяет выходные данные в одну строку. Если приложению требуются отдельные строки свойств, можно использовать функцию SERVERPROPERTY, чтобы вернуть их вместо анализа результатов @@VERSION.
- Этот способ также применяется для экземпляров базы данных SQL Azure. Дополнительные сведения см. в статье SERVERPROPERTY (Transact-SQL) электронной документации по SQL Server.
- Начиная с накопительного пакета обновления 10 для SQL Server 2014 RTM и накопительного пакета обновления 3 для пакета обновления 1 для SQL Server 2014, в инструкцию ServerProperty были добавлены дополнительные свойства. Для просмотра полного списка см. SERVERPROPERTY (Transact-SQL).
См. также
- Определение сведений о версии компонентов SQL Server и клиентских средств
- Последние обновления и журнал версий для SQL Server
Как определить версию SQL-сервера
Знать точную версию установленного SQL-сервера полезно. Это может пригодиться для выбора пакетов обновления, инвернтаризаации и, конечно, при установке приложений, работающих с базами данных.
Самый простой способ — опросить встроенную переменную @@Version:

Эта переменная содержит самые важные реквизиты: номер версии, тип редакции, а также сведения об окружении (операционная система и т.п.)
Однако, у этого способа есть два недостатка. Данных, содержащихся в этой переменной может оказаться недостаточно (например, для инвернатизации сведений явно маловато). А самое неприятное — переменная содержит просто текст, в котором в кучу свалены все сведения. Это нормально, если вы сами собираетесь читать показания @@Version, но если нужно настроить автоматическое распознавание версии или других реквизитов — будет неудобно.
Второй способ устраняет сразу оба недостатка — он позволяет получить атомарные значения всех реквизитов, а также сообщает много подробностей о параметрах и настройках SQL-сервера. Это функция ServerProperty:

При помощи ServerProperty можно узнать более тридцати различных настроек SQL-сервера и все они выдаются в очень удобном виде. Однако, ServerProperty сообщает нам только о том, что настроено внутри SQL-сервера и не даёт никакой информации об окружении. А для инвернаризации было бы полезно получить некоторые сведения об операционной системе и конфигурации сервера.
В этом нам поможет процедура xp_MSVer. Про внутренние настройки SQL-сервера она не расскажет нам так подробно, как ServerProperty, зато сообщит интересные сведения о процессорах, памяти и операционной системе:

Если вас интересует одно конкретное свойство, можете вызвать xp_MSVer с параметром:

Но при любом способе вызова xp_MSVer возвращает таблицу. Либо из одной строки, либо из нескольких. Это не очень удобно, если вы хотите использовать полученные значения в каких-то других запросах и отчётах. Справиться с этой проблемой не сложно. Поместите результат работы процедуры в табличную переменную и дальше работайте с ней:

Заказ добавлен в Корзину.
Для завершения оформления, пожалуйста, перейдите в Корзину!
SQL: Как определить версию и редакцию SQL сервера
Чтобы определить версию Microsoft SQL сервера, используя SQL Server Management Studio, необходимо, правой кнопкой мыши нажать на имени экземпляра и выбрать Properties.
На первой же закладке будет отображаться версия и редакция SQL сервера, а также часть других характеристик.
Определение версии SQL сервера, используя T-SQL
Один из самых простых и запоминающихся способов, это выполнить простой запрос с использованием глобальной переменной встроенной переменной:
SELECT @@Version;

Результатом выполнения этого запроса будет строка с информацией о сервере, например, подобная:
Однако, такой результат не очень удобен для дальнейшей обработки и структурирования информации. Если необходимо получить информацию о текущих параметрах сервера в структурированном виде и эта информация подлежит дальнейшей обработке, то лучше использовать функцию SERVERPROPERTY. Функция SERVERPROPERTY возвращает сведения о свойствах экземпляра сервера, например, такие параметры как версия, редакция, номер билда, а также характеристики ОС. Подробную информацию о функции SERVERPROPERTY можно посмотреть в документации, на странице: https://docs.microsoft.com/ru-ru/sql/t-sql/functions/serverproperty-transact-sql .
Пример запроса и его результат показан ниже.
SELECT SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel, SERVERPROPERTY('ProductUpdateLevel') AS ProductUpdateLevel, SERVERPROPERTY('Collation') AS Collation, SERVERPROPERTY('InstanceName') AS InstanceName, SERVERPROPERTY('IsClustered') AS IsClustered;

Результат запроса:
В запросе можно указывать и другие поля, если в них есть необходимость.
Определение версии SQL сервера, используя версии файлов

Если есть возможность просмоттреть свойства исполняемого файла sqlservr.exe расположенного в папке: «C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Binn\». В свойствах файла на закладке Details отображается текущий установленнный билд, по которому можно определить версию и установленные обновления.
Как узнать версию и редакцию MS SQL Server?
В этой статье мы рассмотрим несколько способов определить версию и редакцию установленного сервера MS SQL Server. Предположим, что вы являетесь администратором баз данных, и вам было поручено запланировать обновление на одном из хостов SQL Serve. Первая мысль, которая приходит вам на ум «Как узнать какая версия и редакция используется на данном сервере SQL?».
Мы рассмотрим несколько самых простых способов определения установленных версий SQL-сервера. Эти методы применимы ко всем выпускам MS SQL Server.
Версия MS SQL в SQL Server Management Studio
Запустите SQL Server Management Studio (SSMS), и откройте свойства вашего инстанса.
Версия и номер билда SQL Server указаны на вкладке General.

SQL запрос @@version
Запустите консоль SQL Server Management Studio и авторизуйтесь на сервере. Щелкните правой кнопкой по серверу и выберите пункт New Query. В окне запроса укажите следующий код:
Нажмите Execute. Результат выполнения запроса будет содержать полную информацию об установленной редакции SQL, номере версии, и окружении (операционная система и т.д.) и выглядеть примерно так.
Microsoft SQL Server 2014 (SP2) (KB3171021) — 12.0.5000.0 (X64) Enterprise Edition (64-bit) on Windows NT 6.3

SELECT @@version не выдает информацию об установленном сервис-паке. Вы можете определить Service Pack по номеру версии на странице http://support.microsoft.com/kb/321185/en. В нашем примере версия 12.0.5000.0 означает, что установлен SP2.

Таблица соответствия между билдами и версиями MS SQL:
| SQL Server 2022 | 16.0 |
| SQL Server 2019 | 15.0 |
| SQL Server 2017 | 14.0 |
| SQL Server 2016 | 13.0 |
| SQL Server 2014 | 12.0 |
| SQL Server 2012 | 11.0 |
| SQL Server 2008 R2 | 10.5 |
| SQL Server 2008 | 10.0 |
Также вы можете выполнить команду SELECT @@VIERSION и получить версию SQL Server из командной строки:
sqlcmd -S ServerName\InstanceName -E -Q «SELECT @@VERSION»
Если на компьютере установлен модуль SQL PowerShell, выполните команду:
Invoke-SqlCmd -query «select @@version» -ServerInstance «localhost»
Если нужно получить версию, редакцию и установленный SP в табличной форме, можно воспользоваться таким T-SQL запросом:
SELECT SERVERPROPERTY(‘productversion’), SERVERPROPERTY (‘productlevel’), SERVERPROPERTY (‘edition’)

Также вы получить значение версии с помощью встроенной процедуры xp_MSVer:
EXECUTE xp_MSVer ‘ProductVersion’
EXECUTE xp_MSVer ‘ProductName’

Или через функцию SERVERPROPERTY:
SELECT
SERVERPROPERTY(‘Edition’) AS Edition,
SERVERPROPERTY(‘ProductVersion’) AS ProductVersion,
SERVERPROPERTY(‘ProductLevel’) AS ProductLevel,
SERVERPROPERTY(‘ProductUpdateLevel’) AS ProductUpdateLevel
Если у вас недостаточно прав для авторизации с помощью SQL Server Management Studio, перейдите к следующему способу.
Версия SQL в свойствах файла sqlservr.exe
Это наверно самый простой способ. Просто перейдите в каталог с исполняемыми файлами SQL. К примеру, это может быть каталог C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn. Найдите файл sqlservr.exe и откройте его свойства. Перейдите на вкладку Details. Версия и редакция сервера будет присутствовать в полях Product version и Product name.

Product name: Microsoft SQL Server Product version: 12.0.5000.0
Также версию MS SQL Server можно определить по логу ERROR. По умолчанию в Windows он находится здесь Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG
Get-Content C:\ Program Files\Microsoft SQL Server\MSSQL.13\MSSQL\LOG\ERRORLOG -Tail 100 | where
