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