Как узнать версию и редакцию 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, номере версии, и окружении (операционная система и т.д.) и выглядеть примерно так.

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.

Также версию 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
Как узнать версию Microsoft SQL Server на T-SQL
Приветствую Вас на сайте Info-Comp.ru! В этом материале рассмотрено несколько способов определения версии Microsoft SQL Server и других деталей сервера, с использованием языка T-SQL.

Способы определения версии Microsoft SQL Server на T-SQL
Существует несколько способов узнать, какая версия SQL Server используется. Мы рассмотрим способы, которые подразумевают выполнение определённых SQL инструкций, при этом каждый из этих способов будет выдавать Вам примерно одинаковый набор информации, поэтому Вы можете использовать тот способ, который будет Вам удобнее в Вашем конкретном случае.
Способ 1 – функция @@VERSION
Первый способ предполагает использование системной функции @@VERSION.
@@VERSION – системная функция конфигурации, она возвращает сведения об установленном Microsoft SQL Server.
Это, наверное, классический способ определения версии Microsoft SQL Server, который предполагает использование языка T-SQL.
Запрос с использованием этой функции выглядит очень просто

Способ 2 – функция SERVERPROPERTY
Использование предыдущего способа в некоторых случаях бывает не очень удобным, так как все данные возвращаются в виде единой строки. Дело в том, что может возникнуть необходимость программно определить и получить какие-то конкретные свойства SQL Server, например, номер версии SQL Server, или только номер сборки, может быть, редакцию SQL Server или другую информацию о сервере.
И если для этого использовать функцию @@VERSION, то придется выполнять дополнительные действия с извлечением соответствующей информации из строки, которую возвращает функция.
Поэтому в таких случаях использовать функцию @@VERSION не стоит, так как в SQL Server существует функция SERVERPROPERTY, которая возвращает конкретную информацию об экземпляре SQL Server.
SERVERPROPERTY – системная функция SQL Server для получения метаданных, она возвращает информацию о свойствах установленного экземпляра SQL Server.
Использовать функцию SERVERPROPERTY также очень просто, в нее необходимо передать один параметр – это название свойства, данные которого Вы хотите получить.
Например следующий запрос возвращает: редакцию SQL Server, уровень продукта и полный номер версии SQL Server.

Существуют следующие свойства, информацию о которых можно получить, используя функцию SERVERPROPERTY
- ServerName – имя экземпляра и имя компьютера;
- MachineName – имя компьютера, на котором запущен экземпляр SQL Server;
- InstanceName – имя экземпляра, к которому подключен пользователь;
- Edition – редакция SQL Server:
- Enterprise Edition;
- Standard Edition;
- Developer Edition;
- Express Edition.
- RTM – исходная выпущенная версия;
- SPn – версия пакета обновления;
- CTPn – ознакомительная версия для сообщества.
- OD – выпуск по запросу для определенного клиента;
- GDR – выпуск для общего распространения посредством обновления Windows.
- 1 – в кластере;
- 0 – не в кластере;
- NULL – недопустимый ввод, ошибка или неприменимо.
- 1 – однопользовательский режим;
- 0 – не однопользовательский режим;
- NULL – недопустимый ввод, ошибка или неприменимо.
Более подробно про все свойства можете почитать в официальной документации.
Способ 3 – хранимая процедура sys.xp_msver
Кроме перечисленных выше функций в Microsoft SQL Server существует еще и системная хранимая процедура sys.xp_msver, которая возвращает информацию о версии SQL Server.
sys.xp_msver – системная хранимая процедура, которая возвращает информацию о версии Microsoft SQL Server.
Иногда вызывать хранимую процедуру предпочтительней, чем посылать обычные SQL запросы, поэтому в SQL Server и существуют системные хранимые процедуры.
Чтобы посмотреть всю информацию, которую возвращает процедура sys.xp_msver, необходимо вызвать ее без параметров.
Чтобы получить конкретную информацию, необходимо в качестве параметра передать название свойства.

Доступны следующие свойства:
- ProductName – название продукта;
- ProductVersion – номер версии SQL Server;
- Language – языковая версия SQL Server;
- FileVersion – версия исполняемого файла SQL Server:
- И другие (подробнее вофициальной документации).
Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.
How to tell what SQL Server versions you are running
One issue that I am often faced with is determining the version of the database engine installed on SQL Server. In this tip we look at how to find the version of SQL Server that is running and also what service pack, hotfix, security update or cumulative update is installed.
Solution
There are a few ways to determine the version of SQL Server that is installed which we will cover in this tutorial.
How to tell what version of Microsoft SQL Server you are running?
- One simple way to do this is to run SELECT @@version
- Another option is to right click on the SQL Server instance name in SSMS and select Properties
- You can also use the SERVERPROPERTY function to get details about the version of SQL Server
- Check out all of the methods in this tip.
Method 1 — Find Microsoft SQL Server Version with SSMS
The first is by using the functionality in SQL Server Management Studio and right clicking on the instance name and selecting Properties. In the general section you will see information such as on the following screenshots. The «Product version» or «Version» gives you a number of the version that is installed. As you can see with the SQL Server 2000 screenshot it also shows you the service pack that is installed, this is similar for SQL Server 6.5 and SQL Server 7.0 in Enterprise Manager.
SQL Server 2000
SQL Server 2005
SQL Server 2008 / 2008 R2 / 2012 / 2014 / 2016 / 2017 / 2019 / 2022
This will look similar for all of these versions of SQL Server.
Method 2 — Find Microsoft SQL Server Version with T-SQL
Another option is to run the T-SQL command to give you this information. As you can see the output from the different versions of SQL Server and Windows Server is pretty much the same. The one thing that you do not get when you do this is the Service Pack name like you do in Enterprise Manager.
When this is T-SQL code or a stored procedure with this command is run it will give you information such as the build number and Windows Server operating system:
SQL Server 2000
Microsoft SQL Server 2000 — 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)SQL Server 2005
Microsoft SQL Server 2005 — 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)SQL Server 2008
Microsoft SQL Server 2008 (SP1) — 10.0.2573.0 (X64)
Feb 4 2011 11:27:06
Copyright (c) 1988-2008 Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)SQL Server 2008 R2
Microsoft SQL Server 2008 R2 (RTM) — 10.50.1600.1 (X64)
Apr 2 2010 15:48:46
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2)SQL Server 2012
Microsoft SQL Server 2012 — 11.0.2100.60 (X64)
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Web Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)SQL Server 2014
Microsoft SQL Server 2014 — 12.0.2254.0 (X64)
Jul 25 2014 18:52:51
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <x64> (Build 7601: Service Pack 1) (Hypervisor)SQL Server 2016
Microsoft SQL Server 2016 (RTM) — 13.0.1601.5 (X64)
Apr 29 2016 23:23:58
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows 10 Pro 6.3 <x64> (Build 14393: )SQL Server 2017
Microsoft SQL Server 2017 (RTM) — 14.0.1000.169 (X64)
Aug 22 2017 17:04:49
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 16299: )SQL Server 2019
Microsoft SQL Server 2019 (RTM) — 15.0.2000.5 (X64)
Sep 24 2019 13:48:23
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 17763: )SQL Server 2022
Microsoft SQL Server 2022 (CTP2.0) — 16.0.600.9 (X64)
May 20 2022 13:29:42
Copyright (C) 2022 Microsoft Corporation
Enterprise Evaluation Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: ) (Hypervisor)Method 3 — Find SQL Server version by exe file details
Another option to determine the version of the SQL Server database install is to look at the version of the SQL Server files. This is an option if SQL Server is not running and you need to find the version.
Open Windows Explorer and navigate to the folder where SQL Server is installed such as «C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn», for SQL Server 2008.
Find file sqlservr.exe and right click and select properties and a window will open like the one below. Here we can see that this file is version 10.0.2573.0.
Method 4 — Find SQL Server version with SERVERPROPERTY
One of our readers, Ben Pomicter, also suggested this method using the SERVERPROPERTY function.
When run it returns results similar to the following:

What do these SQL Server Build Numbers Mean?
So now that you have this number such as 9.00.1399.06 or 8.00.760 what do these build numbers even mean? The first digits refer to the version of SQL Server such as:
- 8.0 for SQL Server 2000
- 9.0 for SQL Server 2005
- 10.0 for SQL Server 2008
- 10.5 for SQL Server 2008 R2
- 11.0 for SQL Server 2012
- 12.0 for SQL Server 2014
- 13.0 for SQL Server 2016
- 14.0 for SQL Server 2017
- 15.0 for SQL Server 2019
- 16.0 for SQL Server 2022
Here are a couple of links to other articles that give you the details of what is installed for SQL Server 6.0, 6.5, 7.0, 2000, 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 and 2022 based on the version number that is returned.
- SQL Server Builds and Service Pack Information (this is the most complete list)
- How to identify your SQL Server version and edition
Next Steps
- Keep these links handy to determine what version of SQL Server you are running


About the author
alt=»MSSQLTips author Greg Robidoux» width=»100″ height=»150″ /> Greg Robidoux is the President and founder of Edgewood Solutions, a technology services company delivering services and solutions for Microsoft SQL Server. He is also one of the co-founders of MSSQLTips.com. Greg has been working with SQL Server since 1999, has authored numerous database-related articles, and delivered several presentations related to SQL Server. Before SQL Server, he worked on many data platforms such as DB2, Oracle, Sybase, and Informix.
Article Last Updated: 2022-06-09
Comments For This Article
Thursday, April 27, 2023 — 12:37:08 PM — Greg Robidoux Back To Top (91136) Thanks C Little. Using @@VERSION is one of the options listed above. Thursday, April 27, 2023 — 11:55:17 AM — C Little Back To Top (91135) Why not just run this? This is what I use for server info
Find server details All:
Hi Sergei, sure you could use the RTM version, but there have been several cumulative updates since the RTM release and it would make sense to apply the updates.
Could�rtm version of SQL Server 2017 be installed in a production environment?
Thank you very much! Method 4 was exactly what i was looking for.�
Thanks a lot for your
Method 4 was an excellent additoin and worked great. Thanks
How to check sql server version [All the instances], IS, AS and RS version along with service startup type and service acount details,
Method 5
Works on SQL Server 2016 & SQL Server 2014 SP1+
SELECT SERVERPROPERTY (‘ProductMajorVersion’) AS ‘ProductMajorVersion’
, SERVERPROPERTY (‘ProductMinorVersion’) AS ‘ProductMinorVersion’
, SERVERPROPERTY (‘ProductBuild’) AS ‘ProductBuild’
, SERVERPROPERTY (‘ProductUpdateLevel’) AS ‘ProductUpdateLevel’
, SERVERPROPERTY (‘ProductUpdateReference’) AS ‘ProductUpdateReference’Thanks Ben for another way to get this data. I will update the tip to include your script.
I’m surprised the SERVERPROPERTY function isn’t mentioned. That would seem to be the most straightforward way, especially if you’re pulling version/edition/SP into a report or repository (easier than parsing the output of @@VERSION), e.g.
select CASE WHEN CONVERT(VARCHAR(128), SERVERPROPERTY (‘productversion’)) like ‘8%’ THEN ‘SQL2000’
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY (‘productversion’)) like ‘9%’ THEN ‘SQL2005’
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY (‘productversion’)) like ‘10.0%’ THEN ‘SQL2008’
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY (‘productversion’)) like ‘10.5%’ THEN ‘SQL2008 R2’
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY (‘productversion’)) like ‘11%’ THEN ‘SQL2012’
WHEN CONVERT(VARCHAR(128), SERVERPROPERTY (‘productversion’)) like ‘12%’ THEN ‘SQL2014’
ELSE ‘unknown’
END AS MajorVersion,
SERVERPROPERTY(‘ProductLevel’) AS ProductLevel,
SERVERPROPERTY(‘Edition’) AS Edition,
SERVERPROPERTY(‘ProductVersion’) AS ProductVersionwhich would give output such as
MajorVersion ProductLevel Edition ProductVersion
SQL2008 R2 SP1 Standard Edition (64-bit) 10.50.2796.0Method 3 was able to easily provide me with all the info I needed.
Unfortunately, I have found that the version # does not reflect the patch level. The version # represents the base level for the SQL Server installation. However, if you want to know if your server has the latest patches, you need to check the OS Registry. Do you know of a tool that can provide the patch level for SQL server? The MAP tool only provides the version #.
Awesome, thanks so much for taking the time to write this. As usual, a third party source of information is far superior to that of Microsoft themselves. Kudos.
You could also use xp_msver to retrieve the SQL version and the OS version, but in a table form that is more comprehensable.
Take a look at these posts to see if this gives you want you need:
I think if you run SELECT @@VERSION it will say it is an evaluation edition.
How do you decipher if it is a Demo version with an expiration date?
Another link in Spanish:
Hi Geoff, I guess technically if the only access to SQL Server is the server itself and there are no connections from other machines just having the server level license should be sufficient. Take a look at this document for more info on SQL 2005 licensing: http://download.microsoft.com/download/e/c/a/ecafe5d1-b514-48ab-93eb-61377df9c5c2/SQLServer2005Licensingv1.1.doc
If you purchase: SQL Server 2005 Standard Full edition with Product Key. That the owner says «does not have a CAL with it.» What does that really mean? (*Understand, that we are not wanting to network version)
Can you still run SQL 2005 as a single User on a single PC?
OR do you have to purchase an actual CAL to make it work?
Iain, thanks for letting me know.
That link has been updated and now when you get to that page you need to select the version of SQL Server you are working with.
Good article apart from
http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx — SQL Server versions (this is the most complete list)
That’s a dead link.
The tip has been updated to reflect the note above from James.
«The first is by using either Enterprise Manager or SQL Server Management Studio and right clicking on the database instance name and selecting properties.»
Как узнать версию установленного SQL сервера?
Добрый день, я знаю про SELECT @@VERSION, а есть другие способы?

Есть 2 основных ситуации при получении версии Microsft SQL Server:
- У вас есть возможность подключиться к серверу (через SSMS, sqlcmd или любой другой клиент)
- У вас нет возможности подключиться к серверу, но есть доступ к серверу Windows (или Linux если это SQL Server 2017)
Рассмотрим сначала первый вариант. Большая часть информации доступна и поддерживается в актуальном виде в отличной и крайне рекомендуемой к прочтению KB321185: Определение версии, выпуска и уровня обновления системы SQL Server и ее компонентов
Подключитесь к серверу через SSMS. После подключения в обозревателе объектов в нем будут отображаться сведения о выпуске (в скобках), наряду с именем пользователя, которое используется для подключения к конкретному экземпляру SQL Server.

С помощью запроса: SELECT @@VERSION; . Пример вывода для последней на текущий момент версии SQL Server 2016 SP1 CU4 (подробнее о версиях и обновлениях SQL Server можно прочитать здесь):
Запрос работающий для всех версий SQL Server, начиная с 2000:
Расширенная версия со всеми возможными свойствами сервера (взята из замечательных диагностических запросов Glenn Berry), но некоторые параметры доступны только для последних версий SQL Server:
Начиная с выпуска SQL Server 2008, можно также использовать отчет об обнаруженных установленных компонентах SQL Server. Этот отчет можно найти на странице Сервис -> Центра установки SQL Server . Это средство отображает сведения обо всех экземплярах SQL Server, установленных в системе. К ним относятся клиентские средства, такие как SQL Server Management Studio. Единственное, о чем необходимо помнить: это средство может выполняться только локально, в системе, в которой установлен экземпляр SQL Server. Его нельзя использовать для получения сведений об удаленных серверах. Подробнее здесь
Теперь рассмотрим способы узнать версию для второго варианта когда у вас нет возможности (или прав) подключится к SQL Server:
\MSSQL\Binn\sqlservr.exe -v [-s InstanceName]
Если на сервере установлен только один инстанс SQL Server, то -s не нужен:
В противном случае необходимо указать название интересующего инстанса, например: