sys.databases (Transact-SQL)

Содержит одну строку для каждой базы данных в экземпляре Microsoft SQL Server.

Если база данных не находится в режиме ONLINE или параметр AUTO_CLOSE установлен в ON, а база данных закрыта, то значения некоторых столбцов могут быть равны NULL. Если база данных находится в режиме OFFLINE, соответствующая строка не будет видна пользователям с недостаточными правами доступа. Чтобы увидеть соответствующую строку в случае, когда база данных находится в режиме OFFLINE, пользователю необходимо иметь, по крайней мере, разрешение уровня сервера ALTER ANY DATABASE или разрешение CREATE DATABASE в базе данных master.

Имя столбца

Тип данных

Описание

name

sysname

Имя базы данных, уникальное внутри экземпляра SQL Server.

database_id

int

Идентификатор базы данных, уникальный внутри экземпляра SQL Server.

source_database_id

int

Не NULL = идентификатор базы данных-источника данного моментального снимка базы данных.

NULL = моментальный снимок не базы данных.

owner_sid

varbinary(85)

SID (идентификатор безопасности) внешнего владельца базы данных, зарегистрированного на сервере.

create_date

datetime

Дата создания или переименования базы данных. Для базы данных tempdb это значение изменяется каждый раз при перезапуске сервера.

compatibility_level

tinyint

Целое число, которое соответствует версии SQL Server, для которой поведение совместимо:

70

80

90

100

NULL = база данных не находится в режиме ONLINE, или параметр AUTO_CLOSE установлен в ON, а база данных закрыта.

collation_name

sysname

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

NULL = база данных не находится в режиме ONLINE, или параметр AUTO_CLOSE установлен в ON, а база данных закрыта.

user_access

tinyint

Установка доступа пользователя:

0 = указано MULTI_USER;

1 = указано SINGLE_USER;

2 = указан RESTRICTED_USER.

user_access_desc

nvarchar(60)

Описание установки доступа пользователя:

MULTI_USER;

SINGLE_USER;

RESTRICTED_USER.

is_read_only

bit

1 = база данных находится в режиме READ_ONLY.

0 = база данных находится в режиме READ_WRITE.

is_auto_close_on

bit

1 = параметр AUTO_CLOSE находится в состоянии ON.

0 = параметр AUTO_CLOSE находится в состоянии OFF.

is_auto_shrink_on

bit

1 = параметр AUTO_SHRINK находится в состоянии ON.

0 = параметр AUTO_SHRINK находится в состоянии OFF.

state

tinyint

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

0 = ONLINE;

1 = RESTORING;

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = EMERGENCY;

6 = OFFLINE

ПримечаниеПримечание
База данных, которая только что перешла в режим ONLINE, не обязательно готова принимать соединения. Чтобы определить, когда база данных сможет принимать соединения, выполните запрос к столбцу collation_name в таблице sys.databases или свойству Collation в DATABASEPROPERTYEX. База данных может принимать соединения, если в качестве параметров сортировки базы данных возвращается значение, отличное от NULL.

state_desc

nvarchar(60)

Описание состояния базы данных:

ONLINE

RESTORING

RECOVERING

RECOVERY_PENDING

SUSPECT

EMERGENCY

OFFLINE

ПримечаниеПримечание
База данных, которая только что перешла в режим ONLINE, не обязательно готова принимать соединения. Чтобы определить, когда база данных сможет принимать соединения, выполните запрос к столбцу collation_name в таблице sys.databases или свойству Collation в DATABASEPROPERTYEX. База данных может принимать соединения, если в качестве параметров сортировки базы данных возвращается значение, отличное от NULL.

Дополнительные сведения см. в разделе Состояния базы данных.

is_in_standby

bit

База данных доступна только для чтения для журнала восстановления.

is_cleanly_shutdown

bit

1 = база данных закрыта аккуратно; восстановление при запуске не требуется.

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

is_supplemental_logging_enabled

bit

1 = SUPPLEMENTAL_LOGGING в состоянии ON.

0 = SUPPLEMENTAL_LOGGING в состоянии OFF.

snapshot_isolation_state

tinyint

Состояние транзакций изоляции моментальных снимков, задаваемое при помощи параметра ALLOW_SNAPSHOT_ISOLATION.

0 = изоляция моментальных снимков в состоянии OFF (по умолчанию). Изоляция моментальных снимков запрещена.

1 = изоляция моментальных снимков в состоянии ON. Изоляция моментальных снимков разрешена.

2 = изоляция моментальных снимков в состоянии перехода в состояние OFF. Для всех транзакций записываются изменения. Нельзя запустить новые транзакции, использующие изоляцию моментальных снимков. База данных находится в состоянии перехода в состояние OFF до тех пор, пока все транзакции, активные при выполнении инструкции ALTER DATABASE, не будут завершены.

3 = изоляция моментальных снимков в состоянии перехода в состояние ON. Для новых транзакций записываются изменения. Транзакции не могут использовать изоляцию моментальных снимков до тех пор, пока состояние изоляции моментальных снимков не перейдет в 1 (ON). База данных находится в состоянии перехода в состояние ON до тех пор, пока все транзакции, активные при выполнении инструкции ALTER DATABASE, не будут завершены.

snapshot_isolation_state_desc

nvarchar(60)

Описание состояния транзакций изоляции моментальных снимков, задаваемое при помощи параметра ALLOW_SNAPSHOT_ISOLATION:

  • OFF

  • ON

  • IN_TRANSITION_TO_ON

  • IN_TRANSITION_TO_OFF

is_read_committed_snapshot_on

bit

1 = параметр READ_COMMITTED_SNAPSHOT установлен в значение ON. Операции чтения с уровнем изоляции read-committed основаны на просмотре моментальных снимков и не запрашивают блокировок.

0 = параметр READ_COMMITTED_SNAPSHOT установлен в значение OFF (по умолчанию). Операции чтения с уровнем изоляции read-committed используют разделяемые блокировки.

recovery_model

tinyint

Выбранная модель восстановления:

1 = FULL

2 = BULK_LOGGED

3 = SIMPLE

recovery_model_desc

nvarchar(60)

Описание выбранной модели восстановления:

FULL

BULK_LOGGED

SIMPLE

page_verify_option

tinyint

Значение параметра PAGE_VERIFY:

0 = NONE

1 = TORN_PAGE_DETECTION

2 = CHECKSUM

page_verify_option_desc

nvarchar(60)

Описание значений параметра PAGE_VERIFY:

NONE.TORN_PAGE_DETECTION

CHECKSUM

is_auto_create_stats_on

bit

1 = AUTO_CREATE_STATISTICS в состоянии ON.

0 = AUTO_CREATE_STATISTICS в состоянии OFF.

is_auto_update_stats_on

bit

1 = AUTO_UPDATE_STATISTICS в состоянии ON.

0 = AUTO_UPDATE_STATISTICS в состоянии OFF.

is_auto_update_stats_async_on

bit

1 = AUTO_UPDATE_STATISTICS_ASYNC в состоянии ON.

0 = AUTO_CREATE_STATISTICS_ASYNC в состоянии OFF.

is_ansi_null_default_on

bit

1 = ANSI_NULL_DEFAULT в состоянии ON.

0 = ANSI_NULL_DEFAULT в состоянии OFF.

is_ansi_nulls_on

bit

1 = ANSI_NULLS в состоянии ON.

0 = ANSI_NULLS в состоянии OFF.

is_ansi_padding_on

bit

1 = ANSI_PADDING в состоянии ON.

0 = ANSI_PADDING в состоянии OFF.

is_ansi_warnings_on

bit

1 = ANSI_WARNINGS в состоянии ON.

0 = ANSI_WARNINGS в состоянии OFF.

is_arithabort_on

bit

1 = ARITHABORT в состоянии ON.

0 = ARITHABORT в состоянии OFF.

is_concat_null_yields_null_on

bit

1 = CONCAT_NULL_YIELDS_NULL в состоянии ON.

0 = CONCAT_NULL_YIELDS_NULL в состоянии OFF.

is_numeric_roundabort_on

bit

1 = NUMERIC_ROUNDABORT в состоянии ON.

0 = NUMERIC_ROUNDABORT в состоянии OFF.

is_quoted_identifier_on

bit

1 = QUOTED_IDENTIFIER в состоянии ON.

0 = QUOTED_IDENTIFIER в состоянии OFF.

is_recursive_triggers_on

bit

1 = RECURSIVE_TRIGGERS в состоянии ON.

0 = RECURSIVE_TRIGGERS в состоянии OFF.

is_cursor_close_on_commit_on

bit

1 = CURSOR_CLOSE_ON_COMMIT в состоянии ON.

0 = CURSOR_CLOSE_ON_COMMIT в состоянии OFF.

is_local_cursor_default

bit

1 = CURSOR_DEFAULT соответствует локальному курсору.

0 = CURSOR_DEFAULT соответствует глобальному курсору.

is_fulltext_enabled

bit

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

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

is_trustworthy_on

bit

1 = база данных помечена как надежная.

0 = база данных не помечена как надежная.

is_db_chaining_on

bit

1 = межбазовые цепочки владения в состоянии ON.

0 = межбазовые цепочки владения в состоянии OFF.

is_parameterization_forced

bit

1 = параметризация в состоянии FORCED.

0 = параметризация в состоянии SIMPLE.

is_master_key_encrypted_by_server

bit

1 = база данных имеет главный ключ шифрования.

0 = база данных не имеет главного ключа шифрования.

is_published

bit

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

0 = не является базой данных публикации.

is_subscribed

bit

1 = база данных является базой данных подписки в топологии репликации.

0 = база данных не является базой данных подписки.

is_merge_published

bit

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

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

is_distributor

bit

1 = база данных является базой данных распространителя в топологии репликации.

0 = база данных не является базой данных распространителя в топологии репликации.

is_sync_with_backup

bit

1 = база данных помечена для синхронизации с резервной копией при помощи репликации.

0 = база данных не помечена для синхронизации с резервной копией при помощи репликации.

service_broker_guid

uniqueidentifier

Идентификатор компонента Service Broker для данной базы данных. Используется как целевой экземпляр broker_instance в таблице маршрутизации.

is_broker_enabled

bit

1 = брокер в этой базе данных в данный момент отправляет и принимает сообщения.

0 = все отправленные сообщения останутся в очереди передачи, а полученные сообщения не будут помещены в очередь в этой базе данных.

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

log_reuse_wait

tinyint

Действие или объект, ожидаемые в настоящий момент журналом транзакций:

0 = ничего;

1 = контрольная точка;

2 = резервная копия журнала;

3 = активное резервное копирование или восстановление;

4 = активная транзакция;

5 = зеркальное отображение базы данных;

6 = репликация;

7 = создание моментального снимка базы данных;

8 = просмотр журнала;

9 = другое (переходное).

log_reuse_wait_desc

nvarchar(60)

Описание действия или объекта, ожидаемого в настоящий момент журналом транзакций:

NOTHING;

CHECKPOINT;

LOG_BACKUP;

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

ACTIVE_BACKUP_OR_RESTORE;

ACTIVE_TRANSACTION;

DATABASE_MIRRORING;

REPLICATION;

DATABASE_SNAPSHOT_CREATION;

LOG_SCAN;

OTHER_TRANSIENT.

Дополнительные сведения см. в разделе Факторы, могущие вызвать задержку усечения журнала.

is_date_correlation_on

bit

1 = DATE_CORRELATION_OPTIMIZATION в состоянии ON.

0 = DATE_CORRELATION_OPTIMIZATION в состоянии OFF.

is_cdc_enabled

bit

1 = в базе данных включена система отслеживания измененных данных. Дополнительные сведения см. в разделе sys.sp_cdc_enable_db (Transact-SQL).

is_encrypted

bit

Указывает, зашифрована ли база данных (отражает последнее состояние, установленное с помощью предложения ALTER DATABASE SET ENCRYPTION). Может использоваться одно из следующих значений:

1 = зашифрована;

0 = не зашифрована.

Дополнительные сведения о шифровании баз данных см. в разделе Основные сведения о прозрачном шифровании данных (TDE).

Если база данных находится в процессе расшифровки, то столбец is_encrypted имеет значение 0. Состояние процесса шифрования можно просмотреть с помощью динамического административного представления sys.dm_database_encryption_keys.

is_broker_priority_honored

bit

Указывает, учитываются ли в базе данных приоритеты диалогов (отражает последнее состояние, установленное предложением ALTER DATABASE SET HONOR_BROKER_PRIORITY). Может использоваться одно из следующих значений:

1 = HONOR_BROKER_PRIORITY имеет значение ON;

0 = HONOR_BROKER_PRIORITY имеет значение OFF.

Дополнительные сведения см. в разделе Приоритеты диалогов.

Разрешения

Если участник, вызывающий sys.databases, не является владельцем базы данных и база данных не master или tempdb, минимально требуемыми разрешениями для просмотра соответствующей строки являются разрешения уровня сервера ALTER ANY DATABASE или VIEW ANY DATABASE, или разрешение CREATE DATABASE в базе данных master. Определить базу данных, к которой подключен участник, можно в таблице sys.databases.