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

選擇 --》事務發佈

選擇要同步的表,這裏只有一張 Users 表

 

默認下一步

 

選擇,立即創建快照

 

配置 --> 安全設置

 

名字隨便起

刷新數據庫,即可看見生成一個發佈文件

3,推送訂閱

選擇 publish-20200303 這個發佈文件,右鍵 --> 新建訂閱

(只要從庫服務器足夠多的,這裏可以無限制的創建推送訂閱, 想要幾個只讀庫就創建幾個,哈哈)

 

默認下一步

 

因爲是在主庫上創建,這裏選擇~~ 推送訂閱

 

默認顯示本地的服務器,這裏需要添加另一臺服務器

 

注意:這裏使用另一臺服務器的,服務器名稱鏈接

選擇事先創建的一個空數據庫:CustomerRead1

 

設置服務器鏈接

 

 

默認即可,下一步

 

成功之後,你會發現發佈服務下多了一個服務

選擇發佈服務 --> 啓動複製監視,可以查看數據同步日誌

 

這時候,我們看到另一臺服務器上的只讀庫已經成功同步過來數據!

這時候我們新增一條數據,看下效果!

數據基本上 1s 左右就同步過來了

 

作者:PeterZhang

出處:https://www.cnblogs.com/peterzhang123

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/n2yhDfjdS0l4Vhiq8brxhQ