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) для параметров сортировки.

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

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

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

    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.

    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 базы данных AdventureWorks2008R2.

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

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

------------------

0

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

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

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

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

------------------------------

SQL_Latin1_General_CP1_CI_AI