1. 程式人生 > >sql數據庫發布、訂閱同步方式操作

sql數據庫發布、訂閱同步方式操作

數據 代理 傳輸 sel 操作 sqlserve tro 無法遠程 右鍵

Sql數據庫發布訂閱分為兩個步驟:1、發布。2、訂閱。首先在數據源數據庫服務器上對需要同步的數據進行發布,然後在目標數據庫服務器上對上述發布進行訂閱。

一、發布。

發布需要用實際的服務器名稱,不能使用服務器的IP地址。能發布的信息包括表,視圖,用戶定義函數,存儲過程。

1.1、配置別名

分發服務器:

啟動SQL Server配置管理器

技術分享圖片

技術分享圖片

SQL Server網絡配置“TCP/IP”啟用

技術分享圖片

Sql Native Client 10.0配置(32位)“別名”新建別名 如下圖:

技術分享圖片

說明: 別名指發布/訂閱服務器名

端口號指MSSqlserver使用的端口號

服務器指發布/訂閱服務器IP

Sql Native Client 10.0配置“別名”新建別名 同上

以上配置完成後,如果還是無法遠程連接到數據庫,則修改系統配置文件

C:\WINDOWS\system32\drivers\etc\hosts 加入

10.240.15.10 實例名

發布服務器、訂閱服務器別名配置參考分發服務器配置

說明:只支持服務器名+實例名+端口號方式訪問。

別名服務可只進行開啟,不進行設置。

1.3啟動主數據庫服務器上的SQL2008數據庫服務如下圖

技術分享圖片

連接到SQl2008服務器

具體發布過程如下:

找到數據庫服務器下的【復制】--【本地發布】,右鍵【新建發布】如下圖:

技術分享圖片

技術分享圖片

點擊下一步:

技術分享圖片

選擇待發布的數據庫

技術分享圖片

選擇發布類型:

技術分享圖片

快照發布:發布服務器按預定的時間間隔向訂閱服務器發送已發布數據的快照。(全量)。

事務發布:在訂閱服務器收到已發布數據的初始快照後,發布服務器將事務流式傳輸到訂閱服務器。(變化的量)。

具有可更新訂閱的事務發布: 在 SQL Server 訂閱服務器收到已發布數據的初始快照後,發布服務器將事務流式傳輸到訂閱服務器。來自訂閱服務器的事務被應用於發布服務器。(比較復雜,在新版本的數據庫中已經沒有此功能)。

合並發布:在訂閱服務器收到已發布數據的初始快照後,發布服務器和訂閱服務器可以獨立更新已發布數據。更改會定期合並。Microsoft SQL Server Compact Edition 只能訂閱合並發布。(雙向復制,比較復雜)。

選擇事務同步點擊下一步:

技術分享圖片

選擇待發布的內容:

帶紅色標記的表不能發布,因為它沒有主鍵列。事務發布中的所有表都需要主鍵列。

技術分享圖片

註:點擊項目屬性,選擇“所有表項目的屬性”可以按需要設置發布的屬性!

技術分享圖片

點擊下一步:

技術分享圖片

可以添加篩選器

技術分享圖片

點擊下一步:

技術分享圖片

勾選多選框:

技術分享圖片

點擊更改,設置同步時間頻率:

技術分享圖片

代理安全性設置:

技術分享圖片

選擇在SQL Server代理服務賬戶下運行和使用以下SQL Server登錄名,填寫用戶名密碼

技術分享圖片

點擊完成,輸入發布名稱:

技術分享圖片

發布成功:

技術分享圖片

註:發布完成後可先查看快照代理狀態,確保發布快照執行完畢後,在進行訂閱。

二、訂閱。

訂閱是對數據庫發布的快照進行同步,將發布的數據源數據同步到目標數據庫。具體訂閱過程如下:

技術分享圖片

選擇訂閱的發布:

技術分享圖片

選擇發布服務器—查找SQL Server發布服務器,輸入用戶名密碼選擇要發布的數據庫,註必須輸入服務器名稱,不能為服務器ip。

技術分享圖片

點擊下一步:

技術分享圖片

選擇或新建訂閱數據庫

技術分享圖片

新建數據庫,輸入數據庫名稱:

技術分享圖片

點擊下一步,點擊紅線按鈕設置分發代理

技術分享圖片

選擇在SQL Server代理服務賬戶下運行和使用以下SQL Server登錄名,然後輸入用戶名密碼

技術分享圖片

技術分享圖片

點擊完成:

技術分享圖片

註1:修改數據庫實例名

(如果沒有修改計算機名,跳過該步)

由於修改了分發服務器名,所以需要修改實例名,使服務器名與實例名保持一致

查詢實例名 select @@servername

刪除舊的實力名 EXEC sp_dropserver‘本地實例名稱‘

添加修的實例名 exec sp_addserver‘修改名稱‘,‘原名稱‘

重啟服務查詢

SELECT @@SERVERNAME,SERVERPROPERTY(‘SERVERNAME‘)

兩列數據一致,則實力名修改成功。

修改後服務器名稱與實例名一周後,重啟下sql server代理

技術分享圖片

註2:執行中註意問題

1.由於數據庫較大,經過測試快照需要一到兩個小時才能完成,在執行快照時比較消耗資源請耐心等待。

2快照執行時間,請按需求設定

3請關閉防火墻

4訂閱服務器一定要添加發布服務器別名

5、設置表主鍵問題:設置時檢查表中是否有自增長的數據列,如有直接將自增長的數據列設置為主鍵。

sql數據庫發布、訂閱同步方式操作