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


DATABASEPROPERTYEX (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsСистема платформы аналитики (PDW)База данных SQL в предварительной версии Microsoft Fabric

Для указанной базы данных в SQL Server DATABASEPROPERTYEX функция возвращает текущий параметр указанной базы данных или свойства.

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

Синтаксис

DATABASEPROPERTYEX ( database , property )

Аргументы

база данных

Выражение, указывающее имя базы данных, для которой DATABASEPROPERTYEX возвращаются именованные сведения о свойстве. Аргумент database имеет тип данных nvarchar(128).

Для База данных SQL DATABASEPROPERTYEX требуется имя текущей базы данных. NULL Возвращается для всех свойств, если задано другое имя базы данных.

свойство

Выражение, которое задает имя возвращаемого свойства базы данных. Аргумент property имеет тип данных varchar(128) и может принимать одно из значений, приведенных в таблице ниже.

Примечание.

Если база данных еще не запущена, вызовы для DATABASEPROPERTYEX возврата NULL , если DATABASEPROPERTYEX эти значения извлекаются путем прямого доступа к базе данных, а не извлекаются из метаданных. База данных с AUTO_CLOSE установленным значением ON(или в противном случае вне сети) определяется как "не запущена".

Свойство Описание Возвращенное значение
Collation

Тип данных: nvarchar(128)
Имя параметров сортировки, установленных для базы данных по умолчанию. Имя сортировки. Если NULLбаза данных не запущена.
ComparisonStyle

Тип данных: int
Стиль сравнения Windows для параметров сортировки. Используйте следующие значения стиля, чтобы создать растровое изображение для готового ComparisonStyle значения:

- 1: игнорировать регистр
- 2: игнорировать акцент
- 65536: игнорировать kana
- 131072: игнорировать ширину

Например, значение по умолчанию 196609 является результатом объединения регистра игнорировать, игнорировать kana и игнорировать параметры ширины .
Возвращает стиль сравнения.

Возвращается 0 для всех двоичных параметров сортировки.
Edition

Тип данных: nvarchar(64)
Уровень выпуска или службы базы данных. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (для master базы данных)
- FabricSQLDB: база данных SQL в предварительной версии Microsoft Fabric
- NULL: база данных не запущена.

Область применения: База данных SQL Azure, база данных SQL в Microsoft Fabric Preview, Azure Synapse Analytics.
IsAnsiNullDefault

Тип данных: int
База данных соответствует правилам ISO для разрешения NULL значений. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAnsiNullsEnabled

Тип данных: int
Все сравнения с NULL неизвестным. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAnsiPaddingEnabled

Тип данных: int
Строки перед сравнением или вставкой дополняются до одной и той же длины. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAnsiWarningsEnabled

Тип данных: int
SQL Server выводит сообщения об ошибках или предупреждения, когда возникают стандартные условия ошибки. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsArithmeticAbortEnabled

Тип данных: int
Запрос завершается, если в процессе его выполнения происходит ошибка переполнения или деления на нуль. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAutoClose

Тип данных: int
После выхода последнего пользователя база данных корректно выключается и освобождает ресурсы. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAutoCreateStatistics

Тип данных: int
Оптимизатор запросов при необходимости создает статистику по отдельным столбцам для повышения производительности запросов. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAutoCreateStatisticsIncremental

Тип данных: int
Автоматические статистики в одном столбце создаются в дополнительном виде везде, где это возможно. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные

относится к: SQL Server 2014 (12.x) и более поздним версиям.
IsAutoShrink

Тип данных: int
Файлы базы данных являются кандидатами на автоматическое периодическое сжатие. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsAutoUpdateStatistics

Тип данных: int
Оптимизатор запросов обновляет существующую статистику, используемую в запросе, если она может оказаться устаревшей. - 1:Истинный
- 0:Ложный
- NULL: недопустимый вход
IsClone

Тип данных: int
База данных — это копия пользовательской базы данных, созданной с DBCC CLONEDATABASEпомощью схемы и статистики. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные

Область применения: SQL Server 2014 (12.x) с пакетом обновления 2 (SP2) и более поздних версий.
IsCloseCursorsOnCommitEnabled

Тип данных: int
При фиксации транзакции все открытые курсоры закрываются. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsDatabaseSuspendedForSnapshotBackup

Тип данных: int
База данных приостановлена. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsFulltextEnabled

Тип данных: int
В базе данных включены полнотекстовое и семантическое индексирование. - 1:Истинный
- 0:Ложный
- NULL: недопустимый вход

Область применения: SQL Server 2008 (10.0.x) и более поздних версий.

Примечание. Значение этого свойства сейчас не учитывается. Полнотекстовый поиск всегда включен для пользовательских баз данных. В будущем выпуске SQL Server будет удалено это свойство. Не используйте это свойство в новой работе разработки и не изменяйте приложения, которые в настоящее время используют это свойство как можно скорее.
IsInStandBy

Тип данных: int
В режиме «в сети» база данных доступна только для чтения, при этом разрешен журнал восстановления. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsLocalCursorsDefault

Тип данных: int
Объявления курсора по умолчанию LOCAL. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsMemoryOptimizedElevateToSnapshotEnabled

Тип данных: int
Доступ к оптимизированным для памяти таблицам осуществляется с помощью SNAPSHOT изоляции, если параметр TRANSACTION ISOLATION LEVEL сеанса имеет READ COMMITTEDзначение , READ UNCOMMITTEDили более низкий уровень изоляции. - 1:Истинный
- 0:Ложный

относится к: SQL Server 2014 (12.x) и более поздним версиям.
IsMergePublished

Тип данных: int
SQL Server поддерживает публикацию таблиц базы данных для репликации слиянием, если репликация установлена. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsNullConcat

Тип данных: int
Возвращает NULLоперанд сцепления null. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsNumericRoundAbortEnabled

Тип данных: int
При потере точности в выражениях возникают ошибки. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsOptimizedLockingOn

Тип данных: int
Оптимизированная блокировка включена для базы данных. - 1:Истинный
- 0:Ложный
- NULL: недоступно

Область применения: ПРЕДВАРИТЕЛЬНая версия SQL Server 2025 (17.x) и более поздние версии, База данных SQL Azure,AUTD и база данных SQL в Microsoft Fabric Preview.
IsParameterizationForced

Тип данных: int
PARAMETERIZATION Параметр базы данных SETFORCED. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsQuotedIdentifiersEnabled

Тип данных: int
Двойные кавычки можно использовать в идентификаторах. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsPublished

Тип данных: int
Если репликация установлена, SQL Server поддерживает публикацию таблиц базы данных для моментального снимка или репликации транзакций. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsRecursiveTriggersEnabled

Тип данных: int
Рекурсивное срабатывание триггеров разрешено. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsSubscribed

Тип данных: int
База данных подписана на публикацию. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsSyncWithBackup

Тип данных: int
База данных — это опубликованная база данных или база данных распространителя, которая поддерживает восстановление, которое не нарушает репликацию транзакций. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsTornPageDetectionEnabled

Тип данных: int
Sql Server ядро СУБД обнаруживает неполные операции ввода-вывода, вызванные сбоями питания или другими системными сбоями. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные
IsVerifiedClone

Тип данных: int
База данных — это только копия пользовательской базы данных, созданная с помощью WITH VERIFY_CLONEDB параметра DBCC CLONEDATABASE. - 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные

Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и более поздних версий.
IsXTPSupported

Тип данных: int
Указывает, поддерживает ли база данных OLTP в памяти. Например, создание и использование оптимизированных для памяти таблиц и собственных скомпилированных модулей.

Зависит от SQL Server:

IsXTPSupported не зависит от существования любой MEMORY_OPTIMIZED_DATA файловой группы, которая необходима для создания In-Memory объектов OLTP.
- 1:Истинный
- 0:Ложный
- NULL: недопустимые входные данные, ошибка или неприменимое

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

Тип данных: datetime
Дата и время последнего успешного DBCC CHECKDB выполнения в указанной базе данных. Если DBCC CHECKDB он не был запущен в базе данных, 1900-01-01 00:00:00.000 возвращается. Для баз данных, являющихся частью группы доступности, LastGoodCheckDbTime возвращает дату и время последнего успешного DBCC CHECKDB выполнения на первичной реплике независимо от того, из какой реплики выполняется команда. NULL: недопустимые входные данные

Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP2), SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) и более поздних версий, Базы данных SQL Azure и базы данных SQL в Microsoft Fabric Preview.
LCID

Тип данных: int
Код языка Windows для параметров сортировки. Значение кода языка (в десятичном формате).
MaxSizeInBytes

Тип данных: bigint
Максимальный размер базы данных в байтах. - База данных SQL Azure и Azure Synapse Analytics: значение основано на SLO, если не было приобретено дополнительное хранилище.

- vCore: значение равно 1 ГБ увеличивается до максимального размера.

- NULL: база данных не запущена

Область применения: База данных SQL Azure, база данных SQL в Microsoft Fabric preview и Azure Synapse Analytics.
Recovery

Тип данных: nvarchar(128)
Модель восстановления базы данных. - FULL: полная модель восстановления
- BULK_LOGGED: массовая модель ведения журнала
- SIMPLE: простая модель восстановления
ServiceObjective

Тип данных: nvarchar(32)
Описывает уровень производительности базы данных в базе данных SQL, базе данных SQL в предварительной версии Microsoft Fabric или Azure Synapse Analytics. Одно из следующих значений:

- NULL: база данных не запущена
- Shared (для выпусков Web/Business)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (для master базы данных)
- FabricSQLDB: база данных SQL в предварительной версии Microsoft Fabric
ServiceObjectiveId

Тип данных: uniqueidentifier
Идентификатор цели службы в База данных SQL. Идентификатор цели службы.
SQLSortOrder

Тип данных: tinyint
Идентификатор порядка сортировки SQL Server, поддерживаемый в более ранних версиях SQL Server. - 0: база данных использует параметры сортировки Windows

- >0: идентификатор порядка сортировки SQL Server

- NULL: недопустимые входные данные или база данных не запущена
Status

Тип данных: nvarchar(128)
Состояние базы данных. ONLINE: база данных доступна для запроса.

Заметка: Функция может вернуть состояние ONLINE во время открытия базы данных и еще не восстановлена. Чтобы определить, может ли ONLINE база данных принимать подключения, запросите Collation свойство DATABASEPROPERTYEX. База ONLINE данных может принимать подключения, когда параметры сортировки базы данных возвращают ненулевое значение. Для баз данных AlwaysOn выполните запрос к столбцам database_state или database_state_desc столбцам sys.dm_hadr_database_replica_states.

- OFFLINE: база данных была явно отключена.

- RESTORING: началось восстановление базы данных.

- RECOVERING: восстановление базы данных запущено, и база данных еще не готова к запросам.

- SUSPECT: база данных не восстановлена.

- EMERGENCY: база данных находится в аварийном состоянии, доступном только для чтения. Доступ ограничен членами sysadmin
Updateability

Тип данных: nvarchar(128)
Указывает, можно ли изменять данные. READ_ONLY: база данных поддерживает операции чтения данных, но не изменения данных.

- READ_WRITE: база данных поддерживает операции чтения и изменения данных.
UserAccess

Тип данных: nvarchar(128)
Указывает пользователей, имеющих доступ к базе данных. SINGLE_USER: одновременно один пользователь db_owner, dbcreator или sysadmin

- RESTRICTED_USER: только члены ролей db_owner, dbcreator или sysadmin

- MULTI_USER: все пользователи
Version

Тип данных: int
Внутренний номер версии кода SQL Server, с помощью которого была создана база данных. Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. — Номер версии: база данных открыта.

- NULL: база данных не запущена.
ReplicaID

Тип данных: nvarchar(128)
Идентификатор реплики подключенной базы данных или реплики гипермасштабирования. Возвращает только идентификатор реплики подключенной базы данных или реплики гипермасштабирования. Дополнительные сведения о типах реплик см. в статье "Вторичные реплики с гипермасштабированием".

- NULL: не база данных гипермасштабирования или база данных не запущена.

относится к: гипермасштабирование базы данных SQL Azure.

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

sql_variant

Исключения

Возвращает ошибку NULL или если вызывающий объект не имеет разрешения на просмотр объекта.

В SQL Server пользователь может просматривать только метаданные защищаемых объектов, принадлежащих пользователю или которым предоставлено разрешение. Это правило означает, что встроенные функции метаданных, такие как OBJECT_ID могут возвращать NULL , если у пользователя нет разрешений на объект. Дополнительные сведения см. в разделе "Конфигурация видимости метаданных".

Замечания

Функция DATABASEPROPERTYEX возвращает каждый раз значение только одного свойства. Для отображения значений нескольких свойств используйте представление каталога sys.databases.

Примеры

Примеры кода в этой статье используют базу данных образца AdventureWorks2022 или AdventureWorksDW2022, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.

А. Получение состояния параметра базы данных AUTO_SHRINK

В этом примере возвращается состояние AUTO_SHRINK параметра базы данных для AdventureWorks базы данных.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');

Вот результирующий набор. Это означает, что AUTO_SHRINK он отключен.

0

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

В приведенном ниже примере возвращаются несколько атрибутов базы данных AdventureWorks.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Вот результирующий набор.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

В. Проверка подключения к реплике с помощью DATABASEPROPERTYEX

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

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');