DATABASEPROPERTYEX (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