數據庫分庫分表策略之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


