准備條件:
1,准備兩個服務器,一主一從服務器,兩台服務器上分別安裝相同的sql Server數據庫
2,使用服務器名稱登錄數據庫,不清楚服務器名稱的使用下邊語句查詢
--獲取服務器名
select @@servername
3,准備一個主庫,這里假如主庫數據庫名字為:Customer,里邊有一張Users表
4,在從庫服務器上創建一個空數據庫(只讀庫):Customerread1,里邊什么內容也不要創建,所有內容都由主庫推送。
5,打開主庫上的sql Server配置服務,把sql Server代理服務設置成自動,並且啟動,我這里是全部都是啟動的
6,如果主庫服務器的防火牆是開着的,還要添加一下入站規則(1433端口)
下邊開始進入正題:
1,配置分發服務器,在主服務器上操作
在此之前,需要先在主服務器所在的計算機上創建一個共享文件夾,下邊要用來充當快照地址,
D盤(或其他盤)-->新建文件夾-->屬性-->共享-->這里共享用戶設置的為 Administrator
同時要設置 sql Server代理服務的訪問賬戶也要是:Administrator,否則到時候會因為訪問權限問題導致發布失敗!
我這里設置的為這台電腦的登錄賬戶密碼!
接下來正式開始:
將自己本身充當分發服務器
這一步默認即可
快照地址就是上邊創建的共享文件夾地址
將分發數據庫名稱加了個日期,可以自定義
默認下一步
最后遇到一個錯誤,下圖所示,意思是需要將 sql代理服務設置成自動啟動
如下設置,將代理設置成自動啟動即可。
2,本地發布
點擊 本地發布-->新建發布
選擇主庫:Customer
選擇--》事務發布
- 快照發布:隔一段時間會覆蓋訂閱服務器的數據庫,在訂閱服務器上做的修改同樣被覆蓋;
- 事務發布:是一種接近實時地從源到目標分發數據的方法;
- 具有可更新訂閱的事務發布:訂閱服務器可更新發布服務器的數據;
- 合並發布:發布服務器和訂閱服務器的更新都會同步到對方,注意ID在合並發布上的沖突
選擇要同步的表,這里只有一張 Users表
默認下一步
選擇,立即創建快照
配置-->安全設置
名字隨便起
刷新數據庫,即可看見生成一個發布文件
3,推送訂閱
選擇 publish-20200303這個發布文件,右鍵-->新建訂閱
(只要從庫服務器足夠多的,這里可以無限制的創建推送訂閱,想要幾個只讀庫就創建幾個,哈哈)
默認下一步
因為是在主庫上創建,這里選擇~~推送訂閱
默認顯示本地的服務器,這里需要添加另一台服務器
注意:這里使用另一台服務器的,服務器名稱鏈接
選擇事先創建的一個空數據庫:CustomerRead1
設置服務器鏈接
默認即可,下一步
成功之后,你會發現發布服務下多了一個服務
選擇發布服務-->啟動復制監視,可以查看數據同步日志
這時候,我們看到另一台服務器上的只讀庫已經成功同步過來數據!
這時候我們新增一條數據,看下效果!
數據基本上1s左右就同步過來了