SQL SERVER同步環境新增發佈對象時不能生成(sp_MS+表名)同步存儲過程

在配置了同步的用戶環境(訂閱端:請求訂閱)sql

在發佈端:數據庫

一、企業管理器SSMS—複製—本地發佈—發佈屬性—項目(選中發佈對象)服務器


二、在企業管理裏—查看快照代理狀態(啓動)spa


在訂閱服務器:代理

USE [DBName]
GO
SELECT * FROM sys.procedures WHERE name LIKE 'sp_MS%' ORDER BY create_date DESC

發現沒用生成對應的同步所需的存儲過程


--解決方法:code

--已經配置步驟1時省略對象

一、重複 步驟1ip

 或用如下命令格式在查詢分析器裏執行同步

USE [DBName]
GO
EXEC sp_addarticle @publication = N'DBName', @article = N'TabName',
    @source_owner = N'dbo', @source_object = N'TabName',
    @schema_option = 0x0000000008037ADF, @force_invalidate_snapshot = 1,
    @vertical_partition = N'false'
    
GO


二、執行如下命令

--對於全部現有的訂閱服務器,將對其請求訂閱中的新項目的訂閱添加到發佈中。 此存儲過程在發佈服務器的發佈數據庫中執行。
Exec sp_refreshsubscriptions 'DBName'   
GO  
--啓動可爲發佈生成初始快照的快照代理做業 
Exec sp_startpublication_snapshot 'DBName'  
GO  

在訂閱服務器:it

USE [DBName]
GO
SELECT * FROM sys.procedures WHERE name LIKE 'sp_MS%' ORDER BY create_date DESC

你會發現已存在所需存儲過程

新增記錄查看是否正常同步


作同步時注意,配置完,檢查同步對象是否一致,不一致時建議在發佈服務器,數據庫—右健—生成腳本 —選中表—選項時(選擇只數據生成腳本)

相關文章
相關標籤/搜索