sys.database_mirroring (Transact-SQL)

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

若要查看除 master 或 tempdb 以外的数据库行,您必须是数据库所有者或至少在 master 数据库中拥有 ALTER ANY DATABASE 或 VIEW ANY DATABASE 服务器级别的权限或 CREATE DATABASE 权限。 若要查看某一镜像数据库上的非 NULL 值,您必须是 sysadmin 固定服务器角色的成员。

注意注意

如果数据库未参与镜像,则所有带有“mirroring_”前缀的列都将为 NULL。

列名

数据类型

说明

database_id

int

数据库 ID。 在 SQL Server 实例中是唯一的。

mirroring_guid

uniqueidentifier

镜像合作关系的 ID。

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

注意注意

如果数据库未参与镜像,则所有带有“mirroring_”前缀的列都将为 NULL。

mirroring_state

tinyint

镜像数据库的状态和数据库镜像会话的状态。

0 = 已挂起

1 = 与其他伙伴断开

2 = 正在同步

3 = 挂起故障转移

4 = 已同步

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

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

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

mirroring_state_desc

nvarchar(60)

镜像数据库状态和数据库镜像会话状态的说明,可以是下列值之一:

DISCONNECTED

SYNCHRONIZED

SYNCHRONIZING

PENDING_FAILOVER

SUSPENDED

UNSYNCHRONIZED

SYNCHRONIZED

NULL

有关详细信息,请参阅镜像状态 (SQL Server)

mirroring_role

tinyint

本地数据库当前在数据库镜像会话中扮演的角色。

1 = 主体

2 = 镜像

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

mirroring_role_desc

nvarchar(60)

本地数据库在镜像中的角色说明,可以是以下值之一:

PRINCIPAL

MIRROR

mirroring_role_sequence

int

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

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

mirroring_safety_level

tinyint

镜像数据库更新的安全设置:

0 = 未知状态

1 = 关闭 [异步]

2 = 完全 [同步]

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

mirroring_safety_level_desc

nvarchar(60)

镜像数据库更新的事务安全设置,可以是下列值之一:

UNKNOWN

OFF

FULL

NULL

mirroring_safety_sequence

int

将更改的序列号更新为事务安全级别。

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

mirroring_partner_name

nvarchar(128)

数据库镜像伙伴的服务器名称。

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

mirroring_partner_instance

nvarchar(128)

其他伙伴的实例名和计算机名称。 如果伙伴成为主体服务器,则客户端需要此信息以连接到该伙伴服务器。

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

mirroring_witness_name

nvarchar(128)

数据库镜像见证服务器的服务器名称。

NULL = 不存在见证服务器。

mirroring_witness_state

tinyint

数据库的数据库镜像会话中的见证服务器状态,可以是下列值之一:

0 = 未知

1 = 已连接

2 = 已断开

NULL = 见证服务器不存在,数据库未联机或未镜像。

mirroring_witness_state_desc

nvarchar(60)

状态说明,可以是下列值之一:

UNKNOWN

CONNECTED

DISCONNECTED

NULL

mirroring_failover_lsn

numeric(25,0)

保证将被镜像到两个伙伴服务器磁盘中的最新事务日志记录的日志序列号 (LSN)。 故障转移之后,伙伴服务器便会将 mirroring_failover_lsn 用作调解点,在这个调解点上,新的镜像服务器开始将新的镜像数据库与新的主体数据库进行同步。

mirroring_connection_timeout

int

镜像连接超时值(秒)。 这是等待伙伴或见证服务器回复的秒数,超过该时间后,伙伴或见证服务器将被视为不可用。 默认超时值为 10 秒。

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

mirroring_redo_queue

int

对镜像服务器重做的最大日志量。 如果 mirroring_redo_queue_type 设置为 UNLIMITED(这是默认设置),则此列为 NULL。 如果数据库未联机,则该列也为 NULL。

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

有关详细信息,请参阅估计在角色切换期间服务的中断(数据库镜像)

mirroring_redo_queue_type

nvarchar(60)

UNLIMITED 指示镜像不会禁止重做队列。 这是默认设置。

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

如果数据库未联机,则该列为 NULL。

mirroring_end_of_log_lsn

numeric(25,0)

已刷新到磁盘本地日志末尾。 这相对于从镜像服务器的强制写入的 LSN(请参阅 mirroring_failover_lsn 列)。

mirroring_replication_lsn

numeric(25,0)

可以发送复制的最大 LSN。

权限

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。 有关详细信息,请参阅元数据可见性配置

请参阅

参考

目录视图 (Transact-SQL)

ALTER DATABASE (Transact-SQL)

sys.database_mirroring_witnesses (Transact-SQL)

sys.database_mirroring_endpoints (Transact-SQL)

数据库和文件目录视图 (Transact-SQL)

概念

查询 SQL Server 系统目录常见问题