Sql Server 數據庫讀寫分離配置
準備條件:
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 左右就同步過來了
作者:PeterZhang
出處:https://www.cnblogs.com/peterzhang123
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/n2yhDfjdS0l4Vhiq8brxhQ