Поделиться через


SERVERPROPERTY (Transact-SQL)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Возвращает сведения о свойстве экземпляра сервера.

Соглашения о синтаксисе Transact-SQL

Примечание.

Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).

Синтаксис

SERVERPROPERTY ( 'propertyname' )

Внимание

Номера версий ядро СУБД для SQL Server и База данных SQL Azure не сопоставимы друг с другом и представляют внутренние номера сборок для этих отдельных продуктов. Ядро СУБД Базы данных SQL Azure основано на той же базе кода, что и ядро СУБД SQL Server. Что важнее всего, ядро СУБД в базе данных Azure SQL всегда имеет самые новые части ядра СУБД SQL. Версия 12 базы данных Azure SQL более новая, чем версия 16 SQL Server.

Аргументы

propertyname

Выражение, содержащее сведения о свойстве, которые необходимо вернуть для сервера. propertyname может иметь одно из указанных ниже значений. В случае использования недопустимого или не поддерживаемого в этой версии ядра СУБД значения propertyname будет возвращено NULL.

Свойство Возвращаемые значения
BuildClrVersion Версия среды CLR( среда CLR) Microsoft платформа .NET Framework, которая использовалась при создании экземпляра SQL Server.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: nvarchar(128)
Collation Имя параметров сортировки для сервера, установленного по умолчанию.

NULL = недопустимый ввод или произошла ошибка.

Базовый тип данных: nvarchar(128)
CollationID Идентификатор параметров сортировки SQL Server.

Базовый тип данных: int
ComparisonStyle Стиль сравнения Windows для параметров сортировки.

Базовый тип данных: int
ComputerNamePhysicalNetBIOS NetBIOS-имя локального компьютера, на котором в настоящее время выполняется экземпляр SQL Server.

Для кластеризованного экземпляра SQL Server в отказоустойчивом кластере это значение изменяется при отработке отказа экземпляра SQL Server на другие узлы в отказоустойчивом кластере.

В автономном экземпляре SQL Server это значение остается постоянным и возвращает то же значение, что и свойство MachineName.

Примечание. Если экземпляр SQL Server находится в отказоустойчивом кластере и вы хотите получить имя отказоустойчивого кластеризованного экземпляра, используйте свойство MachineName.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: nvarchar(128)
Edition Установленный выпуск продукта экземпляра SQL Server. Используйте значение этого свойства для определения функций и ограничений, таких как ограничения емкости вычислений по выпуску SQL Server. 64-разрядные версии ядро СУБД добавления (64-разрядного) к версии.

Возвращает:

выпуск «Enterprise Edition»;

Enterprise Edition: лицензирование на ядро;

выпуск «Enterprise Evaluation Edition»;

выпуск Business Intelligence Edition;

выпуск «Developer Edition»;

выпуск «Express Edition»;

экспресс-выпуск с дополнительными службами;

выпуск «Standard Edition»;

«Web Edition».

"SQL Azure" указывает База данных SQL или Azure Synapse Analytics

"Azure SQL Edge Developer" обозначает выпуск SQL Azure для пограничных вычислений, предназначенный только для разработчиков.

"Azure SQL Edge" указывает платный выпуск для SQL Azure для пограничных вычислений.

Базовый тип данных: nvarchar(128)
EditionID EditionID представляет установленный выпуск продукта экземпляра SQL Server. Используйте значение этого свойства для определения функций и ограничений, таких как ограничения емкости вычислений по выпуску SQL Server.

1804890536 = Enterprise

1872460670 = Enterprise Edition: лицензирование по числу ядер

610778273 = Корпоративная оценка

284895786 = Business Intelligence

-2117995310 = Developer

-1592396055 = Express

-133711905 = Express с дополнительными службами

–1534726760 = Standard

1293598313 = Web

1674378470 = База данных SQL или Azure Synapse Analytics

-1461570097 = Azure SQL Edge Developer

1994083197 = Azure SQL Edge

Базовый тип данных: bigint
EngineEdition ядро СУБД выпуск экземпляра SQL Server, установленного на сервере.

1 = персональный или классический модуль (недоступно в SQL Server 2005 (9.x) и более поздних версиях.)

2 = стандартный (для стандартных, веб-аналитики и бизнес-аналитики.)

3 = Корпоративная (для ознакомительных, разработчиков и корпоративных выпусков).)

4 = Express (для Express, Express с инструментами и Express с расширенными службами)

5 = База данных SQL

6 = Azure Synapse Analytics

8 = Управляемый экземпляр SQL Azure

9 = Azure SQL Edge (для всех выпусков Azure SQL Edge)

11 = бессерверный пул SQL в Azure Synapse

Базовый тип данных: int
FilestreamConfiguredLevel Настроенный уровень доступа FILESTREAM. Дополнительные сведения см. в разделе Уровень доступа к файловому потоку.

0 = FILESTREAM отключен

1 = FILESTREAM включен для доступа Transact-SQL

2 = FILESTREAM включен для потокового доступа Transact-SQL и локального потокового доступа Win32

3 = FILESTREAM включен для потокового доступа Transact-SQL и локального и удаленного потокового доступа Win32

Базовый тип данных: int
FilestreamEffectiveLevel Действующий уровень доступа FILESTREAM. Это значение может отличаться от значения FilestreamConfiguredLevel, если уровень был изменен и ожидается перезапуск экземпляра или перезагрузка компьютера. Дополнительные сведения см. в разделе Уровень доступа к файловому потоку.

0 = FILESTREAM отключен

1 = FILESTREAM включен для доступа Transact-SQL

2 = FILESTREAM включен для потокового доступа Transact-SQL и локального потокового доступа Win32

3 = FILESTREAM включен для потокового доступа Transact-SQL и локального и удаленного потокового доступа Win32

Базовый тип данных: int
FilestreamShareName Имя общего ресурса, используемое FILESTREAM.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: nvarchar(128)
HadrManagerStatus Область применения: SQL Server 2012 (11.x) и более поздних версий.

Указывает, запущен ли диспетчер групп доступности AlwaysOn.

0 = не запущен, ожидает связи.

1 = запущен и выполняется.

2 = не запущен и завершился неудачно.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
InstanceDefaultBackupPath Область применения: SQL Server 2019 (15.x) и более поздних версий.

Имя пути по умолчанию к файлам резервных копий экземпляра.
InstanceDefaultDataPath Область применения: с SQL Server 2012 (11.x) до текущей версии в обновлениях, выпущенных начиная с конца 2015 г.

Имя пути по умолчанию к файлам данных экземпляра.

Базовый тип данных: nvarchar(128)
InstanceDefaultLogPath Область применения: с SQL Server 2012 (11.x) до текущей версии в обновлениях, выпущенных начиная с конца 2015 г.

Имя пути по умолчанию к файлам журналов экземпляра.

Базовый тип данных: nvarchar(128)
InstanceName Имя экземпляра, к которому подключен пользователь.

Возвращает значение NULL в случае, если имя экземпляра установлено по умолчанию, при возникновении ошибки и в случае, если входные данные оказываются недопустимы.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: nvarchar(128)
IsAdvancedAnalyticsInstalled Возвращает значение 1, если компонент расширенной аналитики был установлен во время установки системы, или значение 0, если компонент расширенной аналитики не был установлен.

Базовый тип данных: int
IsBigDataCluster Представлено в SQL Server 2019 (15.x) начиная с накопительного пакета обновления 4 (CU 4).

Возвращает значение 1, если экземпляр является кластером больших данных SQL Server, в противном случае — значение 0.

Базовый тип данных: int
IsClustered Экземпляр сервера настроен для работы в отказоустойчивом кластере.

1 = в кластере.

0 = не в кластере.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
IsExternalAuthenticationOnly Область применения. Эта статья относится к Базе данных SQL Azure и Управляемому экземпляру SQL Azure.

Возвращает значение, включена ли проверка подлинности только для Microsoft Entra.

1 = включена проверка подлинности только для записи Майкрософт.

0 = проверка подлинности только для записи Майкрософт отключена.

Базовый тип данных: int
IsExternalGovernanceEnabled Область применения: SQL Server 2022 (16.x) и более поздних версий.

Возвращает, включены ли политики доступа Microsoft Purview.

1 = включена внешняя система управления.

0 = внешняя система управления отключена.

Базовый тип данных: int
IsFullTextInstalled Компоненты полнотекстового и семантического индексирования устанавливаются в текущем экземпляре SQL Server.

1 = компоненты полнотекстового и семантического индексирования установлены.

0 = компоненты полнотекстового и семантического индексирования не установлены.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
IsHadrEnabled Область применения: SQL Server 2012 (11.x) и более поздних версий.

Группы доступности AlwaysOn включены на этом экземпляре сервера.

0 = функция групп доступности AlwaysOn отключена.

1 = включена функция групп доступности AlwaysOn.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int

Для создания и запуска реплик доступности на экземпляре SQL Server необходимо включить группы доступности AlwaysOn на экземпляре сервера. Дополнительные сведения см. в разделе Включение и отключение групп доступности Always On (SQL Server).

Примечание. Свойство IsHadrEnabled относится только к группам доступности AlwaysOn. Другие возможности высокого уровня доступности или аварийного восстановления, такие как зеркальное отображение базы данных или доставка журналов, не затрагиваются этим свойством сервера.
IsIntegratedSecurityOnly Сервер запущен во встроенном режиме безопасности.

1 = встроенная безопасность (проверка подлинности Windows)

0 = без встроенного режима безопасности. (Проверка подлинности Windows и проверка подлинности SQL Server.)

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
IsLocalDB Область применения: SQL Server 2012 (11.x) и более поздних версий.

Сервер — это экземпляр SQL Server Express LocalDB.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
IsPolyBaseInstalled Область применения: SQL Server 2016 (13.x).

Возвращает значение, показывающее, установлен ли компонент PolyBase в экземпляре сервера.

0 = компонент PolyBase не установлен.

1 = компонент PolyBase установлен.

Базовый тип данных: int
IsServerSuspendedForSnapshotBackup Сервер находится в режиме приостановки и требует оттаивания уровня сервера.

1 = приостановлено.

0 = не приостановлено

Базовый тип данных: int
IsSingleUser Server запущен в однопользовательском режиме.

1 = однопользовательский режим.

0 = не однопользовательский режим.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
IsTempDbMetadataMemoryOptimized Область применения: SQL Server 2019 (15.x) и более поздних версий.

Возвращает значение 1, если оно было включено для использования оптимизированных для памяти таблиц для метаданных; 0, если tempdb tempdb используется обычная таблица на основе дисков для метаданных. Дополнительные сведения см. в статье tempdb Database.

Базовый тип данных: int
IsXTPSupported Область применения: SQL Server (SQL Server 2014 (12.x) и более поздних версий), База данных SQL.

Сервер поддерживает компонент In-Memory OLTP.

1 = сервер поддерживает компонент In-Memory OLTP.

0 = сервер не поддерживает компонент In-Memory OLTP.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
LCID Код локали Windows для параметров сортировки.

Базовый тип данных: int
LicenseType Не используется. Информация о лицензии не сохраняется и не поддерживается продуктом SQL Server. Всегда возвращает DISABLED.

Базовый тип данных: nvarchar(128)
MachineName Имя компьютера Windows, на котором запущен экземпляр сервера.

Для кластеризованного экземпляра экземпляра SQL Server, работающего на виртуальном сервере в службе кластеров Майкрософт, он возвращает имя виртуального сервера.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: nvarchar(128)
NumLicenses Не используется. Информация о лицензии не сохраняется и не поддерживается продуктом SQL Server. Всегда возвращает значение NULL.

Базовый тип данных: int
PathSeparator Область применения: SQL Server 2017 (14.x) и более поздних версий.

Возвращает \ в Windows и / в Linux.

Базовый тип данных: nvarchar
ProcessID Идентификатор процесса службы SQL Server. С помощью свойства ProcessID удобно определять, какой файл Sqlservr.exe принадлежит этому экземпляру.

NULL = недопустимый ввод, ошибка или неприменимо.

Базовый тип данных: int
ProductBuild Область применения: SQL Server 2014 (12.x) начиная с октября 2015 г.

Номер сборки.

Базовый тип данных: nvarchar(128)
ProductBuildType Область применения: с SQL Server 2012 (11.x) до текущей версии в обновлениях, выпущенных начиная с конца 2015 г.

Тип текущей сборки.

Возвращает одно из следующих значений:

OD = выпуск по запросу для определенного клиента.

GDR = выпуск для общего распространения через Центр обновления Windows.

NULL = неприменимо.

Базовый тип данных: nvarchar(128)
ProductLevel Уровень версии экземпляра SQL Server.

Возвращает одно из следующих значений:

'RTM' = Исходная выпущенная версия

'SPn' = версия пакета обновления

'CTPn', = ознакомительная версия для сообщества

Базовый тип данных: nvarchar(128)
ProductMajorVersion Область применения: с SQL Server 2012 (11.x) до текущей версии в обновлениях, выпущенных начиная с конца 2015 г.

Основная версия.

Базовый тип данных: nvarchar(128)
ProductMinorVersion Область применения: с SQL Server 2012 (11.x) до текущей версии в обновлениях, выпущенных начиная с конца 2015 г.

Дополнительная версия.

Базовый тип данных: nvarchar(128)
ProductUpdateLevel Применимо к: SQL Server 2012 (11.x) через текущую версию в обновлениях, начиная с конца 2015 года и Управляемый экземпляр SQL Azure.

Уровень обновления текущей сборки. CU означает накопительный пакет обновления.

Возвращает одно из следующих значений:

CUn = накопительный пакет обновления

NULL = неприменимо.

Базовый тип данных: nvarchar(128)
ProductUpdateReference Область применения: с SQL Server 2012 (11.x) до текущей версии в обновлениях, выпущенных начиная с конца 2015 г.

Статья базы знаний для этого выпуска.

Базовый тип данных: nvarchar(128)
ProductUpdateType Область применения: Управляемый экземпляр SQL Azure

Обновите периодичность экземпляра следующим образом. Соответствует политике обновления Управляемый экземпляр SQL Azure.

Возвращает одно из следующих значений:

CU = обновления развертываются с помощью накопительных обновлений (CUS) для соответствующего основного выпуска SQL Server (политика обновления SQL Server 2022 ).

Непрерывная = новые функции передаются в Управляемый экземпляр SQL Azure как только они доступны, независимо от срока выпуска SQL Server (политика обновления always-up-up).

Базовый тип данных: nvarchar(128)
ProductVersion Версия экземпляра SQL Server в форме major.minor.build.revision.

Базовый тип данных: nvarchar(128)
ResourceLastUpdateDateTime Отображаются дата и время последнего изменения базы данных Resource.

Базовый тип данных: datetime
ResourceVersion Возвращает версию базы данных Resource.

Базовый тип данных: nvarchar(128)
ServerName Сведения о сервере Windows и экземпляре, связанном с указанным экземпляром SQL Server.

NULL = недопустимый ввод или произошла ошибка.

Базовый тип данных: nvarchar(128)
SqlCharSet Идентификатор кодировки SQL из идентификатора параметров сортировки.

Базовый тип данных: tinyint
SqlCharSetName Имя кодировки SQL из параметров сортировки.

Базовый тип данных: nvarchar(128)
SqlSortOrder Идентификатор порядка сортировки SQL из параметров сортировки

Базовый тип данных: tinyint
SqlSortOrderName Имя порядка сортировки SQL из параметров сортировки

Базовый тип данных: nvarchar(128)
SuspendedDatabaseCount Количество приостановленных баз данных на сервере.

Базовый тип данных: int

Типы возвращаемых данных

sql_variant

Замечания

ServerName, свойство

Свойство ServerName функции SERVERPROPERTY и функция @@SERVERNAME возвращают аналогичные сведения. В свойстве ServerName задаются имена экземпляра и сервера Windows, которые вместе образуют уникальный экземпляр сервера. @@SERVERNAME возвращает настроенное имя локального сервера.

Свойство ServerName и переменная @@SERVERNAME возвращают одинаковые сведения, если установленное по умолчанию имя сервера не было изменено во время установки. Имя локального сервера можно настроить, выполнив следующие команды:

EXEC sp_dropserver 'current_server_name';
GO
EXEC sp_addserver 'new_server_name', 'local';
GO

Если имя локального сервера было изменено во время установки и отличается от заданного по умолчанию, то функция @@SERVERNAME будет возвращать новое имя.

Свойство ServerName SERVERPROPERTY функции возвращает имя сервера Windows по мере его сохранения. В предыдущих основных версиях он вернул верхний регистр. Это поведение изменилось обратно в верхний регистр между SQL Server 2019 (15.x) CU 9 и CU 12, но начиная с SQL Server 2019 (15.x) CU 13, имя сервера возвращается по мере сохранения.

Если имя сервера Windows содержит любые строчные символы, это изменение поведения может привести к различиям между ServerName свойством SERVERPROPERTY функции и @@SERVERNAME (верхним регистром и строчным регистром), даже если имя сервера не изменяется.

Предположим, у вас есть сервер с именем server01 и экземпляр SQL Server с именем INST1. В следующей таблице приводится сводка изменений поведения между различными сборками SQL Server 2019 (15.x):

Выпуск SQL Server 2019 (15.x) SERVERPROPERTY('ServerName') Дополнительная информация:
RTM SERVER01\INST1 Возвращает свойство ServerName в верхнем регистре
CU 1 — CU 8 server01\INST1 Возвращает свойство ServerName как есть, без изменения на верхний регистр
CU 9 — CU 12 SERVER01\INST1 Возвращает свойство ServerName в верхнем регистре
Накопительный пакет обновления 13 и более поздние версии server01\INST1 Возвращает свойство ServerName как есть, без изменения на верхний регистр

Свойства версии

Функция SERVERPROPERTY возвращает отдельные свойства, которые относятся к информации о версии, а функция @@VERSION объединяет все выходные данные в одну строку. Если для конкретного приложения требуются отдельные строки свойств, лучше использовать функцию SERVERPROPERTY, которая возвращает эти строки, чем заниматься синтаксическим анализом результатов функции @@VERSION.

Разрешения

Все пользователи могут запрашивать свойства сервера.

Примеры

В следующем примере функция в SELECT инструкции используется SERVERPROPERTY для возврата сведений о текущем экземпляре SQL Server.

SELECT
 SERVERPROPERTY('MachineName') AS ComputerName,
 SERVERPROPERTY('ServerName') AS InstanceName,
 SERVERPROPERTY('Edition') AS Edition,
 SERVERPROPERTY('ProductVersion') AS ProductVersion,
 SERVERPROPERTY('ProductLevel') AS ProductLevel;
GO

Список функций, поддерживаемых выпусками SQL Server в Windows, см. в следующих статье: