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
См. также
Справочник
sys.database_files (Transact-SQL)