資料庫分庫分表策略之MS-SQL讀寫分離方案
- 2019 年 11 月 14 日
- 筆記
MS-SQL讀寫分離將從以下知識點進行展開:
以下截圖內容來自部落客:https://www.cnblogs.com/echosong/p/3603270.html
1.本地發布(寫庫如:centerdb)
2.本地訂閱(查詢庫如:querydb)
具體操作流程如下:
1.本地發布
1.1.本地以SQL Server2008伺服器為例

1.2.新建發布嚮導

1.3選擇數據元位置

1.4.選擇同步的資料庫對象

1.5發布複製類型

1.6設置同步計劃

1.7設置代理安全性

1.8發布完成取名字


2.本地訂閱複製
2.1新建訂閱嚮導

2.2搜索發布伺服器去訂閱

2.3由於上面發布的和分發的是同一台伺服器所以選擇推送訂閱

2.4選擇訂閱接受的對象(也就是獲取數據的資料庫,上面發布了 test 庫 pce_admin_info,這裡用本機的test1來接受,同步時如果沒有表會自動在test1庫創建表)

2.5設置鏈接安全性

2.6後面一直默認點下一步,完成訂閱



3.示例:
同步上面步驟,把 A伺服器的 test 庫 的 pce_admin_info 表同步到 B伺服器的 test1 ,在第一次執行訂閱後自動創建了表,之後會根據計劃設置同步的更新表pce_admin_info

4.注意事項 4.1無論是發布複製還是訂閱服務 一定要在sql server安裝的伺服器本機操作,不能是遠程連接操作
4.2將這個文件夾共享出來,然戶用共享文件夾的UNC路徑作為快照文件夾路徑。這個文件夾要賦予SQL Server Service和Agent Service讀寫許可權。
4.3sql server 另外一種鏡像實現數據副本,鏡像是只能主伺服器讀寫,從伺服器是不支援讀寫的,而複製是可以從伺服器讀 主伺服器寫。所以我們實現讀寫分離往往是通過資料庫的複製來實現。
4.4UNC 可以做的網路驅動映射或者FTP連接
4.5再發布伺服器設置訂閱的時候 系統會提示使用電腦名,而在不同的網路內電腦名不可以直接訪問,這個時候需要設置別名,別名要注意64 client 和32client都要加
5.擴展
同步複製的時候訂閱伺服器會生成相應的表的刪除,修改,添加的存儲過來來執行數據


左邊的存儲過程由右邊的調用存儲過程式控制制,選項可以選擇其他的就不會生成存儲過程
當我們業務需要 需要對存儲過程進行修改,我們修改存儲過程後,如果改變了源數據的結構,這個時候存儲過程又會初始化,如果我們想讓存儲過程保持不變可以做以下修改

上面右圖的true 改為false 就 ok