Как узнать версию Microsoft SQL Server на T-SQL

Приветствую Вас на сайте Info-Comp.ru! В этом материале рассмотрено несколько способов определения версии Microsoft SQL Server и других деталей сервера, с использованием языка T-SQL.

Как узнать версию Microsoft SQL Server на T-SQL

Заметка! Список и расшифровка версий Microsoft SQL Server.

Способы определения версии Microsoft SQL Server на T-SQL

Существует несколько способов узнать, какая версия SQL Server используется. Мы рассмотрим способы, которые подразумевают выполнение определённых SQL инструкций, при этом каждый из этих способов будет выдавать Вам примерно одинаковый набор информации, поэтому Вы можете использовать тот способ, который будет Вам удобнее в Вашем конкретном случае.

Способ 1 – функция @@VERSION

Первый способ предполагает использование системной функции @@VERSION.

@@VERSION – системная функция конфигурации, она возвращает сведения об установленном Microsoft SQL Server.

Это, наверное, классический способ определения версии Microsoft SQL Server, который предполагает использование языка T-SQL.

Запрос с использованием этой функции выглядит очень просто

   
   SELECT @@VERSION AS SQLServerVerion;

Скриншот 1

Функция @@VERSION возвращает следующие данные в виде одной строки
Полная версия SQL Server
Архитектура процессора
Дата сборки SQL Server
Заявление об авторских правах
Редакция SQL Server
Версия операционной системы

Заметка! Visual Studio Code (VS Code) для разработки на Transact-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.

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

Скриншот 2

Существуют следующие свойства, информацию о которых можно получить, используя функцию SERVERPROPERTY

  • ServerName – имя экземпляра и имя компьютера;
  • MachineName – имя компьютера, на котором запущен экземпляр SQL Server;
  • InstanceName – имя экземпляра, к которому подключен пользователь;
  • Edition – редакция SQL Server:
    • Enterprise Edition;
    • Standard Edition;
    • Developer Edition;
    • Express Edition.
  • ProductLevel – уровень продукта:
    • RTM – исходная выпущенная версия;
    • SPn – версия пакета обновления;
    • CTPn – ознакомительная версия для сообщества.
  • ProductVersion – версия экземпляра SQL Server в формате ОсновнойНомер.ДополнительныйНомер.НомерСборки.РедакцияСборки;
  • ProductMajorVersion – основной номер версии;
  • ProductMinorVersion – дополнительный номер версии;
  • ProductBuild – номер сборки;
  • ProductBuildType – тип сборки:
    • OD – выпуск по запросу для определенного клиента;
    • GDR – выпуск для общего распространения посредством обновления Windows.
  • ProductUpdateLevel – уровень обновления текущей сборки. CU означает накопительный пакет обновления;
  • ProductUpdateReference – статья базы знаний для этого выпуска;
  • IsClustered – экземпляр сервера настроен для работы в отказоустойчивом кластере:
    • 1 – в кластере;
    • 0 – не в кластере;
    • NULL – недопустимый ввод, ошибка или неприменимо.
  • IsSingleUser – SQL Server запущен в однопользовательском режиме:
    • 1 – однопользовательский режим;
    • 0 – не однопользовательский режим;
    • NULL – недопустимый ввод, ошибка или неприменимо.

Более подробно про все свойства можете почитать в официальной документации.

Способ 3 – хранимая процедура sys.xp_msver

Кроме перечисленных выше функций в Microsoft SQL Server существует еще и системная хранимая процедура sys.xp_msver, которая возвращает информацию о версии SQL Server.

sys.xp_msver – системная хранимая процедура, которая возвращает информацию о версии Microsoft SQL Server.

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

Заметка! Чем отличаются функции от хранимых процедур в T-SQL.

Чтобы посмотреть всю информацию, которую возвращает процедура sys.xp_msver, необходимо вызвать ее без параметров.

   
   EXEC sys.xp_msver;

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

   
   EXEC sys.xp_msver 'ProductVersion';

Скриншот 3

Доступны следующие свойства:

  • ProductName – название продукта;
  • ProductVersion – номер версии SQL Server;
  • Language – языковая версия SQL Server;
  • FileVersion – версия исполняемого файла SQL Server:
  • И другие (подробнее в официальной документации).

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.

На сегодня это все, надеюсь, материал был Вам полезен, удачи!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.