DATABASEPROPERTYEX (Transact-SQL)

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

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (с первоначального выпуска по текущий выпуск).

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

Синтаксис

DATABASEPROPERTYEX ( database , property )

Аргументы

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

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

    Примечание

    Если база данных не запущена, то значения свойств, для получения которых SQL Server нужен непосредственный доступ к базе данных вместо доступа к метаданным, возвращаются равными NULL.Это происходит в случае, если для базы данных параметр AUTO_CLOSE установлен в ON или если база данных находится в режиме вне сети по другой причине.

    Свойство

    Описание

    Возвращенное значение

    Collation

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

    Имя параметров сортировки.

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

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

    ComparisonStyle

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

    Стиль

    Значение

    Без учета регистра

    1

    Без учета диакритических знаков

    2

    Без учета типа японской азбуки

    65536

    Без учета ширины

    131072

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

    Возвращает стиль сравнения.

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

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

    Выпуск

    Версия базы данных.

    Web = база данных Web Edition

    Business = база данных Business Edition

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

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

    Применимо для следующих объектов: База данных SQL Windows Azure.

    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

    Сообщения об ошибках или предупреждения отображаются, если появляются стандартные условия ошибки.

    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

    Автоматические статистики в одном столбце создаются в дополнительном виде везде, где это возможно.

    1 = TRUE

    0 = FALSE

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

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

    Применимо для следующих объектов: С SQL Server 2014 по SQL Server 2014 включительно.

    IsAutoShrink

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

    1 = TRUE

    0 = FALSE

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

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

    IsAutoUpdateStatistics

    Оптимизатор запросов обновляет существующую статистику, если она используется в запросе и может оказаться устаревшей.

    1 = TRUE

    0 = FALSE

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

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

    IsCloseCursorsOnCommitEnabled

    Открытые курсоры закрываются при фиксации транзакции.

    1 = TRUE

    0 = FALSE

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

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

    IsFulltextEnabled

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

    1 = TRUE

    0 = FALSE

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

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

    Примечание

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

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

    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 по SQL Server 2014 включительно.

    1 = TRUE

    0 = FALSE

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

    IsMergePublished

    Таблицы базы данных могут быть опубликованы для репликации слиянием, если репликация установлена.

    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

    Таблицы базы данных могут быть опубликованы для репликации моментальных снимков или транзакций в случае, если репликация установлена.

    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

    LCID

    Языковой стандарт (код языка) Windows для параметров сортировки.

    Значение кода LCID (в десятичном формате).

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

    MaxSizeInBytes

    Максимальный размер базы данных в байтах.

    1073741824

    5368709120

    10737418240

    21474836480

    32212254720

    42949672960

    53687091200

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

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

    Применимо для следующих объектов: База данных SQL Windows Azure.

    Recovery

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

    FULL = модель полного восстановления.

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

    SIMPLE = простая модель восстановления.

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

    SQLSortOrder

    Идентификатор порядка сортировки SQL Server, поддерживаемого в предыдущих версиях SQL Server.

    0 = в базе данных используются параметры сортировки Windows.

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

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

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

    Status

    Состояние базы данных.

    ONLINE = база данных доступна для запросов.

    Примечание

    Состояние базы данных ONLINE может быть возвращено, когда база находится в процессе открытия и еще не полностью восстановлена.Чтобы определить, может ли база данных принимать соединения, запросите свойство Collation функции DATABASEPROPERTYEX.База данных может принимать соединения, если параметры сортировки базы данных возвращают значение, отличное от 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)

    Version

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

    Номер версии = база данных открыта.

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

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

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

sql_variant

Исключения

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

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

Замечания

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

Примеры

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

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

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

Ниже приводится результирующий набор. Это означает, что параметр AUTO_SHRINK отключен.

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

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

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

SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'Collation');

Ниже приводится результирующий набор.

------------------------------
SQL_Latin1_General_CP1_CI_AI

См. также

Справочник

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

sys.database_files (Transact-SQL)

SERVERPROPERTY (Transact-SQL)

Основные понятия

Состояния базы данных