目录
作为数据库相关工作人员,对于当前数据库服务器上所存在的各个数据库都必须有所了解,所以此时sysdatabases视图对于我们来说,就显得十分重要了。
它只是一个只读表,里面包含所有数据库信息。
Microsoft SQL Server 上的每个数据库在表中占一行。安装 SQLServer 时, sys.databases 包含 master 、 model 、 msdb 、 mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。
情查看如下主要字段说明:
| 列名称 | 数据类型 | 说明 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | sysname | 数据库名称,在 SQL Server 实例中或在 Azure SQL 数据库服务器中是唯一的。 | ||||||||||||||||||||
| database_id | int | 数据库的 ID,在 SQL Server 实例中或在 Azure SQL 数据库服务器中是唯一的。 | ||||||||||||||||||||
| source_database_id | int | Non-NULL = 该数据库快照的源数据库 ID。 NULL = 非数据库快照。 | ||||||||||||||||||||
| owner_sid | varbinary(85) | 注册到服务器的数据库外部所有者的 SID(安全标识符)。 有关谁可以拥有数据库的信息,请参阅 ALTER AUTHORIZATION 的“数据库的 ALTER AUTHORIZATION”部分。 | ||||||||||||||||||||
| create_date | datetime | 数据库的创建或重命名日期。 对于 tempdb,该值在每次重新启动服务器时都会发生更改。 | ||||||||||||||||||||
| compatibility_level | tinyint | 对应于兼容行为的 SQL Server 版本的整数:
| ||||||||||||||||||||
| collation_name | sysname | 数据库的排序规则。 作为数据库中的默认排序规则。 NULL = 数据库没有联机,或 AUTO_CLOSE 设置为 ON 且数据库已关闭。 | ||||||||||||||||||||
| user_access | tinyint | 用户访问设置: 0 = 已指定 MULTI_USER 1 = 已指定 SINGLE_USER 2 = 已指定 RESTRICTED_USER | ||||||||||||||||||||
| user_access_desc | nvarchar(60) | 用户访问设置的说明。 | ||||||||||||||||||||
| 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 1 3 = RECOVERY_PENDING 1 4 = SUSPECT 5 = EMERGENCY 1 6 = OFFLINE 1 7 = COPYING 2 10 = OFFLINE_SECONDARY 2 注意:对于 Always On 数据库,可以查询 sys.dm_hadr_database_replica_states 的 database_state 或 database_state_desc 列。1适用于:SQL Server(从 SQL Server 2008 开始)和 Azure SQL 数据库 2适用于:Azure SQL 数据库和活动异地复制 | ||||||||||||||||||||
| state_desc | nvarchar(60) | 数据库状态的说明。 请参阅状态。 | ||||||||||||||||||||
| 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 选项设置。 | ||||||||||||||||||||
| 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) | 选定的恢复模式的说明。 | ||||||||||||||||||||
| page_verify_option | tinyint | PAGE_VERIFY 选项的设置: 0 = NONE 1 = TORN_PAGE_DETECTION 2 = CHECKSUM | ||||||||||||||||||||
| page_verify_option_desc | nvarchar(60) | PAGE_VERIFY 选项设置的说明。 | ||||||||||||||||||||
| is_auto_create_stats_on | bit | 1 = AUTO_CREATE_STATISTICS 为 ON 0 = AUTO_CREATE_STATISTICS 为 OFF | ||||||||||||||||||||
| is_auto_create_stats_incremental_on | bit | 指示自动统计信息的增量选项的默认设置。 0 = 自动创建统计信息不是增量统计信息 1 = 如果可能,自动创建统计信息是增量统计信息 适用范围:SQL Server(从 SQL Server 2014 (12.x) 开始)。 | ||||||||||||||||||||
| 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_query_store_on | bit | 1 = 针对此数据库启用查询存储。 查看 sys.database_query_store_options 以查看查询存储状态。 0 = 未启用查询存储 适用范围:SQL Server(从 SQL Server 2016 (13.x) 开始)。 | ||||||||||||||||||||
| is_published | bit | 1 = 数据库为事务复制拓扑或快照复制拓扑中的发布数据库 0 = 不是发布数据库 | ||||||||||||||||||||
| is_subscribed | bit | 未使用此列。 它将始终返回 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 = 检查点(当数据库具有内存优化的数据文件组时,应看到 log_reuse_wait 列指示 checkpoint 或 xtp_checkpoint)12 = 日志备份 1 3 = 主动备份或还原 1 4 = 活动事务 1 5 = 数据库镜像 1 6 = 复制 1 7 = 数据库快照创建 1 8 = 日志扫描 9 = AlwaysOn 可用性组辅助副本正将此数据库的事务日志记录应用到相应的辅助数据库。 2 9 = 其他(暂时)3 10 = 仅供内部使用 2 11 = 仅供内部使用 2 12 = 仅供内部使用 2 13 = 最早的页面 2 14 = 其他 2 16 = XTP_CHECKPOINT(当数据库具有内存优化的数据文件组时,应看到 log_reuse_wait 列指示 checkpoint 或 xtp_checkpoint)417 = 使用加速数据库恢复时的 sLog 扫描 5 1适用于:SQL Server(从 SQL Server 2008 开始) 2适用于:SQL Server(从 SQL Server 2012 (11.x) 开始) 3适用于:SQL Server(最高并包括 SQL Server 2008 R2) 4适用于:SQL Server(从 SQL Server 2014 (12.x) 开始) 5适用于:SQL Server(从 SQL Server 2019 (15.x) 开始) | ||||||||||||||||||||
| log_reuse_wait_desc | nvarchar(60) | 日志空间的重复使用正在等待最后一个检查点的描述。 可能的值: NOTHING CHECKPOINT LOG_BACKUP ACTIVE_BACKUP_OR_RESTORE ACTIVE_TRANSACTION DATABASE_MIRRORING 复制 DATABASE_SNAPSHOT_CREATION LOG_SCAN AVAILABILITY_REPLICA OLDEST_PAGE XTP_CHECKPOINT SLOG_SCAN | ||||||||||||||||||||
| 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_honor_broker_priority_on | bit | 指示数据库是否遵守会话优先级(反映使用 ALTER DATABASE SET HONOR_BROKER_PRIORITY 子句最后设置的状态)。 可以是以下其中一个值:1 = HONOR_BROKER_PRIORITY 为 ON 0 = HONOR_BROKER_PRIORITY 为 OFF 默认情况下,还原的数据库或附加的数据库都会关闭代理优先级。 | ||||||||||||||||||||
| replica_id | uniqueidentifier | 数据库参与的可用性组(如果有)的本地 AlwaysOn 可用性组可用性副本的唯一标识符。 NULL = 数据库不是可用性组中的可用性副本的一部分。 适用于:SQL Server(SQL Server 2012 (11.x) 及更高版本)和 Azure SQL 数据库 | ||||||||||||||||||||
| group_database_id | uniqueidentifier | 数据库在其参与的 AlwaysOn 可用性组(如果有)中的唯一标识符。 在主副本上以及在所有辅助副本上(数据库在这些辅助副本上加入可用性组),该数据库的 group_database_id 都是相同的。 NULL = 数据库不是任何可用性组中的可用性副本的一部分。 适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| resource_pool_id | int | 映射到此数据库的资源池的 ID。 此资源池控制对该数据库中的内存优化表可用的总内存。 适用于:SQL Server(从 SQL Server 2014 (12.x) 开始) | ||||||||||||||||||||
| default_language_lcid | smallint | 指示包含数据库的默认语言的本地 ID (lcid)。 注意:用作配置默认语言服务器配置选项的 sp_configure。 对于非包含数据库,此值为 NULL。适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| default_language_name | nvarchar(128) | 指示包含数据库的默认语言。 对于非包含数据库,此值为 NULL。 适用于:SQL Server(SQL Server 2012 (11.x) 及更高版本)和 Azure SQL 数据库 | ||||||||||||||||||||
| default_fulltext_language_lcid | int | 指示包含的数据库的默认全文语言的本地 ID (lcid)。 注意:用作默认配置默认全文语言服务器配置选项的 sp_configure。 对于非包含数据库,此值为 NULL。适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| default_fulltext_language_name | nvarchar(128) | 指示包含数据库的默认全文语言。 对于非包含数据库,此值为 NULL。 适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| is_nested_triggers_on | bit | 指示包含数据库中是否允许使用嵌套触发器。 0 = 不允许使用嵌套触发器 1 = 允许使用嵌套触发器 注意:用作配置嵌套触发器的服务器配置选项的 sp_configure。 对于非包含数据库,此值为 NULL。 有关详细信息,请参阅 sys.configurations (Transact-SQL)。适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| is_transform_noise_words_on | bit | 指示是否应在包含数据库中转换干扰词。 0 = 不应转换干扰词。 1 = 应转换干扰词。 注意:用作转换干扰词服务器配置选项的 sp_configure。 对于非包含数据库,此值为 NULL。 有关详细信息,请参阅 sys.configurations (Transact-SQL)。适用于:SQL Server(从 SQL Server 2012 (11.x) 开始) | ||||||||||||||||||||
| two_digit_year_cutoff | smallint | 指示 1753 到 9999 之间的数字值,以表示将两位数的年份解释为四位数的年份的截止年份。 注意:用作配置两位数年份截止服务器配置选项的 sp_configure。 对于非包含数据库,此值为 NULL。 有关详细信息,请参阅 sys.configurations (Transact-SQL)。适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| containment | tinyint(非 NULL) | 指示数据库的包含状态。 0 = 数据库包含状态为 OFF。 适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 1 = 数据库处于部分包含状态 适用于:SQL Server(从 SQL Server 2012 (11.x) 开始) | ||||||||||||||||||||
| containment_desc | nvarchar(60)(非 NULL) | 指示数据库的包含状态。 NONE = 早期数据库(零包含) PARTIAL = 部分包含的数据库 适用于:SQL Server(SQL Server 2012 (11.x) 及更高版本)和 Azure SQL 数据库 | ||||||||||||||||||||
| target_recovery_time_in_seconds | int | 恢复数据库的估计时间(秒)。 可以为 NULL。 适用于:SQL Server(从 SQL Server 2012 (11.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| delayed_durability | int | 延迟持续性设置: 0 = DISABLED 1 = ALLOWED 2 = FORCED 有关详细信息,请参阅控制事务持续性。 适用范围:SQL Server(从 SQL Server 2014 (12.x) 开始)和 Azure SQL 数据库。 | ||||||||||||||||||||
| delayed_durability_desc | nvarchar(60) | 延迟持续性设置: DISABLED ALLOWED FORCED 适用范围:SQL Server(从 SQL Server 2014 (12.x) 开始)和 Azure SQL 数据库。 | ||||||||||||||||||||
| is_memory_optimized_elevate_to_snapshot_on | bit | 在会话设置 TRANSACTION ISOLATION LEVEL 设置为较低的隔离级别、READ COMMITTED 或 READ UNCOMMITTED 时,使用 SNAPSHOT 隔离访问内存优化表。 1 = 最低隔离级别为 SNAPSHOT。 0 = 隔离级别未进行提升。 | ||||||||||||||||||||
| is_federation_member | bit | 指示该数据库是否为联合的成员。 适用于:Azure SQL 数据库 | ||||||||||||||||||||
| is_remote_data_archive_enabled | bit | 指示数据库是否可拉伸。 0 = 数据库未启用拉伸。 1 = 数据库已启用拉伸。 适用于:SQL Server(从 SQL Server 2016 (13.x) 开始) 有关详细信息,请参阅 Stretch Database。 | ||||||||||||||||||||
| is_mixed_page_allocation_on | bit | 指示数据库中的表和索引是否可以从混合分片分配初始页。 0 = 数据库中的表和索引始终可以从单一分片分配初始页。 1 = 数据库中的表和索引可以从混合分片分配初始页。 有关详细信息,请参阅 ALTER DATABASE SET Options (Transact-SQL) 的 SET MIXED_PAGE_ALLOCATION 选项。适用于:SQL Server(从 SQL Server 2016 (13.x) 开始) | ||||||||||||||||||||
| is_temporal_history_retention_enabled | bit | 指示是否启用临时保留策略清理任务。 1 = 已启用临时保留 0 = 已禁用临时保留 适用范围:SQL Server(从 SQL Server 2017 (14.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| catalog_collation_type | int | 目录排序规则设置: 0 = DATABASE_DEFAULT 2 = SQL_Latin_1_General_CP1_CI_AS 适用于:Azure SQL 数据库 | ||||||||||||||||||||
| catalog_collation_type_desc | nvarchar(60) | 目录排序规则设置: COLLATE SQL_Latin_1_General_CP1_CI_AS 适用于:Azure SQL 数据库 | ||||||||||||||||||||
| physical_database_name | nvarchar(128) | 对于 SQL Server,数据库的物理名称。 对于 Azure SQL 数据库,服务器上数据库的公用 ID。 适用范围:SQL Server(从 SQL Server 2019 (15.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| is_result_set_caching_on | bit | 指示是否启用结果集缓存。 1 = 已启用结果集缓存 0 = 已禁用结果集缓存 适用于:Azure Synapse Analytics Gen2。 虽然此功能正在推广到所有区域,但请检查部署到实例的版本以及最新的 Azure Synapse 发行说明和 Gen2 升级计划以了解功能可用性。 | ||||||||||||||||||||
| is_accelerated_database_recovery_on | bit | 指明是否启用了加速数据库恢复 (ADR)。 1 = 已启用 ADR 0 = 已禁用 ADR 适用范围:SQL Server(从 SQL Server 2019 (15.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| is_tempdb_spill_to_remote_store | bit | 指示是否启用 tempdb 溢出到远程存储。 1 = 已启用 0 = 已禁用 适用于:Azure Synapse Analytics Gen2。 虽然此功能正在推广到所有区域,但请检查部署到实例的版本以及最新的 Azure Synapse 发行说明和 Gen2 升级计划以了解功能可用性。 | ||||||||||||||||||||
| is_stale_page_detection_on | bit | 指示是否启用过时页面检测。 1 = 已启用过时页面检测 0 = 已禁用过时页面检测 适用于:Azure Synapse Analytics Gen2。 虽然此功能正在推广到所有区域,但请检查部署到实例的版本以及最新的 Azure Synapse 发行说明和 Gen2 升级计划以了解功能可用性。 | ||||||||||||||||||||
| is_memory_optimized_enabled | bit | 指示是否为数据库启用某些内存中功能,例如混合缓冲池。 不反映内存中 OLTP 的可用性或配置状态。 1 = 已启用内存优化功能 0 = 已禁用内存优化功能 适用范围:SQL Server(从 SQL Server 2019 (15.x) 开始)和 Azure SQL 数据库 | ||||||||||||||||||||
| is_ledger_on | bit | 指示账本数据库,其中所有用户表都是账本表(所有客户数据库都是防篡改的)。 适用于:从 SQL Server 2022 开始、Azure SQL 数据库 |
如果 sys.databases 的调用方不是数据库的所有者,并且数据库不是 master 或 tempdb,则查看对应行所需的最低权限为 ALTER ANY DATABASE 或 VIEW ANY DATABASE 服务器级权限,或者为 master 数据库中的 CREATE DATABASE 权限。 始终可在 sys.databases 中查看调用方连接的数据库。
重要
默认情况下,公共角色具有
VIEW ANY DATABASE权限,允许所有登录名查看数据库信息。 要阻止登录名检测数据库,请REVOKEpublic中的VIEW ANY DATABASE权限或DENY单个登录名的VIEW ANY DATABASE权限。
下面的示例返回 sys.databases 视图中提供的一些列。
- SELECT name, user_access_desc, is_read_only, state_desc, recovery_model_desc
- FROM sys.databases;

下面的示例查询 sys.databases 视图和 sys.dm_database_copies 视图,以返回有关数据库复制操作的信息。
适用于:Azure SQL DB(常规SQL SERVER版本以及Azure SQL MI都不可以用)
- -- Execute from the master database.
- SELECT a.name, a.state_desc, b.start_date, b.modify_date, b.percent_complete
- FROM sys.databases AS a
- INNER JOIN sys.dm_database_copies AS b ON a.database_id = b.database_id
- WHERE a.state = 7;

以下示例查询 sys.databases 是否启用时态保留清理任务的信息。 请注意,还原操作时态保留默认处于禁用状态。 使用 ALTER DATABASE 显式启用它。
适用于:Azure SQL DB/MI(常规SQL SERVER版本不可以用)
- -- Execute from the master database.
- SELECT a.name, a.is_temporal_history_retention_enabled
- FROM sys.databases AS a;
