使用SQL Server的發布與訂閱可以將一個數據庫的數據實時傳送到另一個數據庫中,使用這種方式與Link Server相比可以減少對數據庫的連接次數。下面介紹SQL Server 2008R2發布與訂閱時最基本的配置。
首先在發布服務器創建發布,注意不論創建發布還是訂閱都要用機器名登錄,而不能用IP地址或.等替代符。
1.在Replication-->Local Publications處右鍵單擊選擇New Publication彈出如下向導。
2.選擇要創建發布的數據庫。
3.選擇要創建發布的類型。本例選擇Transactional Publication,這種發布方式可以實時同步數據到訂閱數據庫,延時較小。
4.選擇要發布的數據庫對象,數據庫對象包括表、視圖、存儲過程等。
注意當選擇Transactional Publication只有有主鍵的表才可以發布。
5.在本步驟可以選擇對表或視圖做過濾。
6.定義是否生成一個快照。Transactional Publication在初始時生成一個快照,正式運行后不再重新生成。
7.維護快照運行代理的用戶信息。單擊Securrity Settings按鈕彈出新窗口維護用戶信息。
8.輸入運行發布代理的用戶,需確保該用戶有運行代理的權限。
9.輸入發布名稱,生成發布。
10.如果訂閱數據庫與發布數據庫不在一台服務器,訂閱數據庫的代理運行賬戶需對存放快照的目錄有讀取權限,可以在以下頁面修改快照的存放目錄為網絡目錄。
接下來創建訂閱
1.在Replication-->Local Subscriptions處右鍵單擊選擇New Subscription彈出如下向導。
2.查找發布,選擇發布數據庫。
3.選擇發布。
4.本步驟選擇在發布端運行訂閱代理還是訂閱端運行訂閱代理。
下面維護代理運行賬戶時要根據運行在哪一端來確定用哪一端的賬戶。對應跨域的情況需特別注意。
5.選擇訂閱的數據庫
6.維護連接發布和訂閱代理的用戶,單擊...按鈕彈出維護用戶信息頁面。
維護用戶信息,根據代理運行在哪一端來確定用哪一端的賬戶。
7.選擇訂閱的方式,本例選擇Run continuously,數據延遲較少。
8.選擇是否需對訂閱進行初始化。初始化時會在訂閱端創建對應的數據庫對象,重新導入數據。
9.完成訂閱
完成發布與訂閱的配置后下面就是監控發布與訂閱的運行情況。
在新建的發布上右鍵單擊,在彈出菜單中選擇Launch Replication Monitor彈出monitor窗口。
在本窗口中可以看到發布和訂閱的運行情況。如果有異常圖標中將有紅色顯示。雙擊Watch List中的明細可以彈出該明細的詳細運行信息。