zoukankan      html  css  js  c++  java
  • Aways on故障系列之三:所有从数据库均无法同步

    服务器用的阿里云服务器,自己做的非域Aways On主从同步。

    故障描述:所有从数据库无法同步主数据库的数据,查看Aways On的服务器状态,所有服务器已离线。

    故障排查:

        1.查看同步状态,延时非常高。

    SELECT  availability_mode_desc ,
            role_desc ,
            replica_server_name ,
            last_redone_time ,
            GETDATE() now ,
            DATEDIFF(ms, last_redone_time, GETDATE()) diffMS
    FROM    ( ( sys.availability_groups AS ag
                JOIN sys.availability_replicas AS ar ON ag.group_id = ar.group_id
              )
              JOIN sys.dm_hadr_availability_replica_states AS ar_state ON ar.replica_id = ar_state.replica_id
            )
            JOIN sys.dm_hadr_database_replica_states dr_state ON ag.group_id = dr_state.group_id
                                                                 AND dr_state.replica_id = ar_state.replica_id;

        2.检查同步面板,所有服务器离线。

        3.检查数据库日志,发现问题:大致意思为证书过期。

    Database Mirroring login attempt failed with error: 'Connection handshake failed. The certificate used by this endpoint was not found: Certificate expired. Use DBCC CHECKDB in master database to verify the metadata integrity of the endpoints. State 85

        4.检查群集状态,正常。

        5.百度后发现是由于服务器aways on证书过期导致的。昨天对服务器进行了续费操作,因而推断去年的今天做了数据库非域Aways on,没有注意到证书的有效时间,而证书默认有效时间为1年,与证书过期相吻合。

    故障原因:非域Aways on同步对应的数据库证书过期。

    故障解决:

        1.在各服务器查询所有的证书,找到所有的过期证书。

    select * from master.sys.certificates

        2.删除所有的过期证书。

    DROP CERTIFICATE 证书名称

        如果证书名称中包含有特殊字符,例如-,需要采用下面的方法进行删除。

    declare @CompName varchar(255),@dySql varchar(1000)
    set @CompName='证书部分名称'
    set @dySql=CONCAT('drop CERTIFICATE ', QUOTENAME(@CompName + '-特殊字符后'))
    exec (@dySql);

        3.如果是删除当前服务器的证书,则会报错,删除失败,需要先删除端点,再删除证书。

        查看端点

    select * from master.sys.database_mirroring_endpoints

        删除端点

    DROP ENDPOINT Endpoint_Mirroring

        4.参考Aways on的搭建,重新生成证书并导入到对应的服务器中。

        5.参考Aways on的搭建,重新加入从数据库到Aways on中。

        6.讲过上述步骤后,主从同步正常。

  • 相关阅读:
    HDU 4472 Count DP题
    HDU 1878 欧拉回路 图论
    CSUST 1503 ZZ买衣服
    HDU 2085 核反应堆
    HDU 1029 Ignatius and the Princess IV
    UVa 11462 Age Sort
    UVa 11384
    UVa 11210
    LA 3401
    解决学一会儿累了的问题
  • 原文地址:https://www.cnblogs.com/maomao999/p/9855624.html
Copyright © 2011-2022 走看看