SQL Server 复制问题

SQL Server 复制问题

在我开始之前不是我是 DBA 类型,我是软件开发人员类型。我们的 DBA 过去一周左右一直生病,而我一直在努力让一个新功能投入运行。

此新功能涉及向现有复制订阅添加几个表和视图,因此我使用 SSMS 中的 UI 将文章添加到订阅。什么也没发生,所以我尝试运行快照代理。

查看快照代理的监视器,似乎一切实际上都在运行后的前 3-4 秒内完成。在日志中我看到以下内容:

[0%] Activated articles for publication '[publicationname]' at the publisher.

[0%] Bulk copying snapshot data for article 'new_table_name'

[0%] Bulk copied snapshot data for article 'new_table_name' (1068 rows).

(每个新表重复前两行)

然后进度从 0% 跳到 93%:

[93%] Pre-loading meta-data of all tables in the publisher database for scripting

[93%] Pre-loading meta-data of all stored procedures in the publisher database for scripting

[93%] Pre-loading meta-data of all views in the publisher database for scripting

[93%] Pre-loading meta-data of all user-defined functions in the publisher database for scripting

[93%] Sorting article objects in the proper creation order

然后,我开始看到很多这样的情况:

[93%] The published object [objectnamehere] (StoredProcedure) is dependent on the unpublished object [objectnamehere] (Table), creation of the published object at the subscriber may fail unless the dependency is satisfied ahead of time.

但它们都是我不太关心的东西……但我不确定我是否可以在不破坏任何东西的情况下将它们从出版物中删除。其中大约有 20-30 个。

然后,代理运行了一会儿,什么也没做。10 分钟后,我得到了这个:

[93%] The process is running and is waiting for a response from the server.

然后每 10 分钟再执行两次,直到超时:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

现在,看起来常规事务复制也不起作用,因为没有良好的当前快照。

不用说,我陷入了困境,我真的需要一些帮助。谢谢。

答案1

事实证明,我还有其他几个正在运行的作业阻止了快照代理。如下所述:http://www.sqlmonster.com/Uwe/Forum.aspx/sql-server-replication/8439/Timeout-error-running-snapshot-agent

快照代理需要独占锁,因此等待锁时超时。禁用作业然后重新运行代理即可(仅需约 5 秒)。

答案2

尝试增加代理的 -QueryTimeOut。

相关内容