蜜桃av色欲a片精品一区,麻豆aⅴ精品无码一区二区,亚洲人成网站在线播放影院在线,亚洲 素人 字幕 在线 最新

微立頂科技

新聞資訊

創(chuàng)新 服務(wù) 價(jià)值

  SQL Server搭建從同步實(shí)現(xiàn)讀寫分離

發(fā)布日期:2022/12/22 12:20:59      瀏覽量:


一、概念簡介

1.1、基本概念

1)讀寫分離概念:是把對數(shù)據(jù)庫的讀操作和寫操作分離開。在一定程度上,讀寫分離可以緩解讀寫操作并發(fā)時(shí)產(chǎn)生鎖的問題。

2)讀寫分離原理:是讓主數(shù)據(jù)庫處理事務(wù)性增、刪、改操作(INSERT、DELETE、UPDATE),而從數(shù)據(jù)庫處理查詢操作(SELECT)。

1.2、技術(shù)簡介

 SQL Server提供了三種技術(shù)來實(shí)現(xiàn)讀寫分離,分別是:日志傳送、事務(wù)復(fù)制、Always On。以下是三種技術(shù)的比較:

  日志傳送 事務(wù)復(fù)制 Always On
原理

通過SQL Server Agent調(diào)度作業(yè)進(jìn)行日志

的備份、復(fù)制、還原實(shí)現(xiàn)同步

由復(fù)制代理同步發(fā)布數(shù)據(jù)上的

增刪改操作到訂閱服務(wù)器

主數(shù)據(jù)庫的事務(wù)日志記錄發(fā)送并

運(yùn)用到每個(gè)輔助數(shù)據(jù)庫

版本功能支持

SQL Server 2000 企業(yè)版

SQL Server 2005 及以后標(biāo)準(zhǔn)版、企業(yè)版

標(biāo)準(zhǔn)版、企業(yè)版 SQL Server 2012 企業(yè)版
操作系統(tǒng)要求 無限制 無限制

Windows 企業(yè)版

故障轉(zhuǎn)移群集

限制 要求數(shù)據(jù)庫必須是完整恢復(fù)模式 要求表必須有主鍵 要求數(shù)據(jù)庫必須是完整恢復(fù)模式
同步粒度 數(shù)據(jù)庫級 表級 數(shù)據(jù)庫級
數(shù)據(jù)差異 取決于備份、復(fù)制、還原的作業(yè)設(shè)置 幾秒 幾秒
副本數(shù)量 無限制 無限制 4個(gè)
副本讀取 間歇性,在還原時(shí)會(huì)中斷查詢。 正常 正常
自動(dòng)故障轉(zhuǎn)移 不支持 不支持 支持

事務(wù)復(fù)制沒有Always On的要求那么高,只需要主從服務(wù)器能通過TCP進(jìn)行通訊即可,主從服務(wù)器操作系統(tǒng)和SQL Server版本可以不完全一致(生產(chǎn)環(huán)境建議一致),同時(shí),主從服務(wù)器也不需要加入域。

注:本文主從同步實(shí)現(xiàn)方式采用事務(wù)復(fù)制方式。

二、實(shí)戰(zhàn)準(zhǔn)備

2.1、網(wǎng)絡(luò)環(huán)境

1)主從服務(wù)器最好在同一個(gè)局域網(wǎng)內(nèi),而且要互相ping得通,可以是不同網(wǎng)段。

2)以下是本文的測試環(huán)境:

  計(jì)算機(jī)名 IP地址 操作系統(tǒng) 數(shù)據(jù)庫
主服務(wù)器 IT01 192.168.2.174 Windows 10 SQL Server 2016
從服務(wù)器 HW01 192.168.2.242 Windows Server 2012 SQL Server 2016

2.2、數(shù)據(jù)庫主機(jī)名

1)SQL Server數(shù)據(jù)庫實(shí)例主機(jī)名需與本地服務(wù)器名稱一致:

--本地服務(wù)器名稱 SELECT @@SERVERNAME --數(shù)據(jù)庫實(shí)例主機(jī)名 SELECT SERVERPROPERTY(ServerName)

2)若出現(xiàn)SQL Server數(shù)據(jù)庫實(shí)例主機(jī)名與本地服務(wù)器名稱不一致的情況,可通過以下語句來更改:

復(fù)制代碼
IF (SERVERPROPERTY(SERVERNAME)<>@@SERVERNAME) BEGIN DECLARE @SERVER SYSNAME SET @SERVER=@@SERVERNAME EXEC SP_DROPSERVER @SERVER=@SERVER SET @SERVER=CAST(SERVERPROPERTY(SERVERNAME) AS SYSNAME) EXEC SP_ADDSERVER @SERVER=@SERVER,@LOCAL=LOCAL END
復(fù)制代碼

更改完成后請重啟SQL Server服務(wù):

2.3、同步賬號

主從服務(wù)器都需要建立一個(gè)賬號及密碼都相同的本地管理員用戶如sync:

2.4、SQL Server 代理

主從服務(wù)器都需要啟動(dòng)SQL Server代理,另外登錄賬號都設(shè)為同步賬號如sync:

2.5、同步說明

1)以數(shù)據(jù)庫AdventureWorks為例。

2)在AdventureWorks上執(zhí)行以下SQL語句,否則后續(xù)會(huì)出現(xiàn)【進(jìn)程無法在“IT01”上執(zhí)行“sp_replcmds”】報(bào)錯(cuò)。 

sys.sp_changedbowner sa

3)主從搭建,實(shí)際是發(fā)布->分發(fā)->訂閱的過程。本文發(fā)布與分發(fā)使用的是同一臺(tái)服務(wù)器IT01。

2.6、同步規(guī)則

1)新增的表一定要有主鍵,否則不能進(jìn)行同步。

2)從庫上一定不能有任何的數(shù)據(jù)修改,這個(gè)原則一定要遵守。

三、實(shí)戰(zhàn)操作

3.1、分發(fā)配置

1)在IT01主服務(wù)器上,對著SQL Server的"復(fù)制"右鍵->點(diǎn)擊"配置分發(fā)"。

2)點(diǎn)擊"下一步"。

3)默認(rèn)選擇,點(diǎn)擊"下一步"。

4)快照文件夾應(yīng)使用網(wǎng)絡(luò)路徑,因此要先設(shè)置文件夾共享。

5)打開"D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL"->對著"repldata"文件夾"右鍵"->點(diǎn)擊"屬性"。

6)選擇"共享"頁簽->點(diǎn)擊"共享"。

7)添加"Everyone"用戶。

8)授予"Everyone"用戶"讀取/寫入"權(quán)限->點(diǎn)擊"共享"。

9)共享成功后,在快照文件夾中輸入網(wǎng)絡(luò)路徑"\\IT01\ReplData",點(diǎn)擊"下一步"。

10)默認(rèn)選擇,點(diǎn)擊"下一步"。

11)默認(rèn)選擇,點(diǎn)擊"下一步"。

12)默認(rèn)選擇,點(diǎn)擊"下一步"。

13)點(diǎn)擊"完成"。

14)完成后,點(diǎn)擊"關(guān)閉"即可。

3.2、發(fā)布配置

1)在IT01主服務(wù)器上,點(diǎn)擊SQL Server的"復(fù)制"->對著"本地發(fā)布"右鍵->點(diǎn)擊"新建發(fā)布"。

2)點(diǎn)擊"下一步"。

3)選擇要發(fā)布的數(shù)據(jù)庫如"AdventureWorks"->點(diǎn)擊"下一步"。

4)選擇"事務(wù)發(fā)布"->點(diǎn)擊"下一步"。

5)選擇要發(fā)布的對象如"表"(也可以選擇某個(gè)具體表)->點(diǎn)擊"下一步"。 

6)默認(rèn)選擇,點(diǎn)擊"下一步"。

7)勾選"立即創(chuàng)建快照并使快照保持可用狀態(tài),以初始化訂閱"->點(diǎn)擊"下一步"。

8)點(diǎn)擊"安全設(shè)置"。

9)由于本測試環(huán)境為非域環(huán)境,因此只能選擇"在 SQL Server 代理服務(wù)賬號下運(yùn)行"。同時(shí),錄入SQL Server登錄名及密碼,點(diǎn)擊"確定"。

10)點(diǎn)擊"下一步"。

11)默認(rèn)選擇,點(diǎn)擊"下一步"。

12)起個(gè)發(fā)布名稱,點(diǎn)擊"完成"。

13)執(zhí)行成功后,點(diǎn)擊"關(guān)閉"即可。

14)對著發(fā)布名稱"右鍵"->點(diǎn)擊"屬性"。

15)點(diǎn)擊"快照"->取消勾選"將文件放入默認(rèn)文件夾",勾選"將文件放入下列文件夾",并錄入網(wǎng)絡(luò)地址"\\IT01\ReplData"->點(diǎn)擊"確定"。

3.3、訂閱配置

1)在HW01從服務(wù)器上打開運(yùn)行->輸入"\\IT01"。

2)確保能正常訪問主服務(wù)上的共享文件夾"repldata"。

3)對著數(shù)據(jù)庫"右鍵"->選擇"新建數(shù)據(jù)庫"。

4)輸入數(shù)據(jù)庫名如"AdventureWorks"->點(diǎn)擊"確定"。

5)打開"復(fù)制",對著本地訂閱"右鍵"->點(diǎn)擊"新建訂閱"。

6)默認(rèn)選擇,點(diǎn)擊"下一步"。

7)在下拉框中選擇"查找 SQL Server 發(fā)布服務(wù)器..."。

8)輸入主服務(wù)器名稱及身份驗(yàn)證,同時(shí)勾選"記住密碼",最后點(diǎn)擊"連接"。

9)默認(rèn)選擇,點(diǎn)擊"下一步"。

10)選擇"在其訂閱服務(wù)器上運(yùn)行每個(gè)代理(請求訂閱)"->點(diǎn)擊"下一步"。

11)選擇訂閱數(shù)據(jù)庫"AdventureWorks"->點(diǎn)擊"下一步"。

12)點(diǎn)擊"..." 。

13)選擇"在 SQL Server 代理服務(wù)賬戶下運(yùn)行"->輸入連接到分發(fā)服務(wù)器的登錄賬號及密碼->點(diǎn)擊"確定"。

14)點(diǎn)擊"下一步"。

15)選擇"連續(xù)運(yùn)行"->點(diǎn)擊"下一步"。

16)初始化時(shí)間選擇"立即"->點(diǎn)擊"下一步"。

17)默認(rèn)選擇,點(diǎn)擊"下一步"。

18)點(diǎn)擊完成。

19)創(chuàng)建成功后,點(diǎn)擊"關(guān)閉"。

20)對著訂閱名稱"右鍵"->點(diǎn)擊"屬性"。

 22)在快照項(xiàng)中,快照位置選擇"備份文件夾"->快照文件夾輸入"\\IT01\repldata"->點(diǎn)擊"確定"。

四、異常檢查

1)對著發(fā)布名稱"右鍵"->點(diǎn)擊"啟動(dòng)復(fù)制監(jiān)視器"。

2)記錄行"右鍵",可以"停止代理"再"啟動(dòng)代理",這樣就可以發(fā)現(xiàn)執(zhí)行過程中的報(bào)錯(cuò)。也可以點(diǎn)擊"查看詳細(xì)信息",查看執(zhí)行的過程日志等。

五、新增項(xiàng)目內(nèi)容

1)假如有新的表或其它新的項(xiàng)目內(nèi)容需要同步,可以對著發(fā)布名稱"右鍵"->點(diǎn)擊"屬性"。

2)選擇"項(xiàng)目"->勾選新增的表等項(xiàng)目內(nèi)容->點(diǎn)擊"確定"。

3)對著發(fā)布名稱"右鍵"->點(diǎn)擊"查看快照代理狀態(tài)"。

4)點(diǎn)擊"啟動(dòng)"。

六、刪除發(fā)布服務(wù)器上的主從復(fù)制

1)先刪除發(fā)布服務(wù)器上的訂閱和發(fā)布。

2)執(zhí)行以下命令,刪除distribution分發(fā)數(shù)據(jù)庫。

USE master GO EXEC sp_dropdistributiondb @database=Ndistribution GO EXEC sp_dropdistributor @no_checks=1,@ignore_distributor=1 GO


  業(yè)務(wù)實(shí)施流程

需求調(diào)研 →

團(tuán)隊(duì)組建和動(dòng)員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡(luò)部署 →

系統(tǒng)部署試運(yùn)行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓(xùn)

售后服務(wù)

馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生