DATABASEPROPERTYEX (Transact-SQL)

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

Значок ссылки на разделСоглашение о синтаксисе в 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

    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

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

    IsInStandBy

    В оперативном режиме база данных доступна только для чтения, при этом разрешен журнал восстановления.

    1 = TRUE;

    0 = FALSE.

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

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

    IsLocalCursorsDefault

    Объявления курсора по умолчанию — LOCAL.

    1 = TRUE;

    0 = FALSE.

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

    Базовый тип данных: 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

    Список значений кодов языка (в шестнадцатеричном формате) см. в разделе Настройка параметров сортировки в программе установки.

    Recovery

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

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

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

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

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

    SQLSortOrder

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

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

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

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

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

    Status

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

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

    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.

Примеры

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

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

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

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

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

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

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

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

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

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