zoukankan      html  css  js  c++  java
  • sql server 数据库复制实现数据同步常见问题(不定期更新)

    sql server2008数据库复制实现数据同步常见问题

    在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题

    23.发布 'xx' 的并发快照不可用,因为该快照尚未完全生成,或者日志读取器代理未运行,无法激活它。如果并发快照的生成过程中断,则必须重新启动用于该发布的快照代理,直到生成完整的快照。

    1. 删除相关的发布订阅
    2. 执行下列查询,如果还是存在'xx'相关的行
    select * from msdb..MSdistpublishers
    select * from distribution..MSpublisher_databases
    select * from distribution..MSpublications
    select * from distribution..MSarticles
    select * from distribution..MSsubscriptions
    
    1. 删掉所有与'xx'先关的行(记得先备份表)
    delete from distribution..MSarticles where publisher_db = '<NameOfDatabase>'
    delete from distribution..MSsubscriptions where publisher_db = '<NameOfDatabase>'
    
    1. 重建分发

    参考 stackoverflow

    如果没有像22那样修改过密码,就是删除分发复制时由于某些原因没删干净(上边的那些表)
    经测试,删除发布、订阅时MSsubscriptions表中的数据会自动被删掉,
    如果还存在之前的‘xx’那就是未删除干净

    24. 错误号 MSSQL_REPL20011 错误号:15517

        进程无法在“WIN-XXX”上执行“sp_replcmds”。 (源: MSSQL_REPL,错误号  MSSQL_REPL20011) 
        获取帮助: http://help/MSSQL_REPL20011
        无法作为数据库主体执行,因为主体 "dbo    不存在、无法模拟这种类型的主体,或您没有所需的权限。 (源 MSSQLServer,错误号: 15517)
        获取帮助: http://help/15517
        进程无法在“WIN-XXX”上执行“sp_replcmds”。 (源: MSSQL_REPL,错误号  MSSQL_REPL22037)
        获取帮助: http://help/MSSQL_REPL22037 
    
    • 权限不够,解决方法
      ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [sa]
    
      ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [分发账户]
    
      USE 数据库名
      GO
      sp_changedbowner '分发账户'
    

    参考

    25 错误信息:已将此(这些)订阅标记为不活动,必须将其重新初始化。需要删除 NoSync 订阅,然后重新创建它们

    解决方法:
    更改分发库中的一个表 MSsubscriptions 的状态字段(0 = 不活动;1 = 已订阅;2 = 活动),订阅中的每个已发布项目在MSsubscriptions表中占一行。

    update sub set status = 2
    from distribution.dbo.MSsubscriptions sub 
    where status<>2 and publication_id='publicationID'
    
    

    执行之后,重新关闭和启动该分发代理作业,很快,复制正常了!~

    为了避免过期导致的问题,有两种方法设置:

    1. 禁用这几个清除的作业;
    2. 设置更长的保质期。

    26 添加新的分发表

    1. 分发项-->右键属性-->项目-->勾选显示所有熟悉-->勾选分发表
    2. 启动复制监视器-->选中分发项-->代理-->启动代理(等待代理完成,订阅会自动同步新的快照含新添加的项,期间耐心等待,可 F5 查看进度)
    

    27 日志读取代理器未运行, 无法启动

  • 相关阅读:
    shell 字符串切分成数组
    RDD关键性能考量之 内存管理
    RDD关键性能考量之 序列化格式
    【转】Linux ln(link) 命令详解
    【转】redis配置认证密码
    【转】MongoDB 知识要点一览
    RDD关键性能考量之 并行度
    使用thumbnailator不按照比例,改变图片的大小
    Linux服务器redhat配置本地yum源
    Oracle表字段的增删改和重命名
  • 原文地址:https://www.cnblogs.com/dayou123123/p/8334157.html
Copyright © 2011-2022 走看看