• 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.讲过上述步骤后,主从同步正常。

  • 相关阅读:
    ArcGIS Server GP服务发布与测试(基础版)
    【转】arcgis server site 快速恢复与重建
    ArGIS Server 服务的更新
    ArcMap中,如何查看当前工具是否在执行?如何将工具调到前台来执行?
    【转】ArcGIS 创建切片缓存方法工具总结
    ArcGIS Server 增加缓存路径
    修改ArcGIS Server Account / 站点管理员的 账号、密码
    ArcGIS Server 创建站点失败
    ArcGIS Server,4000端口被占用
    JS 中如何判断字符串类型的数字
  • 原文地址:https://www.cnblogs.com/maomao999/p/9855624.html
Copyright © 2020-2023  润新知