SQL Server提供了多種讀寫分離的機制,這里只介紹下發布和訂閱的方式,因為博主只用過這種形式,SQL Server 2012中新增的功能Always On也可以實現。
快照發布
快照復制是完全按照數據和
數據庫對象出現時的狀態來復制和分發它們的過程。快照復制不需要連續地監控數據變化,因為已發布數據的變化不被增量地傳播到訂閱服務器,而是周期性的被一次復制。
a.本地發布:要啟動SQL Server代理
1.MyBookShop是主數據庫,MyBookShop_R是被同步的數據庫既輔數據庫,現在可以看出主數據庫比輔數據庫多兩條數據,現在我們把這兩條數據通過發布快照的方式同步過去。

2.

3.

4.

5.

6.可以在“計划在下時間運行快照代理”中設置運行時間,快照並非實時同步更新數據庫,所以可以設置個時間,也可以不設置,只同步一次就行。

7.點擊安全設置

8.

9.

10.

11.

12.

13.創建成功

b.本地訂閱
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.刷新顯示訂閱

16.重新查詢數據庫,看看有沒有同步過去
注:如果主數據庫添加數據,輔數據庫不會實時同步過去,除非重新啟動代理或者到了作業執行的時間才會再次同步,如果想要數據實時同步[說是實時也會有幾秒延遲,沒有絕對的實時同步]到輔數據庫就用事物發布而非快照發布

事務發布
事務發布的方法和快照發布基本相同,事務發布可以實時更新數據,當添加、修改或者刪除一條數據時,主數據庫上的變動會實時同步到輔數據庫【有幾秒延遲】;
事務發布可以實現讀寫分離,主庫發布事務,多台輔庫訂閱,輔庫要設置成只讀模式;