【问题标题】:Transactional Replication not copying the user table事务复制不复制用户表
【发布时间】:2016-03-02 16:59:03
【问题描述】:

我已经配置了 SQL Server A 和 B(A 是发布者和分发者)和 B 作为订阅者之间的事务复制。我确实看到订阅者作业已在 SQL 服务 B 的本地订阅下创建,并且所有系统表、视图、存储过程都已复制,但未复制用户表? 你能指导我如何解决这个问题吗?

SQL 服务器版本:2008R2

【问题讨论】:

  • 最好在dba.stackexchange.com询问
  • 您能在复制监视器中看到订阅吗?如果可以,导航到订阅的代理选项卡并尝试启动快照代理,这应该会执行初始同步(假设一切设置正确)。如果没有,您能否确认您已将所有用户表添加到发布中(右键单击服务器资源管理器中的发布并查看属性 > 文章)。如果没有,请在此处添加用户表(然后执行上面的快照)。
  • 正如 Jamie 所说,要么通过 repl 监视器启动代理,要么只需右键单击出版物并重新初始化它(假设您实际上已将正确的文章添加到出版物中)
  • 我看到用户表已正确添加。但我在复制镜像中看到此错误消息“由于操作系统错误 21,该进程无法读取文件 'F:\Program Files\MS SQL SERVER\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData\unc\'。(来源:MSSQL_REPL,错误号:MSSQL_REPL20024)

标签: sql-server sql-server-2008-r2 database-administration


【解决方案1】:

张贴作为长寿的答案!您最初的问题是未初始化发布,因此您必须启动初始快照。导航到复制监视器 > 代理选项卡并右键单击 > 启动代理:

您的第二个问题是您似乎指定了一个不可共享或不可访问的复制路径。如果您右键单击出版物并单击属性,然后找到快照页面。将快照位置文件夹设置为共享文件夹 \\ServerName\Sharename 并共享实际文件夹。这意味着镜像/订阅者可以读取快照。您需要重新运行上面的快照。

【讨论】:

    猜你喜欢
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多