SQL Server釋出與訂閱配置手冊
SQL Server可以通過釋出和訂閱方式在兩臺資料庫之間做資料實時同步。本手冊描述了建立釋出與訂閱的步驟。
本手冊所使用的環境如下:
|
IP |
主機名 |
主資料庫 |
192.168.2.110 |
ECS-DEV-10 |
備資料庫 |
192.168.2.112 |
ECS-DEV-12 |
1配置主機名
在兩臺資料庫之間建立釋出和訂閱時,兩臺伺服器之間需要通過主機名互通,需要在各自的hosts檔案中配置對端的主機名和IP。
在主資料庫上編輯以下檔案:
C:\Windows\System32\drivers\etc\hosts
在最後新增一行,內容如下:
192.168.2.112 ECS-DEV-12
在備資料庫這個檔案中也新增一行,內容如下:
192.168.2.110 ECS-DEV-10
2配置代理
開啟,SQL Server配置管理器,在左側樹上選擇【SQL Server服務】
右側雙擊【SQL Server代理】
【登入】切頁中,勾選【本賬戶】,賬號名填寫和【SQL Server】服務相同的賬號名
【服務】切頁中,將啟動模式改成【自動】,點選【確定】儲存
確認代理狀態是否是【正在執行】,如果沒有在執行,則右鍵點選代理,點選【啟動】
3在主資料庫建立釋出
開啟Microsoft SQL Server Management Studio
點選【下一步】
選擇要同步的資料庫,這裡選擇dwis,點選【下一步】
釋出型別選擇【事務釋出】,點選【下一步】
要釋出的物件選擇全部,點選【下一步】
點選【下一步】
點選【下一步】
勾選【立即建立快照並使快照保持可用狀態,以初始化訂閱】,點選【下一步】
點選【安全設定】
勾選【在SQL Server代理服務賬戶下執行】,勾選【使用以下SQL Server登入名】,輸入資料庫的使用者名稱和密碼,點選【確定】
勾選【建立釋出】,點選【下一步】
填寫釋出名稱,點選【完成】
等待建立釋出完成之後,點選【關閉】
4在備資料庫建立訂閱
連線備庫,在物件資源管理器中,右鍵選擇剛才建立好的釋出,點選【新建訂閱】
點選【下一步】
選擇剛才建立釋出的資料庫,點選【下一步】
選擇【推送訂閱】,點選【下一步】
點選【新增訂閱伺服器】
連線備資料庫,這裡的伺服器名稱需要填寫主機名。身份驗證選擇【SQL Server身份驗證】,輸入登入名和密碼,點選連線
點選【下一步】
點選訂閱伺服器右邊的【....】按鈕,配置代理的安全性
勾選【在SQL Server代理服務賬戶下執行】,勾選【使用以下SQL Server登入名】,輸入資料庫的使用者名稱和密碼,點選【確定】
代理計劃選擇【連續允許】,點選【下一步】
勾選【初始化】,初始化時間選擇【立即】,點選【下一步】
勾選【建立訂閱】,點選【下一步】
點選【完成】
等待訂閱建立成功之後,點選【關閉】
5監控釋出和訂閱狀態
在物件資源管理器中,右鍵點選建立好的釋出,點選【啟動複製監視器】,在裡面可以檢視釋出和訂閱的執行情況
修改表結構
如果需要在已建立釋出與訂閱的環境下修改表結構,需要重新生成代理快照,操作步驟如下:
右鍵點選已建立的釋出,點選【屬性】
左邊選擇【專案】,將要修改的表上的勾去掉
去掉勾的時候會彈出一個確認提示對話方塊,點選【是】關閉對話方塊,然後點選【確定】
執行修改表結構語句修改表結構,修改完之後,返回剛才的【專案】頁面,將剛才的表再次勾選上
再次右鍵點選已建立的釋出,點選【檢視快照代理狀態】
點選【啟動】,等待快照生成結束之後,檢視兩臺資料庫的資料是否已經可以正常同步