DATABASEPROPERTYEX (Transact-SQL)

Применимо к: даSQL Server (все поддерживаемые версии) ДаБаза данных SQL Azure ДаУправляемый экземпляр SQL Azure даAzure Synapse Analytics даПараллельное хранилище данных

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

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

DATABASEPROPERTYEX ( database , property )  

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

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

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

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

Примечание

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

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

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

Базовый тип данных: nvarchar(128)
ComparisonStyle Стиль сравнения Windows для параметров сортировки. Используйте приведенные ниже значения стиля с целью построения битовой карты для готового значения ComparisonStyle.

Игнорировать регистр: 1

Не учитывать диакритические знаки: 2

Не учитывать тип японской азбуки: 65536

Не учитывать ширину: 131072



Например, значение по умолчанию — 196609 — образуется в результате сочетания параметров «Без учета регистра», «Без учета типа японской азбуки» и «Без учета ширины».
Возвращает стиль сравнения.

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

Базовый тип данных: int
Выпуск Уровень выпуска или службы базы данных. Применимо к: База данных SQL Azure, Azure Synapse Analytics.



Общее назначение

Критически важный для бизнеса

Basic

Standard

Premium

Системный (для базы данных master)

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

Базовый тип данных: nvarchar(64)
IsAnsiNullDefault База данных следует правилам ISO по разрешению значений NULL. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAnsiNullsEnabled При всех сравнениях со значением NULL результат не определен. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAnsiPaddingEnabled Строки перед сравнением или вставкой дополняются до одной и той же длины. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAnsiWarningsEnabled SQL Server выводит сообщения об ошибках или предупреждения, когда возникают стандартные условия ошибки. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsArithmeticAbortEnabled Запрос завершается, если в процессе его выполнения происходит ошибка переполнения или деления на нуль. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAutoClose После выхода последнего пользователя база данных корректно выключается и освобождает ресурсы. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAutoCreateStatistics Оптимизатор запросов при необходимости создает статистику по отдельным столбцам для повышения производительности запросов. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAutoCreateStatisticsIncremental Автоматические статистики в одном столбце создаются в дополнительном виде везде, где это возможно. Область применения: SQL Server 2014 (12.x) и более поздних версий.

1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAutoShrink Файлы базы данных являются кандидатами на автоматическое периодическое сжатие. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsAutoUpdateStatistics Оптимизатор запросов обновляет существующую статистику, используемую в запросе, если она может оказаться устаревшей. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsClone База данных представляет собой копию только схемы и статистики пользовательской базы данных, созданной с помощью DBCC CLONEDATABASE. Дополнительные сведения см. в этой статье службы поддержки Майкрософт. Область применения: SQL Server 2014 (12.x) с пакетом обновления 2 (SP2) и выше.

1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsCloseCursorsOnCommitEnabled Все открытые курсоры закрываются при фиксации транзакции. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsFulltextEnabled В базе данных включены полнотекстовое и семантическое индексирование. Область применения: SQL Server 2008 и более поздних версий.



1: TRUE

0: FALSE

NULL: недопустимые входные данные

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

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

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsLocalCursorsDefault Объявления курсора по умолчанию — LOCAL. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsMemoryOptimizedElevateToSnapshotEnabled К таблицам, оптимизированным для памяти, доступ производится с использованием изоляции SNAPSHOT, когда в TRANSACTION ISOLATION LEVEL установлен уровень изоляции READ COMMITTED, READ UNCOMMITTED или более низкий. Область применения: SQL Server 2014 (12.x) и более поздних версий.



1: TRUE

0: FALSE

Базовый тип данных: int
IsMergePublished SQL Server поддерживает публикацию таблиц базы данных для репликации слиянием, если репликация установлена. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsNullConcat Объединение операнда со значением NULL дает значение NULL. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsNumericRoundAbortEnabled При потере точности в выражениях возникают ошибки. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsParameterizationForced Параметр SET PARAMETERIZATION имеет значение FORCED. 1: TRUE

0: FALSE

NULL: недопустимые входные данные
IsQuotedIdentifiersEnabled Двойные кавычки можно использовать в идентификаторах. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsPublished Если репликация установлена, SQL Server поддерживает публикацию таблиц базы данных для репликации моментальных снимков или транзакций. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsRecursiveTriggersEnabled Рекурсивное срабатывание триггеров разрешено. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsSubscribed База данных подписана на публикацию. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsSyncWithBackup База данных является опубликованной либо базой данных распространителя и поддерживает восстановление без нарушения репликации транзакций. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsTornPageDetectionEnabled Компонент Компонент SQL Server Database Engine выявляет незавершенные операции ввода-вывода, вызванные сбоями питания или другими перерывами в работе системы. 1: TRUE

0: FALSE

NULL: недопустимые входные данные

Базовый тип данных: int
IsVerifiedClone База данных представляет собой копию только схемы и статистики пользовательской базы данных, созданной с помощью параметра WITH VERIFY_CLONEDB функции DBCC CLONEDATABASE. Дополнительные сведения см. в этой статье службы поддержки Майкрософт. Область применения: начиная с версии SQL Server 2016 (13.x); с пакетом обновления 2 (SP2).



1: TRUE

0: FALSE

NULL: недопустимые входные данные

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

Относится к SQL Server:

IsXTPSupported не зависит от наличия файловой группы MEMORY_OPTIMIZED_DATA, которая требуется для создания объектов выполняющейся в памяти OLTP.
Применимо к: SQL Server (SQL Server 2016 (13.x); и выше) и База данных SQL Azure.

1: TRUE

0: FALSE

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

Базовый тип данных: int
LastGoodCheckDbTime Дата и время последней успешной команды DBCC CHECKDB, выполненной в указанной базе данных. 1 Если команда DBCC CHECKDB не была выполнена в базе данных, возвращается 1900-01-01 00:00:00.000. Область применения: SQL Server 2016 (13.x); начиная с SP2.
SQL Server 2017 (14.x); начиная с накопительного пакета обновления 9 (CU9).
SQL Server 2019 (15.x) или более поздняя версия.
База данных SQL Azure.

Значение datetime

NULL: недопустимые входные данные

Базовый тип данных: datetime
LCID Код языка Windows для параметров сортировки. Значение кода языка (в десятичном формате).

Базовый тип данных: int
MaxSizeInBytes Максимальный размер базы данных в байтах. Применимо к: База данных SQL Azure, Azure Synapse Analytics.

База данных SQL Azure и Azure Synapse Analytics — значение зависит от целевого показателя обслуживания, если не куплено дополнительное хранилище.

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

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

Базовый тип данных: bigint
Восстановление Модель восстановления базы данных FULL: Модель полного восстановления

BULK_LOGGED: модель с неполным протоколированием

SIMPLE: Простая модель восстановления

Базовый тип данных: nvarchar(128)
ServiceObjective Описывает уровень производительности базы данных в База данных SQL или Azure Synapse Analytics. Это может быть:

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

Общий (для выпусков Web или Business)

Basic

S0

S1

S2

S3

P1

P2

P3

ElasticPool

Системный (для базы данных master)

Базовый тип данных: nvarchar(32)
ServiceObjectiveId Идентификатор цели службы в База данных SQL. uniqueidentifier, определяющий цель службы.
SQLSortOrder Идентификатор порядка сортировки SQL Server, поддерживаемого в предыдущих версиях SQL Server. 0: в базе данных используются параметры сортировки Windows

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

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

Базовый тип данных: tinyint
Состояние Состояние базы данных. ONLINE: база данных доступна для запросов.

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

OFFLINE: база данных явным образом переведена в режим "вне сети".

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

1 Для баз данных, входящих в группу доступности, LastGoodCheckDbTime возвращает дату и время последней успешной команды DBCC CHECKDB в первичной реплике независимо от того, из какой реплики она запускалась.

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

sql_variant

Исключения

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

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

Remarks

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

Примеры

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

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

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

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

------------------  
0  

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

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

SELECT   
    DATABASEPROPERTYEX('AdventureWorks2014', 'Collation') AS Collation,  
    DATABASEPROPERTYEX('AdventureWorks2014', 'Edition') AS Edition,  
    DATABASEPROPERTYEX('AdventureWorks2014', 'ServiceObjective') AS ServiceObjective,  
    DATABASEPROPERTYEX('AdventureWorks2014', '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'); 

См. также раздел

ALTER DATABASE (Transact-SQL)
Состояния базы данных
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
SERVERPROPERTY (Transact-SQL)