• 根据sys.database_mirroring查询镜像数据库同步状态


    SELECT * FROM sys.database_mirroring WHERE database_id =DB_ID('dbname')

    主要查看mirroring_state字段和值和mirroring_end_of_log_lsn字段的值

    实例 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

    有关详细信息,请参阅镜像状态

    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 形式指定,则 SQL Server 2005 数据库引擎会将该值转换为 MB。

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

    mirroring_end_of_log_lsn

    numeric(25,0)

    已刷新到磁盘的本地日志结束信息。这与镜像服务器的硬化 LSN 对应(请查看 mirroring_failover_lsn列)。

    mirroring_replication_lsn

    numeric(25,0)

    复制可以发送的最大 LSN。

  • 相关阅读:
    报错注入验证sqli
    pycharm out of memory 闪退
    集群、分布式、负载均衡区别与联系
    如何获取线程池ThreadPoolExecutor正在运行的线程
    docker快速安装mysql
    基于guava实现本地缓存
    NIO selector 多路复用reactor线程模型
    网络编程之NIO
    网络编程之BIO
    反射性能研究,反射赋值与set方法赋值对比
  • 原文地址:https://www.cnblogs.com/davidhou/p/4758178.html
Copyright © 2020-2023  润新知