自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 復(fù)制及常見錯(cuò)誤處理

數(shù)據(jù)庫 SQL Server
復(fù)制是一組技術(shù)的組合,可以用此組合對(duì)數(shù)據(jù)和數(shù)據(jù)庫對(duì)象進(jìn)行復(fù)制由一個(gè)數(shù)據(jù)庫移動(dòng)到另一個(gè)數(shù)據(jù)庫。復(fù)制的英文是Replication,重復(fù)的意思,而不是Copy。復(fù)制的核心功能是存儲(chǔ)轉(zhuǎn)發(fā),在源數(shù)據(jù)庫中進(jìn)行增、刪、改之后,重復(fù)這個(gè)動(dòng)作到其他數(shù)據(jù)庫。

 SQL Server 復(fù)制

復(fù)制是一組技術(shù)的組合,可以用此組合對(duì)數(shù)據(jù)和數(shù)據(jù)庫對(duì)象進(jìn)行復(fù)制由一個(gè)數(shù)據(jù)庫移動(dòng)到另一個(gè)數(shù)據(jù)庫。

復(fù)制的英文是Replication,重復(fù)的意思,而不是Copy。復(fù)制的核心功能是存儲(chǔ)轉(zhuǎn)發(fā),在源數(shù)據(jù)庫中進(jìn)行增、刪、改之后,重復(fù)這個(gè)動(dòng)作到其他數(shù)據(jù)庫。

使用復(fù)制的原因

1、負(fù)載均衡:通過將數(shù)據(jù)復(fù)制到其他數(shù)據(jù)庫服務(wù)器來減少當(dāng)前服務(wù)器的負(fù)載。

2、分區(qū):將經(jīng)常使用的數(shù)據(jù)和歷史數(shù)據(jù)進(jìn)行隔離。

3、授權(quán):將一部分?jǐn)?shù)據(jù)提供給需要使用數(shù)據(jù)的人。

4、數(shù)據(jù)合并:每個(gè)區(qū)域都有各自的數(shù)據(jù),將其數(shù)據(jù)進(jìn)行合并。

5、故障轉(zhuǎn)移:源數(shù)據(jù)庫無法連接時(shí),可連接備用數(shù)據(jù)庫。或源數(shù)據(jù)庫保持鏈接情況下,用備用數(shù)據(jù)庫進(jìn)行測(cè)試存儲(chǔ)過程等。

復(fù)制的組成

復(fù)制的概念類似發(fā)行雜志,發(fā)行商出版后,通過報(bào)刊亭等地方分發(fā)到訂閱雜志的人手里。在復(fù)制中,發(fā)行商,報(bào)刊亭,訂閱人 分別對(duì)應(yīng) 發(fā)布服務(wù)器,分發(fā)服務(wù)器,訂閱服務(wù)器。

發(fā)布服務(wù)器

包含需要被發(fā)布的源數(shù)據(jù)庫。

分發(fā)服務(wù)器

包含分發(fā)數(shù)據(jù)庫,作用于存儲(chǔ)轉(zhuǎn)發(fā)發(fā)布服務(wù)器發(fā)過來的數(shù)據(jù)。一個(gè)分發(fā)服務(wù)器支持多個(gè)發(fā)布服務(wù)器,類似報(bào)刊亭可以出售多個(gè)出版社的雜志。分發(fā)服務(wù)器也可以和發(fā)布服務(wù)器是同一個(gè)實(shí)例,出版商不通過報(bào)刊亭自己直接賣。

訂閱服務(wù)器

包含發(fā)布服務(wù)器所發(fā)布的數(shù)據(jù)副本,這個(gè)副本可以是一個(gè)數(shù)據(jù)庫,或者一個(gè)表,甚至是一個(gè)表的子集。

發(fā)布和文章

發(fā)布指的是可以發(fā)布的文章的集合,這些文章包括表,存儲(chǔ)過程,視圖和用戶自定義函數(shù)。

發(fā)布表時(shí),還可以根據(jù)限定條件只發(fā)布表的子集。

訂閱

訂閱是相對(duì)發(fā)布的一個(gè)概念,訂閱定義了訂閱服務(wù)器從哪個(gè)分發(fā)服務(wù)器接收發(fā)布。有兩類訂閱方式,推薦訂閱push和請(qǐng)求訂閱pull,在推薦訂閱情況下,當(dāng)發(fā)布服務(wù)器產(chǎn)生更新時(shí),分發(fā)服務(wù)器直接更新訂閱內(nèi)容,而請(qǐng)求訂閱需要訂閱服務(wù)器定期查看分發(fā)服務(wù)器是否有可用更新,如果存在可用更新,則訂閱服務(wù)器更新數(shù)據(jù)。

復(fù)制類型

SQL Server 共有3種復(fù)制類型,每一個(gè)發(fā)布只能有一種復(fù)制類型,分別為:快照復(fù)制,事務(wù)復(fù)制,合并復(fù)制。

快照復(fù)制

快照復(fù)制將發(fā)布的所有表做成一個(gè)鏡像(數(shù)據(jù)庫對(duì)象的快照),然后一次性復(fù)制到訂閱服務(wù)器。由于發(fā)送的是整個(gè)數(shù)據(jù)集,所以中間發(fā)生的DML(增刪改)不會(huì)像其他復(fù)制那樣自動(dòng)傳送到訂閱服務(wù)器。

快照復(fù)制的特點(diǎn)是:

1、占用網(wǎng)絡(luò)寬帶,因?yàn)橐淮涡詡鬏斦麄€(gè)鏡像,所以快照復(fù)制的內(nèi)容不要太大。

2、適合更新不頻繁,但每次更新都比較大的數(shù)據(jù)。

3、訂閱服務(wù)器是只讀的環(huán)境。

事務(wù)復(fù)制

事務(wù)復(fù)制也是由快照開始的,在第一次設(shè)置好事務(wù)復(fù)制后,發(fā)布的表、存儲(chǔ)過程等將會(huì)被鏡像,之后每次對(duì)于發(fā)布服務(wù)器所做的改動(dòng)都會(huì)以日志的方式傳送到訂閱服務(wù)器。使發(fā)布服務(wù)器和訂閱服務(wù)器幾乎可以保持同步。

事務(wù)復(fù)制的特點(diǎn)是:

1、發(fā)布服務(wù)器和訂閱服務(wù)器內(nèi)容基本可以同步。

2、發(fā)布服務(wù)器,分發(fā)服務(wù)器,訂閱服務(wù)器之間的網(wǎng)絡(luò)連接要保持暢通。

3、訂閱服務(wù)器也可以設(shè)置成請(qǐng)求訂閱,使訂閱服務(wù)器可以不用一直和分發(fā)服務(wù)器保持鏈接。

4、數(shù)據(jù)量有持續(xù)的增長,更新頻繁。

合并復(fù)制

合并復(fù)制是允許發(fā)布服務(wù)器更新數(shù)據(jù)庫,也允許訂閱服務(wù)器更新數(shù)據(jù)。定期將這些更新進(jìn)行合并,使發(fā)布的數(shù)據(jù)在所有的節(jié)點(diǎn)上保持一致。因此,有可能發(fā)布服務(wù)器和訂閱服務(wù)器更新了同樣的數(shù)據(jù),當(dāng)產(chǎn)生沖突時(shí),并不是完全按照發(fā)布服務(wù)器優(yōu)先來處理。而是根據(jù)設(shè)置進(jìn)行處理。

#p#

配置復(fù)制

首先在本地創(chuàng)建兩個(gè)實(shí)例,其中MSSQLSERVER默認(rèn)實(shí)例作為發(fā)布服務(wù)器和分發(fā)服務(wù)器,MYSQLSERVER作為訂閱服務(wù)器。

重新安裝一次sqlserver,選擇新實(shí)例,不選擇默認(rèn)實(shí)例即可。

 

1、在MSSQLSERVER實(shí)例中配置發(fā)布服務(wù)器和分發(fā)服務(wù)器

將發(fā)布服務(wù)器和分發(fā)服務(wù)器用作同一臺(tái)

設(shè)置存儲(chǔ)快照文件夾

需要對(duì)此目錄增加Everyone的讀寫權(quán)限,否則無法寫入會(huì)創(chuàng)建失敗。

配置分發(fā)數(shù)據(jù)庫

然后完成即可。

這樣發(fā)布服務(wù)器和分發(fā)服務(wù)器就配置完成了。

 

2、建立一個(gè)發(fā)布

選擇要發(fā)布的數(shù)據(jù)庫

發(fā)布類型選擇事物發(fā)布

選擇需要復(fù)制的表

選擇立即創(chuàng)建并保持可用狀態(tài)

代理安全性選擇默認(rèn)代理賬戶即可

點(diǎn)擊完成

發(fā)現(xiàn)發(fā)布成功了,但是有一個(gè)警告。這是因?yàn)榇矸?wù)默認(rèn)是關(guān)閉的,需要啟動(dòng)它。

啟動(dòng)代理服務(wù)后,去查看快照代理狀態(tài)

啟動(dòng)就可以了。

這樣發(fā)布就創(chuàng)建完畢了。

 

3、在MYSQLSERVER實(shí)例中創(chuàng)建訂閱。

選擇查找SQL Server服務(wù)器

連接MSSQLSERVER實(shí)例

選擇剛剛建立的發(fā)布

然后選擇推送訂閱,這樣每次發(fā)布服務(wù)器存在更新就會(huì)自動(dòng)推送到訂閱服務(wù)器上。

在本地新建一個(gè)數(shù)據(jù)庫用于接收數(shù)據(jù)。

分發(fā)代理安全性,選擇模擬進(jìn)程賬戶,這里有個(gè)問題一會(huì)說。

然后點(diǎn)擊完成即可

到此訂閱創(chuàng)建完成

 

然后查看同步狀態(tài)

出現(xiàn)這個(gè)錯(cuò)誤時(shí),在MSSQLSERVER實(shí)例中,找到代理->作業(yè)->該作業(yè)停止。

使用復(fù)制監(jiān)視器

進(jìn)程無法連接到訂閱服務(wù)器,用戶NT SERVICE\SQLSERVERAGENT登陸失敗,這是因?yàn)镸SSQLSERVER實(shí)例在嘗試用自己的SQLSERVER代理賬號(hào)進(jìn)行連接,但是在MYSQLSERVER實(shí)例中,代理的賬號(hào)是不對(duì)的。所以要修改一下訂閱服務(wù)器的連接方式。

在訂閱服務(wù)器中本地訂閱是查看不到的,可以在發(fā)布服務(wù)器中本地發(fā)布中對(duì)應(yīng)發(fā)布下查看。

這里修改下訂閱服務(wù)器的連接方式,再次查看同步狀態(tài)。

已經(jīng)開始進(jìn)行傳遞事物了,查看復(fù)制監(jiān)視器

查看訂閱服務(wù)器該表數(shù)量

在發(fā)布服務(wù)器中添加測(cè)試數(shù)據(jù)

再次查詢訂閱服務(wù)器數(shù)量

可以發(fā)現(xiàn),訂閱服務(wù)器和發(fā)布服務(wù)器幾乎是保持同步的。

責(zé)任編輯:honglu 來源: 博客園
相關(guān)推薦

2010-06-01 16:14:04

2011-07-04 15:04:04

SQL Server

2024-03-27 08:18:02

Spring映射HTML

2023-10-26 12:05:14

Golang開發(fā)

2011-03-28 14:59:53

SQL Server

2021-04-14 07:08:14

Nodejs錯(cuò)誤處理

2010-09-08 15:28:50

SQL Server復(fù)制

2010-07-09 15:04:25

SQL Server

2022-11-16 08:41:43

2014-11-17 10:05:12

Go語言

2013-01-09 15:46:02

Android百度定位SDKGPS

2009-08-05 16:04:50

2021-04-29 09:02:44

語言Go 處理

2023-10-28 16:30:19

Golang開發(fā)

2010-10-20 17:37:23

SQL Server連

2017-03-08 08:57:04

JavaScript錯(cuò)誤堆棧

2016-08-19 10:41:42

Swift 2錯(cuò)誤

2017-04-06 14:40:29

JavaScript錯(cuò)誤處理堆棧追蹤

2011-05-25 10:26:42

ora-02069錯(cuò)誤

2023-12-26 22:05:53

并發(fā)代碼goroutines
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)