- 為什么要同步SQL Server 2000 數(shù)據(jù)庫(kù),它都用在什么場(chǎng)合
- SQL Server 2000 數(shù)據(jù)庫(kù)同步配置的原理
- 從0開(kāi)始一步一步配置SQL Server 2000 數(shù)據(jù)庫(kù)同步,非常細(xì)
- 已經(jīng)非常熟練,可以看精品版SQL Server 2000 數(shù)據(jù)庫(kù)同步配置
- 配置SQL Server 2000 數(shù)據(jù)庫(kù)同步時(shí)的 常見(jiàn)問(wèn)題
為什么要同步SQL Server 2000 數(shù)據(jù)庫(kù),它都用在什么場(chǎng)合
- 數(shù)據(jù)實(shí)時(shí)備份同步,數(shù)據(jù)庫(kù)服務(wù)器出問(wèn)題時(shí)我們也有其正常工作時(shí)的備份
- 數(shù)據(jù)實(shí)時(shí)備份同步,一臺(tái)服務(wù)器負(fù)載不起時(shí),可以用來(lái)做負(fù)載均衡
- 數(shù)據(jù)實(shí)時(shí)備份同步,數(shù)據(jù)庫(kù)服務(wù)器可以無(wú)間斷,無(wú)損失遷移
- 主服務(wù)器被攻擊或當(dāng)機(jī)時(shí)另一臺(tái)服務(wù)同步機(jī)可以應(yīng)急
- 。。。。??梢哉f(shuō)好處非常多的。暫時(shí)寫(xiě)這么多
SQL Server 2000 數(shù)據(jù)庫(kù)同步配置的原理
復(fù)制的概念
Microsoft? SQL Server? 2000 的復(fù)制是在數(shù)據(jù)庫(kù)之間對(duì)數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象進(jìn)行復(fù)制
和分發(fā)并進(jìn)行同步以確保其一致性的一組技術(shù)。
使用復(fù)制可以將數(shù)據(jù)分發(fā)到不同位置,通過(guò)局域網(wǎng)、使用撥號(hào)連接、通過(guò) Internet 分
發(fā)給遠(yuǎn)程或移動(dòng)用戶。復(fù)制還能夠使用戶提高應(yīng)用程序性能,根據(jù)數(shù)據(jù)的使用方式物理
分隔數(shù)據(jù)(例如,將聯(lián)機(jī)事務(wù)處理 (OLTP) 和決策支持系統(tǒng)分開(kāi)),或者跨越多個(gè)服務(wù)
器分布數(shù)據(jù)庫(kù)處理。
---------------------------------------------------------------------------
SQL復(fù)制的基本元素包括
發(fā)布服務(wù)器、訂閱服務(wù)器、分發(fā)服務(wù)器、發(fā)布、項(xiàng)目
發(fā)布服務(wù)器
發(fā)布服務(wù)器是提供數(shù)據(jù)以便復(fù)制到其它服務(wù)器的服務(wù)器。發(fā)布服務(wù)器可以具有一個(gè)或多個(gè)
發(fā)布,每個(gè)發(fā)布代表一組邏輯相關(guān)的數(shù)據(jù)。除了指定其中哪些數(shù)據(jù)需要復(fù)制之外,發(fā)布服
務(wù)器還檢測(cè)事務(wù)復(fù)制期間發(fā)生更改的數(shù)據(jù)并維護(hù)有關(guān)此站點(diǎn)上所有發(fā)布的信息。
分發(fā)服務(wù)器
分發(fā)服務(wù)器是作為分發(fā)數(shù)據(jù)庫(kù)宿主并存儲(chǔ)歷史數(shù)據(jù)和/或事務(wù)以及元數(shù)據(jù)的服務(wù)器。分發(fā)
服務(wù)器的角色根據(jù)執(zhí)行的復(fù)制類(lèi)型而不同。有關(guān)更多信息,請(qǐng)參見(jiàn)復(fù)制類(lèi)型。
遠(yuǎn)程分發(fā)服務(wù)器是獨(dú)立于發(fā)布服務(wù)器并配置為復(fù)制的分發(fā)服務(wù)器的服務(wù)器。本地分發(fā)服務(wù)
器是既配置為復(fù)制的發(fā)布服務(wù)器又配置為復(fù)制的分發(fā)服務(wù)器的服務(wù)器。
訂閱服務(wù)器
訂閱服務(wù)器是接收復(fù)制數(shù)據(jù)的服務(wù)器。訂閱服務(wù)器訂閱的是發(fā)布而不是發(fā)布中分離的項(xiàng)目;
并且訂閱服務(wù)器只訂閱其需要的發(fā)布,而不是發(fā)布服務(wù)器上所有可用的發(fā)布。根據(jù)復(fù)制的類(lèi)
型和所選擇的復(fù)制選項(xiàng),訂閱服務(wù)器還可以將數(shù)據(jù)更改傳播回發(fā)布服務(wù)器或?qū)?shù)據(jù)重新發(fā)布
到其它訂閱服務(wù)器。
發(fā)布
發(fā)布是一個(gè)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)項(xiàng)目的集合。這種多個(gè)項(xiàng)目的分組使得指定邏輯相關(guān)的一
組數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象以一起復(fù)制變得更容易。
項(xiàng)目
項(xiàng)目是指定要復(fù)制的數(shù)據(jù)表、數(shù)據(jù)分區(qū)或數(shù)據(jù)庫(kù)對(duì)象。項(xiàng)目可以是完整的表、某幾列(使用垂
直篩選)、某幾行(使用水平篩選)、存儲(chǔ)過(guò)程或視圖定義、存儲(chǔ)過(guò)程的執(zhí)行、視圖、索引視圖
或用戶定義函數(shù)。
訂閱
訂閱是對(duì)數(shù)據(jù)或數(shù)據(jù)庫(kù)對(duì)象的復(fù)本的請(qǐng)求。訂閱定義將接收的發(fā)布和接收的時(shí)間、地點(diǎn)。訂閱的
同步或數(shù)據(jù)分發(fā)可以由發(fā)布服務(wù)器(強(qiáng)制訂閱)或訂閱服務(wù)器(請(qǐng)求訂閱)請(qǐng)求。發(fā)布可以支持
強(qiáng)制訂閱和請(qǐng)求訂閱的混合。
---------------------------------------------------------------------------
SQL復(fù)制的工作原理
SQL SERVER 主要采用出版物、訂閱的方式來(lái)處理復(fù)制。源數(shù)據(jù)所在的服務(wù)器是出版服務(wù)
器,負(fù)責(zé)發(fā)表數(shù)據(jù)。出版服務(wù)器把要發(fā)表的數(shù)據(jù)的所有改變情況的拷貝復(fù)制到分發(fā)服務(wù)器
分發(fā)服務(wù)器包含有一個(gè)分發(fā)數(shù)據(jù)庫(kù),可接收數(shù)據(jù)的所有改變,并保存這些改變,再把這些
改變分發(fā)給訂閱服務(wù)器
精品版SQL Server 2000 數(shù)據(jù)庫(kù)同步配置
SQL SERVER復(fù)制技術(shù)類(lèi)型,三種復(fù)制技術(shù),分別是(詳細(xì)的說(shuō)明參考SQL聯(lián)機(jī)幫助):
1、快照復(fù)制
2、事務(wù)復(fù)制
3、合并復(fù)制
下介紹實(shí)現(xiàn)復(fù)制的步驟。(以快照復(fù)制為例)
準(zhǔn)備工作:
1.發(fā)布服務(wù)器,訂閱服務(wù)器都創(chuàng)建一個(gè)同名的windows用戶,并設(shè)置相同的密碼,做為發(fā)布快照文件夾的有效訪問(wèn)用戶
我的電腦
--控制面板
--管理工具
--計(jì)算機(jī)管理
--用戶和組
--右鍵用戶
--新建用戶
--建立一個(gè)隸屬于administrator組的登陸windows的用戶
2.在發(fā)布服務(wù)器上,新建一個(gè)共享目錄,做為發(fā)布的快照文件的存放目錄,操作:
我的電腦--D:\ 新建一個(gè)目錄,名為: PUB
--右鍵這個(gè)新建的目錄
--屬性--共享
--選擇"共享該文件夾"
--通過(guò)"權(quán)限"按紐來(lái)設(shè)置具體的用戶權(quán)限,保證第一步中創(chuàng)建的用戶具有對(duì)該文件夾的所有權(quán)限
--確定
3.設(shè)置SQL代理(SQLSERVERAGENT)服務(wù)的啟動(dòng)用戶(發(fā)布/訂閱服務(wù)器均做此設(shè)置)
開(kāi)始--程序--管理工具--服務(wù)
--右鍵SQLSERVERAGENT
--屬性--登陸--選擇"此賬戶"
--輸入或者選擇第一步中創(chuàng)建的windows登錄用戶名
--"密碼"中輸入該用戶的密碼
4.設(shè)置SQL Server身份驗(yàn)證模式,解決連接時(shí)的權(quán)限問(wèn)題(發(fā)布/訂閱服務(wù)器均做此設(shè)置)
企業(yè)管理器
--右鍵SQL實(shí)例--屬性
--安全性--身份驗(yàn)證
--選擇"SQL Server 和 Windows"
--確定
5.在發(fā)布服務(wù)器和訂閱服務(wù)器上互相注冊(cè)
企業(yè)管理器
--右鍵SQL Server組
--新建SQL Server注冊(cè)...
--下一步--可用的服務(wù)器中,輸入你要注冊(cè)的遠(yuǎn)程服務(wù)器名 --添加
--下一步--連接使用,選擇第二個(gè)"SQL Server身份驗(yàn)證"
--下一步--輸入用戶名和密碼(一般是sa,密碼最好設(shè)置一下非常復(fù)雜的)
--下一步--選擇SQL Server組,也可以創(chuàng)建一個(gè)新組
--下一步--完成
6.對(duì)于只能用IP,不能用計(jì)算機(jī)名的,為其注冊(cè)服務(wù)器別名
(在連接端配置,比如,在訂閱服務(wù)器上配置的話,服務(wù)器名稱(chēng)中輸入的是發(fā)布服務(wù)器的IP)
開(kāi)始--程序--Microsoft SQL Server--客戶端網(wǎng)絡(luò)實(shí)用工具
--別名--添加
--網(wǎng)絡(luò)庫(kù)選擇"tcp/ip"--服務(wù)器別名輸入SQL服務(wù)器名
--連接參數(shù)--服務(wù)器名稱(chēng)中輸入SQL服務(wù)器ip地址
--如果你修改了SQL的端口,取消選擇"動(dòng)態(tài)決定端口",并輸入對(duì)應(yīng)的端口號(hào)
==============================================================================
正式開(kāi)始:
1.配置發(fā)布服務(wù)器
a. 選中指定 [服務(wù)器] 節(jié)點(diǎn)
b. 從 [工具] 下拉菜單的 [復(fù)制] 子菜單中選擇 [發(fā)布、訂閱服務(wù)器和分發(fā)] 命令
c. 系統(tǒng)彈出一個(gè)對(duì)話框點(diǎn) [下一步] 然后看著提示操作
--直到"指定快照文件夾"
--在"快照文件夾"中輸入準(zhǔn)備工作中創(chuàng)建的目錄: \\服務(wù)器名>\pub
一[下一步] 直操作到完成。
d. 當(dāng)完成了出版服務(wù)器的設(shè)置以后系統(tǒng)會(huì)為該服務(wù)器的樹(shù)形結(jié)構(gòu)中添加一個(gè)復(fù)制監(jiān)視器
同時(shí)也生成一個(gè)分發(fā)數(shù)據(jù)庫(kù)(distribution)
---------------------------------------------------------------------------
2.創(chuàng)建發(fā)布
a. 選中指定的服務(wù)器
b. 從 [工具] 菜單的 [復(fù)制] 子菜單中選擇 [創(chuàng)建和管理發(fā)布] 命令。此時(shí)系統(tǒng)會(huì)彈出
一個(gè)對(duì)話框
c. 選擇要?jiǎng)?chuàng)建發(fā)布的數(shù)據(jù)庫(kù),然后單擊 [創(chuàng)建發(fā)布]
d. 在 [創(chuàng)建發(fā)布向?qū) 的提示對(duì)話框中單擊 [下一步] 系統(tǒng)就會(huì)彈出一個(gè)對(duì)話框。對(duì)話
框上的內(nèi)容是復(fù)制的三個(gè)類(lèi)型。我們現(xiàn)在選第一個(gè)也就是默認(rèn)的快照發(fā)布(其他兩個(gè)
大家可以去看看幫助)
e. 單擊 [下一步] 系統(tǒng)要求指定可以訂閱該發(fā)布的數(shù)據(jù)庫(kù)服務(wù)器類(lèi)型,SQLSERVER允許在
不同的數(shù)據(jù)庫(kù)如 ORACLE或ACCESS之間進(jìn)行數(shù)據(jù)復(fù)制。但是在這里我們選擇運(yùn)行
"SQL SERVER 2000"的數(shù)據(jù)庫(kù)服務(wù)器
f. 單擊 [下一步] ,選擇要發(fā)布的對(duì)象(如表,視圖,存儲(chǔ)過(guò)程,一般是表)
g. 然后 [下一步] 直到操作完成。當(dāng)完成出版物的創(chuàng)建后創(chuàng)建出版物的數(shù)據(jù)庫(kù)也就變成了
一個(gè)共享數(shù)據(jù)庫(kù)。
---------------------------------------------------------------------------
3.設(shè)計(jì)訂閱
a. 選中指定的訂閱服務(wù)器
b. 從 [工具] 下拉菜單中選擇 [復(fù)制] 子菜單的 [請(qǐng)求訂閱]
c. 按照提示單擊 [下一步] 操作直到系統(tǒng)會(huì)提示檢查SQL SERVER代理服務(wù)的運(yùn)行狀態(tài),執(zhí)行
復(fù)制操作的前提條件是SQL SERVER代理服務(wù)必須已經(jīng)啟動(dòng)。(選擇一發(fā)布服務(wù)器,然后選擇你要的一個(gè)發(fā)布,一次只能添加一下,然后新建一個(gè)同名的數(shù)據(jù)庫(kù),一路下一步就可以了,其它數(shù)據(jù)庫(kù)也這樣來(lái)。操作過(guò)程中可能會(huì)出現(xiàn)說(shuō)服務(wù)器不支持匿名什么來(lái)著,需要在發(fā)布服務(wù)器上右擊一個(gè)發(fā)布,訂閱選項(xiàng),允許匿名請(qǐng)求訂閱選中就可以了。)
d. 單擊 [完成] 完成訂閱操作。
----------------------------------------------------------------------------
完成上面的步驟其實(shí)復(fù)制也就是成功了。但是如何來(lái)知道復(fù)制是否成功了呢?
這里可以通過(guò)這種方法來(lái)快速看是否成功。
展開(kāi)出版服務(wù)器下面的復(fù)制——發(fā)布內(nèi)容——右鍵發(fā)布內(nèi)容——屬性——擊活——狀態(tài)然后點(diǎn)立即運(yùn)行代理程序接著點(diǎn)代理程序?qū)傩該艋钫{(diào)度
把調(diào)度設(shè)置為每一天發(fā)生,每一分鐘,在0:00:00和23:59:59之間。
接下來(lái)就是判斷復(fù)制是否成功了打
開(kāi)C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面
看是不是有一些以時(shí)間做為文件名的文件夾差不多一分中就產(chǎn)生一個(gè)。
要是你還不信的話就打開(kāi)你的數(shù)據(jù)庫(kù)看在訂閱的服務(wù)器的指定訂閱數(shù)據(jù)庫(kù)下看是不是看到了你剛才所發(fā)布的表
從0開(kāi)始一步一步配置SQL Server 2000 數(shù)據(jù)庫(kù)同步,非常細(xì)
首先,一般情況下數(shù)據(jù)庫(kù)安裝好后,在企業(yè)管理器里看到的sql注冊(cè)是(local)(Windows NT),
SQL Server 復(fù)制不支持昵稱(chēng),例如使用“.”或“(local)”作為服務(wù)器名。
刪除該服務(wù)器的 SQL Server 注冊(cè)并使用實(shí)際的服務(wù)器名對(duì)它進(jìn)行注冊(cè)。
我把先把這個(gè)刪除,右擊他,選擇刪除sql server 注冊(cè) 。。然后新建注冊(cè),右擊Sql server組,新建Sql server 注冊(cè) 下一步--》可用的服務(wù)器里有你的計(jì)算機(jī)名,點(diǎn)中間的添加,添加到“添加的服務(wù)器里”--下一步--》下一步--》下一步--》完成
單擊剛剛以計(jì)算機(jī)名建好的sql server 注冊(cè),以選中它--》工具--》復(fù)制--》配置發(fā)布、訂閱服務(wù)器和分發(fā)。。。--》下一步--》下一步--》出現(xiàn)“SEOGIRL”上的 SQL Server 代理當(dāng)前在使用系統(tǒng)帳戶,它會(huì)導(dǎo)致服務(wù)器之間的復(fù)制失敗。在下列對(duì)話框中,為服務(wù)啟動(dòng)帳戶另外指定一個(gè)帳戶。--》確定,選擇“本帳戶”(這時(shí)進(jìn)入系統(tǒng)新建一個(gè)帳戶比如SQL120),用戶名輸入"SEOGIRL\SQL120",輸入密碼,確定,出現(xiàn):所做的一個(gè)或多個(gè)更改只有在 SQL Server 代理重新啟動(dòng)后才會(huì)生效。現(xiàn)在要停止并重新啟動(dòng) SQL Server 代理嗎?,確定,確定,--》下一步--》下一步--》快照文件夾路徑“\\SEOGIRL\D$\Program Files\Microsoft SQL Server\MSSQL\ReplData”使用特殊的共享名稱(chēng),該名稱(chēng)通常只能由在計(jì)算機(jī)“SEOGIRL”上有管理權(quán)限的登錄訪問(wèn)。此共享可能不能由在其它計(jì)算機(jī)上運(yùn)行的代理程序訪問(wèn),例如請(qǐng)求訂閱的代理程序。
確實(shí)要使用此快照文件夾路徑嗎?
--》否,因?yàn)檫@個(gè)路徑是沒(méi)辦法請(qǐng)求訂閱的代理程序,咱們建一個(gè)文件夾D:\ReplData,在這個(gè)文件夾的屬性里設(shè)置“共享此文件夾”,點(diǎn)擊“權(quán)限”設(shè)置everyone為完全。--》確定后退出--》返回咱們剛才的“快照文件夾”,在里邊 輸入“\\SEOGIRL\ReplData”--》下一步--》下一步--》完成--》關(guān)閉
打開(kāi)企業(yè)管理器--》選中發(fā)布服務(wù)器--》工具--》復(fù)制--》配置發(fā)布、訂閱服務(wù)器和分發(fā)。。。--》下一步--》下一步--》下一步--》否,選擇一個(gè)快照文件夾位置,\\seogirl\ReplData--》下一步--》--》--》--》--》--》--》--》
“SEOGIRL”上的 SQL Server 代理當(dāng)前在使用系統(tǒng)帳戶,它會(huì)導(dǎo)致服務(wù)器之間的復(fù)制失敗。在下列對(duì)話框中,為服務(wù)啟動(dòng)帳戶另外指定一個(gè)帳戶。
“SEOGIRL”上的 SQL Server 代理使用系統(tǒng)帳戶,所以服務(wù)器之間的 SQL Server 復(fù)制將會(huì)失敗。若要在服務(wù)器之間使用復(fù)制,請(qǐng)選擇另一個(gè)服務(wù)器器作為“SEOGIRL”的分發(fā)服務(wù)器。
“SQL120”不是有效的 Windows NT 名稱(chēng)。請(qǐng)給出完整名稱(chēng): 域\用戶名>。
輸入"administrator"時(shí)提示以下錯(cuò)誤:
錯(cuò)誤 15407: 'administrator' 不是有效的 Windows NT 名稱(chēng)。請(qǐng)給出完整名稱(chēng): 域\用戶名>。
系統(tǒng)出現(xiàn)兩個(gè)選擇 一個(gè)是 是,將SQL server代理服務(wù)配置為自動(dòng)啟動(dòng)
另一個(gè)是 否,我將手工啟動(dòng) SQL server 代理服務(wù)器
然后選那個(gè)呢?
我兩個(gè)都試過(guò)了 然后出現(xiàn)快照文件夾
\\XXLJD\F$\Program Files\Microsoft SQL Server\MSSQL\ReplData
系統(tǒng)提示 不是有效的文件名或路徑
接下去就弄不了 哪位大哥幫幫忙啊
1。 一個(gè)是 是,將SQL server代理服務(wù)配置為自動(dòng)啟動(dòng)
另一個(gè)是 否,我將手工啟動(dòng) SQL server 代理服務(wù)器
說(shuō)明:這個(gè)選擇是或者否都可以。是:則系統(tǒng)自己?jiǎn)?dòng)代理服務(wù)器
否:你自己手工的啟動(dòng)代理服務(wù)器
這就是區(qū)別。
2。
\\XXLJD\F$\Program Files\Microsoft SQL Server\MSSQL\ReplData
系統(tǒng)提示 不是有效的文件名或路徑
這樣修改:1。創(chuàng)建一個(gè)文件夾在ntfs分區(qū)上,如:D:\ReplData
2.共享這個(gè)文件夾 --右擊文件夾-屬性-共享
3。同時(shí)在相同的界面-有權(quán)限-設(shè)置為everyone-完全控制的權(quán)限
這樣就可以了。
4.路徑里輸入\\計(jì)算機(jī)名\ReplData
配置SQL Server 2000 數(shù)據(jù)庫(kù)同步時(shí)的 常見(jiàn)問(wèn)題
問(wèn)題:SQL Server 復(fù)制不支持昵稱(chēng),例如使用“.”或“(local)”作為服務(wù)器名。
回答:刪除該服務(wù)器的 SQL Server 注冊(cè)并使用計(jì)算機(jī)名進(jìn)行注冊(cè)。
問(wèn)題:“SEOGIRL”上的 SQL Server 代理當(dāng)前在使用系統(tǒng)帳戶,它會(huì)導(dǎo)致服務(wù)器之間的復(fù)制失敗。在下列對(duì)話框中,為服務(wù)啟動(dòng)帳戶另外指定一個(gè)帳戶。
回答:應(yīng)該先建一個(gè)有管理員組權(quán)限的帳戶,然后用在這。
問(wèn)題:快照文件夾路徑“\\SEOGIRL\D$\Program Files\Microsoft SQL Server\MSSQL\ReplData”使用特殊的共享名稱(chēng),該名稱(chēng)通常只能由在計(jì)算機(jī)“SEOGIRL”上有管理權(quán)限的登錄訪問(wèn)。此共享可能不能由在其它計(jì)算機(jī)上運(yùn)行的代理程序訪問(wèn),例如請(qǐng)求訂閱的代理程序。確實(shí)要使用此快照文件夾路徑嗎?
回答:在D盤(pán)或你別的盤(pán)建一個(gè)文件夾如:D:\pub,設(shè)為共享,并把上面那個(gè)新建 的用戶加到這里面設(shè)為完全控制,快照路徑里寫(xiě)\\計(jì)算機(jī)名\pub
問(wèn)題:“SQL120”不是有效的 Windows NT 名稱(chēng)。請(qǐng)給出完整名稱(chēng): 域\用戶名>。
解決:使用:計(jì)算機(jī)名\用戶名。
另一種配置方法
******************************************************************************
我是如何設(shè)置的:
1。準(zhǔn)備工作
設(shè)置一個(gè)公用目錄并保證2臺(tái)服務(wù)器有權(quán)限。
2。右鍵發(fā)布服務(wù)器——屬性——復(fù)制——配置——?jiǎng)?chuàng)建分發(fā)服務(wù)器,并設(shè)定發(fā)布服務(wù)器和發(fā)布數(shù)據(jù)庫(kù),
然后給予訂閱服務(wù)器權(quán)限。
3。依次展開(kāi):發(fā)布服務(wù)器——將要發(fā)布的數(shù)據(jù)庫(kù)——右鍵發(fā)布內(nèi)容——新建發(fā)布。
4。右鍵剛剛建立的發(fā)布——屬性——狀態(tài)——立即運(yùn)行代理程序——代理程序?qū)傩灾性O(shè)置調(diào)度并啟動(dòng)。
4。右鍵剛剛建立的發(fā)布——屬性——訂閱——強(qiáng)制新建。
有時(shí)候會(huì)看不到新建立的項(xiàng)目,重新進(jìn)就可以了。
--------------------------------------------------------------------------------
經(jīng)過(guò)測(cè)試,可以順利實(shí)現(xiàn)數(shù)據(jù)庫(kù)結(jié)構(gòu)的初始化和數(shù)據(jù)的單向同步(也就是訂閱服務(wù)器的數(shù)據(jù)可以及時(shí)更新為發(fā)布服務(wù)器的數(shù)據(jù))。
準(zhǔn)備工作:
>>數(shù)據(jù)的同步中主要考慮的三部分,可以理解成三臺(tái)主機(jī)。發(fā)布服務(wù)器,分發(fā)服務(wù)器和訂閱服務(wù)器;可以從字面的意思理解,要實(shí)現(xiàn)的功能實(shí)際就是讓訂閱服務(wù)器通過(guò)分發(fā)服務(wù)器保持?jǐn)?shù)據(jù)及時(shí)地和發(fā)布服務(wù)器上的數(shù)據(jù)一致。整個(gè)執(zhí)行過(guò)程是這樣一來(lái)的:
a.訂閱服務(wù)器應(yīng)該有個(gè)初始化,一般來(lái)說(shuō)我們開(kāi)始做這個(gè)同步任務(wù)的時(shí)候,發(fā)布服務(wù)器已經(jīng)有了相當(dāng)?shù)臄?shù)據(jù)量了,而我們的訂閱服務(wù)器應(yīng)該是新建的服務(wù)。即使發(fā)布中沒(méi)有數(shù)據(jù),也需要把他的數(shù)據(jù)庫(kù)結(jié)構(gòu)初始化到訂閱服務(wù)器上。
b. 我采用的是事物復(fù)制,發(fā)布服務(wù)器的數(shù)據(jù)發(fā)生變化后,相當(dāng)于觸發(fā)了一個(gè)更新操作,而事物復(fù)制可以在設(shè)定的時(shí)間把數(shù)據(jù)更新的操作更新到訂閱服務(wù)器中去。當(dāng)然, 這個(gè)操作需要經(jīng)過(guò)分發(fā)服務(wù)器。在我的測(cè)試中,我是把發(fā)布服務(wù)器和分發(fā)服務(wù)器設(shè)置為同一臺(tái)主機(jī),可以順利實(shí)現(xiàn)數(shù)據(jù)在數(shù)分鐘內(nèi)同步。
> >在操作的起始,需要考慮訂閱服務(wù)器是否有和發(fā)布服務(wù)器相同結(jié)構(gòu)的數(shù)據(jù)庫(kù),如果有,需要做的就是使用代理把發(fā)布服務(wù)器現(xiàn)有的數(shù)據(jù)初始化過(guò)去;如果沒(méi) 有對(duì)應(yīng)的相同結(jié)構(gòu)的數(shù)據(jù)庫(kù),就需要要把發(fā)布服務(wù)器當(dāng)前的數(shù)據(jù)庫(kù)結(jié)構(gòu)和當(dāng)前的數(shù)據(jù)都初始化到訂閱服務(wù)器中。當(dāng)然這里所說(shuō)的操作都是在下面的實(shí)施步驟中實(shí)現(xiàn), 不需要單獨(dú)處理。
>>如果說(shuō)對(duì)Windows系統(tǒng)有所要求的話,就應(yīng)該保證這三個(gè)服務(wù)器(發(fā)布,分發(fā),訂閱)在同個(gè)域中,以同一個(gè)域管理員帳號(hào)身份運(yùn)行,操作如下:
a.進(jìn)入相應(yīng)的服務(wù)器,控制面板->服務(wù)->SQLSERVERAGENT,設(shè)置登錄,三臺(tái)服務(wù)器同樣設(shè)置。
b.操作前,也不允許這三臺(tái)服務(wù)器對(duì)應(yīng)的別名使用呢稱(chēng),比如"LOCAL",這樣的別名要?jiǎng)h除重建,可以采用主機(jī)名,比如:server02.
下面開(kāi)始執(zhí)行數(shù)據(jù)庫(kù)同步的操作:
>>配置發(fā)布服務(wù)器和分發(fā)服務(wù)器:
a.選中對(duì)應(yīng)服務(wù)器的注冊(cè)名->工具->復(fù)制->配置發(fā)布、訂閱和分發(fā),直接按照默認(rèn)設(shè)置向下執(zhí)行,直到完成。關(guān)閉。
b. 再一次選中這個(gè)服務(wù)器服務(wù)器的注冊(cè)名->工具->復(fù)制->配置發(fā)布、訂閱和分發(fā),可以看到這次界面和步驟a中的界面有所不同,我們只需 要配置一下 發(fā)布服務(wù)器,發(fā)布數(shù)據(jù)庫(kù),訂閱服務(wù)器。(我的發(fā)布數(shù)據(jù)庫(kù)采用的是事物性的)。點(diǎn)“確定”完成操作。標(biāo)記P>
> >創(chuàng)建發(fā)布,可以選中相應(yīng)的注冊(cè),用工具->復(fù)制->創(chuàng)建和管理發(fā)布或者在該注冊(cè)下面的 復(fù)制->發(fā)布內(nèi)容 選中后,在右邊空白處,右鍵,新建發(fā)布,來(lái)創(chuàng)建你的發(fā)布。我選擇的是事物發(fā)布,按照默認(rèn)設(shè)置,選擇你要發(fā)布的表或其他對(duì)象,其他地方不需要修改,直到完成 操作。
>>修改發(fā)布屬性:選擇“狀態(tài)”->立即運(yùn)行代理程序;代理程序?qū)傩?>設(shè)置你的調(diào)度,比如一分鐘一次。(調(diào)度->編輯->更改;通知->寫(xiě)入windows應(yīng)用程序事件日志),"確定"完成操作。
>>創(chuàng)建訂閱:選擇發(fā)布服務(wù)器對(duì)應(yīng)的注冊(cè),復(fù)制->發(fā)布內(nèi)容->在這個(gè)內(nèi)容上右鍵,強(qiáng)制新訂閱,->"下一步",選擇訂閱服務(wù)器(在標(biāo)記P那一步選擇的訂閱服務(wù)器)->“下一步”->選擇你有的數(shù)據(jù)庫(kù),或者新建一個(gè)數(shù)據(jù)庫(kù)
->"下一步"-> 修改你需要的調(diào)度->按照默認(rèn)設(shè)置,直到完成。
到 這里就可以完成了,修改發(fā)布服務(wù)器數(shù)據(jù)庫(kù)中的內(nèi)容,等一兩分鐘,數(shù)據(jù)就同步到訂閱服務(wù)器中了。不過(guò)由于第一次執(zhí)行需要快照,如果發(fā)布庫(kù)中有一定的內(nèi)容,第 一次執(zhí)行可能需要幾分鐘時(shí)間。如果數(shù)據(jù)不能同步過(guò)去,大家是調(diào)度設(shè)置時(shí)間太短(比如1分鐘)使快照不能完成,所以后面的步驟無(wú)法執(zhí)行,遇到這樣的情況的 話,
選中你發(fā)布的內(nèi)容,設(shè)置屬性,在“狀態(tài)”中“立即運(yùn)行代理程序”,這樣的話,數(shù)據(jù)會(huì)馬上同步過(guò)去的。
--------------------------------------------------------------------------------
http://www.itpub.net/showthread.php?threadid=558706
--------------------------------------------------------------------------------
http://blog.csdn.net/renzhe2008/relatedarticles/1717005.aspx