sys.database_mirroring (Transact-SQL)

适用于:SQL Server

SQL Server 实例中的每个数据库都包含一行。 如果未启用数据库 ONLINE 或数据库镜像,则除database_id以外的所有列的值将为 NULL。

若要查看主数据库或 tempdb 以外的数据库行,你必须是数据库所有者,或者至少具有 ALTER ANY DATABA标准版 或 VIEW ANY DATABA标准版 服务器级权限或 CREATE DATABA标准版 master 数据库中的权限。 若要查看镜像数据库中的非 NULL 值,你必须是 sysadmin 固定服务器角色的成员

注意

如果数据库未参与镜像,则前缀为“镜像ing_”的所有列均为 NULL。

列名称 数据类型 描述
database_id int 数据库 ID。 在 SQL Server 实例中是唯一的。
镜像ing_guid uniqueidentifier 镜像合作关系的 ID。

NULL= 数据库不可访问或未镜像。

注意:如果数据库未参与镜像,则前缀为“镜像ing_”的所有列均为 NULL。
镜像ing_state tinyint 镜像数据库的状态和数据库镜像会话的状态。

0 = 已挂起

1 = 与其他伙伴断开

2 = 正在同步

3 = 挂起故障转移

4 = 已同步

5 = 伙伴未同步。 现在无法进行故障转移。

6 = 伙伴已同步。 可以进行故障转移。 有关故障转移要求的信息, 请参阅数据库镜像操作模式

NULL = 数据库不可访问或未镜像。
镜像ing_state_desc nvarchar(60) 镜像数据库状态和数据库镜像会话状态的说明,可以是下列值之一:

DISCONNECTED

SYNCHRONIZED

SYNCHRONIZING

PENDING_FAILOVER

SUSPENDED

UNSYNCHRONIZED

SYNCHRONIZED

Null

有关详细信息,请参阅 镜像状态 (SQL Server)
镜像ing_role tinyint 本地数据库当前在数据库镜像会话中扮演的角色。

1 = 主体

2 = 镜像

NULL = 数据库不可访问或未镜像。
镜像ing_role_desc nvarchar(60) 本地数据库在镜像中的角色说明,可以是以下值之一:

PRINCIPAL

MIRROR
镜像ing_role_sequence int 由于故障转移或强制服务,导致镜像伙伴在主体数据库角色和镜像数据库角色之间进行切换的次数。

NULL = 数据库不可访问或未镜像。
镜像ing_safety_level tinyint 镜像数据库更新的安全设置:

0 = 未知状态

1 = 关闭 [异步]

2 = 完全 [同步]

NULL = 数据库不可访问或未镜像。
镜像ing_safety_level_desc nvarchar(60) 镜像数据库更新的事务安全设置,可以是下列值之一:

未知

OFF

FULL

Null
镜像ing_safety_sequence int 将更改的序列号更新为事务安全级别。

NULL = 数据库不可访问或未镜像。
镜像ing_partner_name nvarchar(128) 数据库镜像伙伴的服务器名称。

NULL = 数据库不可访问或未镜像。
镜像ing_partner_instance nvarchar(128) 其他伙伴的实例名和计算机名称。 如果伙伴成为主体服务器,则客户端需要此信息以连接到该伙伴服务器。

NULL = 数据库不可访问或未镜像。
mirroring_witness_name nvarchar(128) 数据库镜像见证服务器的服务器名称。

NULL = 不存在见证服务器。
mirroring_witness_state tinyint 数据库的数据库镜像会话中的见证服务器状态,可以是下列值之一:

0 = 未知

1 = 已连接

2 = 已断开

NULL = 见证服务器不存在,数据库未联机或未镜像。
镜像ing_witness_state_desc nvarchar(60) 状态说明,可以是下列值之一:

未知

CONNECTED

DISCONNECTED

Null
镜像ing_failover_lsn numeric(25,0) 保证将被镜像到两个伙伴服务器磁盘中的最新事务日志记录的日志序列号 (LSN)。 故障转移后,合作伙伴将使用镜像ing_failover_lsn作为新的镜像服务器开始将新的镜像数据库与新的主体数据库同步的对帐点。
镜像ing_connection_timeout int 镜像连接超时值(秒)。 这是等待伙伴或见证服务器回复的秒数,超过该时间后,伙伴或见证服务器将被视为不可用。 默认超时值为 10 秒。

NULL = 数据库不可访问或未镜像。
镜像ing_redo_queue int 对镜像服务器重做的最大日志量。 如果镜像ing_redo_queue_type设置为 UNLIMITED,这是默认设置,则此列为 NULL。 如果数据库未联机,则该列也为 NULL。

否则,该列包含最大日志量 (MB)。 如果达到最大值,则当镜像服务器也达到同一值时,日志将在主体服务器上临时停止。 此功能限制故障转移时间。

有关详细信息,请参阅估计在角色切换期间服务的中断(数据库镜像)
镜像ing_redo_queue_type nvarchar(60) UNLIMITED 指示镜像不会禁止重做队列。 这是默认设置。

以兆字节为单位的重做队列的最大大小 (MB)。 请注意,如果队列大小指定为千字节或千兆字节,则数据库引擎将该值转换为兆字节。

如果数据库未联机,则该列为 NULL。
镜像ing_end_of_log_lsn numeric(25,0) 已刷新到磁盘本地日志末尾。 这与镜像服务器的强化 LSN 相当(请参阅镜像ing_failover_lsn列)。
镜像ing_副本 (replica)tion_lsn numeric(25,0) 可以发送复制的最大 LSN。

权限

目录视图中元数据的可见性仅限于用户拥有的安全对象,或者向用户授予了某些权限的安全对象。 有关详细信息,请参阅 Metadata Visibility Configuration

另请参阅

目录视图 (Transact-SQL)
ALTER DATABASE (Transact-SQL)
sys.database_mirroring_witnesses (Transact-SQL)
sys.database_mirroring_endpoints (Transact-SQL)
数据库和文件目录视图 (Transact-SQL)
查询 SQL Server 系统目录常见问题