sys.databases (Transact-SQL)
Microsoft SQL Server 实例中的每个数据库都对应一行。
如果 sys.databases 的调用方并非数据库的所有者,并且数据库不是 master 或 tempdb,则查看对应行所需的最小权限为 ALTER ANY DATABASE 或 VIEW ANY DATABASE 服务器级权限,或者为 master 数据库中的 CREATE DATABASE 权限。总是可以在 sys.databases 中查看调用方连接的数据库。
如果数据库没有处于 ONLINE 状态,或者将 AUTO_CLOSE 设置为 ON,则某些列的值可能为 NULL。如果数据库处于 OFFLINE 状态,则低权限的用户无法看到对应行。若要在数据库处于 OFFLINE 状态的情况下查看对应行,用户必须至少具有 ALTER ANY DATABASE 服务器级权限或 master 数据库中的 CREATE DATABASE 权限。
列名
数据类型
说明
name
sysname
数据库名称(在 SQL Server 实例中唯一)。
database_id
int
数据库 ID(在 SQL Server 实例中唯一)。
source_database_id
int
Non-NULL = 该数据库快照的源数据库 ID。
NULL = 非数据库快照。
owner_sid
varbinary(85)
注册到服务器的数据库外部所有者的 SID(安全标识符)。
create_date
datetime
数据库的创建或重命名日期。对于 tempdb,该值在每次重新启动服务器时都更改。
compatibility_level
tinyint
对应于兼容行为的 SQL Server 版本的整数:
70
80
90
NULL = 数据库没有联机,或 AUTO_CLOSE 设置为 ON。
collation_name
sysname
数据库的排序规则。作为数据库中的默认排序规则。
NULL = 数据库没有联机或 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
state_desc
nvarchar(60)
数据库状态的说明:
ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
EMERGENCY
OFFLINE
有关详细信息,请参阅数据库状态。
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 = 无
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_UPDATE_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
该数据库的服务代理标识符。用作路由表中目标的 broker_instance。
is_broker_enabled
bit
1 = 该数据库中的代理当前正在发送和接收消息。
0 = 所有已发送的消息都会停留在传输队列中,已接收的消息不会置于该数据库的队列中。
默认情况下,还原的数据库或附加的数据库都禁用了代理。与此相关的例外是数据库镜像,其中 Broker 在故障转移后启用。
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。
请参阅
参考
ALTER DATABASE (Transact-SQL)
sys.database_mirroring_witnesses (Transact-SQL)
sys.database_recovery_status (Transact-SQL)
数据库和文件目录视图 (Transact-SQL)