我們在開發系統的時候,經常會遇到高併發的問題,還有高可用性和安全性方面的考慮,需要用讀寫分離的方案來解決問題。也就是在我們使用資料庫比較多,更新少而查詢比較多的情況下使用讀寫分離,實現提高效能,減少資料庫壓力。
為啥要用讀寫分離呢?
因為資料庫的「寫」操作是比較耗時的 但是資料庫的「讀」操作卻很快。 所以讀寫分離,解決的是,資料庫的寫入,影響了查詢的效率。
基本的原理是讓主資料庫處理事務性增、改、刪操作(insert、update、delete),而從資料庫處理select查詢操作。資料庫複製被用來把事務性操作導致的變更同步到集群中的從資料庫。
讀寫分離要實現的最重要的一點就是要實現主從資料庫資料同步,否則就會造成讀寫不同步。今天我們說的是sqlserver主從資料庫的資料同步,採用sqlserver發布訂閱功能來實現。接下來開始配置,我們是在本地測試的。
首先在需要在本地建立倆資料庫demo1和demo2,並在demo1中建乙個表student。然後找到下面圖示圈中的功能
在本地發布右鍵->新建發布,如下圖
直接下一步。進入發布資料庫頁面,這裡發布的就是主資料庫,選擇demo1,下一步
開啟發布型別選擇頁面,這裡我們選擇事務發布,可以在更新主資料庫的同時同步到從資料庫。當然這裡我們也可以選擇其他選項,例如快照發布,我們可以設定資料更新發布頻率(在使用快照發布的時候需要注意:要到服務啟動sql server ** (mssqlserver),因為它預設情況下是停止的,需要手動啟動)
然後繼續下一步,將要發布的資料庫中的物件選中
下一步繼續下一步,開啟如下刷選錶行,也就是我們可以在這裡新增篩選條件,實現符合條件的資料進行發布,我們這裡直接下一步
在下圖中涼核取方塊選中,然後開啟更改,設定發布頻率,我們這裡間隔時間設定為10秒
然後確定,下一步進行安全設定
確定並下一步
下一步設定發布名稱,並點選完成,出現下圖就說明發布成功了。
然後還有新建訂閱,右鍵->新建訂閱
出現下圖就說明訂閱新建成功。
好了,這樣就實現了發布訂閱,主從資料庫資料同步。demo2資料庫裡也有和demo1資料庫裡一樣的表結構。
這時候我們就可以在demo1資料庫的student表裡新增一行資料,然後去查詢demo2資料庫裡的student表,發現資料已經同步過來了。
選中建好的發布,右鍵->屬性,執行下面步驟,即可同步更新新建表和儲存過程。
SQL SERVER發布與訂閱
一.配置分發 1.配置分發伺服器,注 配置發布與訂閱,連線sqlserver必須用伺服器名登入 2.配置分發 3.選擇分發伺服器 4.選擇快照資料夾 5.設定此資料夾的讀寫許可權為everyone 6.選擇分發資料庫路徑 7.配置分發 8.配置分發 9.配置分發完成 二.新建發布 1 新建發布 2 ...
SQL Server 發布訂閱 發布型別詳解
microsoftsql server 提供了三種複製型別。每種複製型別都適合於不同應用程式的要求。根據應用程式需要,可以在拓撲中使用一種或多種複製型別 為了幫助您選擇適當的複製型別,此主題提供了有關下列內容的資訊 我們建議您先要通讀方案描述,找出與應用程式要求最匹配的方案,然後單擊鏈結檢視詳細資訊...
SQLServer 刪除發布與訂閱
在sqlserver中使用右鍵刪除單獨的發布或者訂閱時,有時候刪除不乾淨。顯示刪除成功但是實際上覆制還是存在的。這時候如果要從新建立該錶的訂閱,會提示該錶以用於複製。以下語句經過測試是可以清除成功的。但是有個bug 如果使用第三個sp removedbreplication清除發布或者訂閱的複製物件...