Бөлісу құралы:


DATABASEPROPERTYEX (Transact-SQL)

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

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

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

Синтаксис

DATABASEPROPERTYEX ( database , property )  

Аргументы

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

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

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

Примечание.

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

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

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

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

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

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

Возвращает значение 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
IsDatabaseSuspendedForSnapshotBackup База данных приостановлена. 1: TRUE

0: FALSE

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

Базовый тип данных: int
IsFulltextEnabled В базе данных включены полнотекстовое и семантическое индексирование. Применимо: SQL Server 2008 (10.0.x) и более поздних версий.



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 ядро СУБД обнаруживает неполные операции ввода-вывода, вызванные сбоями питания или другими системными сбоями. 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:00.000. Область применения: SQL Server 2016 (13.x) начиная с пакета обновления 2 (SP2).
SQL Server 2017 (14.x) начиная с 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)

Базовая

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: началось восстановление базы данных.

ВОССТАНОВЛЕНИЕ. Восстановление базы данных запущено, и база данных еще не готова к запросам.

ПОДОЗРЕВАЕМЫЙ: База данных не восстановлена.

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
Реплики Идентификатор реплики подключенной базы данных или реплики гипермасштабирования. Область применения: База данных SQL Azure.

Он возвращает только идентификатор реплики подключенной базы данных или реплики гипермасштабирования. Дополнительные сведения о типах реплик см. в статье "Вторичные реплики с гипермасштабированием ".

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

Базовый тип данных: nvarchar(128)

Примечание.

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

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

sql_variant

Исключения

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

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

Замечания

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

Примеры

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

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

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

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

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

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

В приведенном ниже примере возвращаются несколько атрибутов базы данных 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  

C. Проверка подключения к реплике с помощью 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)