用強(qiáng)制訂閱實(shí)現(xiàn)數(shù)據(jù)庫同步操作
大量和批量的數(shù)據(jù)可以用數(shù)據(jù)庫的同步機(jī)制處理:
//
說明:
為方便操作,所有操作均在發(fā)布服務(wù)器(分發(fā)服務(wù)器)上操作,并使用推模式
在客戶機(jī)器使用強(qiáng)制訂閱方式。
有疑問聯(lián)系作者:zlp321001@hotmail.com
測(cè)試通過
//
--1:環(huán)境
服務(wù)器環(huán)境:
機(jī)器名稱: ZehuaDb
操作系統(tǒng):Windows 2000 Server
數(shù)據(jù)庫版本:SQL 2000 Server 個(gè)人版
客戶端
機(jī)器名稱:Zlp
操作系統(tǒng):Windows 2000 Server
數(shù)據(jù)庫版本:SQL 2000 Server 個(gè)人版
--2:建用戶賬號(hào)
在服務(wù)器端建立域用戶賬號(hào)
我的電腦管理->本地用戶和組->用戶->建立
UserName:zlp
UserPwd:zlp
--3:重新啟動(dòng)服務(wù)器MSSQLServer
我的電腦->控制面版->管理工具->服務(wù)->MSSQLServer 服務(wù)
(更改為:域用戶賬號(hào),我們新建的zlp用戶 .\zlp,密碼:zlp)
--4:安裝分發(fā)服務(wù)器
A:配置分發(fā)服務(wù)器
工具->復(fù)制->配置發(fā)布、訂閱服務(wù)器和分發(fā)->下一步->下一步(所有的均采用默認(rèn)配置)
B:配置發(fā)布服務(wù)器
工具->復(fù)制->創(chuàng)建和管理發(fā)布->選擇要發(fā)布的數(shù)據(jù)庫(SZ)->下一步->快照發(fā)布->下一步->
選擇要發(fā)布的內(nèi)容->下一步->下一步->下一步->完成
C:強(qiáng)制配置訂閱服務(wù)器(推模式,拉模式與此雷同)
工具->復(fù)制->配置發(fā)布、訂閱服務(wù)器和分發(fā)->訂閱服務(wù)器->新建->SQL Server數(shù)據(jù)庫->輸入客戶端服務(wù)器名稱(ZLP)->使用SQL Server 身份驗(yàn)證(sa,空密碼)->確定->應(yīng)用->確定
D:初始化訂閱
復(fù)制監(jiān)視器->發(fā)布服務(wù)器(ZEHUADB)->雙擊訂閱->強(qiáng)制新建->下一步->選擇啟用的訂閱服務(wù)器->ZLP->
下一步->下一步->下一步->下一步->完成
--5:測(cè)試配置是否成功
復(fù)制監(jiān)視器->發(fā)布服務(wù)器(ZEHUADB)->雙擊SZ:SZ->點(diǎn)狀態(tài)->點(diǎn)立即運(yùn)行代理程序
查看:
復(fù)制監(jiān)視器->發(fā)布服務(wù)器(ZEHUADB)->SZ:SZ->選擇ZLP:SZ(類型強(qiáng)制)->鼠標(biāo)右鍵->啟動(dòng)同步處理
如果沒有錯(cuò)誤標(biāo)志(紅色叉),恭喜您配置成功
--6:測(cè)試數(shù)據(jù)
--在服務(wù)器執(zhí)行:
選擇一個(gè)表,執(zhí)行如下SQL
insert into WQ_NEWSGROUP_S select ‘測(cè)試成功‘,5
復(fù)制監(jiān)視器->發(fā)布服務(wù)器(ZEHUADB)->SZ:SZ->快照->啟動(dòng)代理程序
->ZLP:SZ(強(qiáng)制)->啟動(dòng)同步處理
去查看同步的 WQ_NEWSGROUP_S 是否插入了一條新的記錄
測(cè)試完畢,通過。
--7修改數(shù)據(jù)庫的同步時(shí)間,一般選擇夜晚執(zhí)行數(shù)據(jù)庫同步處理
(具體操作略) :D
/*
注意說明:
服務(wù)器一端不能以(local)進(jìn)行數(shù)據(jù)的發(fā)布與分發(fā),需要先刪除注冊(cè),然后新建注冊(cè)本地計(jì)算機(jī)名稱
卸載方式:工具->復(fù)制->禁止發(fā)布->是在"ZehuaDb"上靜止發(fā)布,卸載所有的數(shù)據(jù)庫同步配置服務(wù)器
注意:發(fā)布服務(wù)器、分發(fā)服務(wù)器中的SQLServerAgent服務(wù)必須啟動(dòng)
采用推模式: "D:\Microsoft SQL Server\MSSQL\REPLDATA\unc" 目錄文件可以不設(shè)置共享
拉模式:則需要共享~!
*/
少量數(shù)據(jù)庫同步可以采用觸發(fā)器實(shí)現(xiàn),同步單表即可:
========================================================
配置過程中可能出現(xiàn)的問題,總結(jié)如下:(感謝作者: 余楓 提供的幫助)
========================================================
在SQL Server 2000里設(shè)置和使用數(shù)據(jù)庫復(fù)制之前,應(yīng)先檢查相關(guān)的幾臺(tái)SQL Server服務(wù)器下面幾點(diǎn)是否滿足:
1、MSSQLserver和Sqlserveragent服務(wù)是否是以域用戶身份啟動(dòng)并運(yùn)行的(.\administrator用戶也是可以的)
如果登錄用的是本地系統(tǒng)帳戶local,將不具備網(wǎng)絡(luò)功能,會(huì)產(chǎn)生以下錯(cuò)誤:
進(jìn)程未能連接到Distributor ‘@Server name‘
(如果您的服務(wù)器已經(jīng)用了SQL Server全文檢索服務(wù), 請(qǐng)不要修改MSSQLserver和Sqlserveragent服務(wù)的local啟動(dòng)。
會(huì)照成全文檢索服務(wù)不能用。請(qǐng)換另外一臺(tái)機(jī)器來做SQL Server 2000里復(fù)制中的分發(fā)服務(wù)器。)
修改服務(wù)啟動(dòng)的登錄用戶,需要重新啟動(dòng)MSSQLserver和Sqlserveragent服務(wù)才能生效。
2、檢查相關(guān)的幾臺(tái)SQL Server服務(wù)器是否改過名稱(需要srvid=0的本地機(jī)器上srvname和datasource一樣)
在查詢分析器里執(zhí)行:
use master
select srvid,srvname,datasource from sysservers
如果沒有srvid=0或者srvid=0(也就是本機(jī)器)但srvname和datasource不一樣, 需要按如下方法修改:
USE master
GO
-- 設(shè)置兩個(gè)變量
DECLARE @serverproperty_servername varchar(100),
@servername varchar(100)
-- 取得Windows NT 服務(wù)器和與指定的 SQL Server 實(shí)例關(guān)聯(lián)的實(shí)例信息
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY(‘ServerName‘))
-- 返回運(yùn)行 Microsoft SQL Server 的本地服務(wù)器名稱
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
-- 顯示獲取的這兩個(gè)參數(shù)
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因?yàn)槟愀倪^計(jì)算機(jī)名字),再運(yùn)行下面的
--刪除錯(cuò)誤的服務(wù)器名
EXEC sp_dropserver @server=@servername
--添加正確的服務(wù)器名
EXEC sp_addserver @server=@serverproperty_servername, @local=‘local‘
修改這項(xiàng)參數(shù),需要重新啟動(dòng)MSSQLserver和Sqlserveragent服務(wù)才能生效。
這樣一來就不會(huì)在創(chuàng)建復(fù)制的過程中出現(xiàn)18482、18483錯(cuò)誤了。
3、檢查SQL Server企業(yè)管理器里面相關(guān)的幾臺(tái)SQL Server注冊(cè)名是否和上面第二點(diǎn)里介紹的srvname一樣
不能用IP地址的注冊(cè)名。
(我們可以刪掉IP地址的注冊(cè),新建以SQL Server管理員級(jí)別的用戶注冊(cè)的服務(wù)器名)
這樣一來就不會(huì)在創(chuàng)建復(fù)制的過程中出現(xiàn)14010、20084、18456、18482、18483錯(cuò)誤了。
4、檢查相關(guān)的幾臺(tái)SQL Server服務(wù)器網(wǎng)絡(luò)是否能夠正常訪問
如果ping主機(jī)IP地址可以,但ping主機(jī)名不通的時(shí)候,需要在
winnt\system32\drivers\etc\hosts (WIN2000)
windows\system32\drivers\etc\hosts (WIN2003)
文件里寫入數(shù)據(jù)庫服務(wù)器IP地址和主機(jī)名的對(duì)應(yīng)關(guān)系。
例如:
127.0.0.1 localhost
192.168.0.35 oracledb oracledb
192.168.0.65 fengyu02 fengyu02
202.84.10.193 bj_db bj_db
或者在SQL Server客戶端網(wǎng)絡(luò)實(shí)用工具里建立別名,例如:
5、系統(tǒng)需要的擴(kuò)展存儲(chǔ)過程是否存在(如果不存在,需要恢復(fù)):
sp_addextendedproc ‘xp_regenumvalues‘,@dllname =‘xpstar.dll‘
go
sp_addextendedproc ‘xp_regdeletevalue‘,@dllname =‘xpstar.dll‘
go
sp_addextendedproc ‘xp_regdeletekey‘,@dllname =‘xpstar.dll‘
go
sp_addextendedproc xp_cmdshell ,@dllname =‘xplog70.dll‘
四、刪除已經(jīng)建好的發(fā)布和定閱可以直接用delete刪除按鈕
我們最好總是按先刪定閱,再刪發(fā)布,最后禁用發(fā)布的順序來操作。
如果要徹底刪去SQL Server上面的復(fù)制設(shè)置, 可以這樣操作:
[復(fù)制] -> 右鍵選擇 [禁用發(fā)布] -> [歡迎使用禁用發(fā)布和分發(fā)向?qū)?/span>]
-> [下一步] -> [禁用發(fā)布] -> [要在"@servername"上禁用發(fā)布]
-> [下一步] -> [完成禁用發(fā)布和分發(fā)向?qū)?/span>] -> [完成]
我們也可以用T-SQL命令來完成復(fù)制中發(fā)布及訂閱的創(chuàng)建和刪除, 選中已經(jīng)設(shè)好的發(fā)布和訂閱, 按屬標(biāo)右鍵
可以[生成SQL腳本]。(這里就不詳細(xì)講了, 后面推薦的網(wǎng)站內(nèi)有比較詳細(xì)的內(nèi)容)
當(dāng)你試圖刪除或者變更一個(gè)table時(shí),出現(xiàn)以下錯(cuò)誤
Server: Msg 3724, Level 16, State 2, Line 1
Cannot drop the table ‘object_name‘ because it is being used for replication.
比較典型的情況是該table曾經(jīng)用于復(fù)制,但是后來又刪除了復(fù)制
處理辦法:
select * from sysobjects where replinfo >‘0‘
sp_configure ‘allow updates‘, 1
go
reconfigure with override
go
begin transaction
update sysobjects set replinfo = ‘0‘ where replinfo >‘0‘
commit transaction
go
rollback transaction
go
sp_configure ‘allow updates‘, 0
go
reconfigure with override
go
疑問:
在合并復(fù)制配置完全后,如果同步代理停止了。我要在程序中去重新啟動(dòng)合并復(fù)制的同步代理。請(qǐng)問使用什么命令或存儲(chǔ)過程呢?
解決辦法:(朱二)
sp_start_job
指示 SQL Server 代理程序立即執(zhí)行作業(yè)。
示例
下例啟動(dòng)名為 Nightly Backup 的作業(yè)。
SQLServer2000同步復(fù)制技術(shù)實(shí)現(xiàn)步驟
作者:gaojier 日期:2007-06-25
字體大小: 小 中 大
一、 預(yù)備工作
1.發(fā)布服務(wù)器,訂閱服務(wù)器都創(chuàng)建一個(gè)同名的windows用戶,并設(shè)置相同的密碼,做為發(fā)布快照文件夾的有效訪問用戶
--管理工具
--計(jì)算機(jī)管理
--用戶和組
--右鍵用戶
--新建用戶
--建立一個(gè)隸屬于administrator組的登陸windows的用戶(SynUser)
2.在發(fā)布服務(wù)器上,新建一個(gè)共享目錄,做為發(fā)布的快照文件的存放目錄,操作:
我的電腦--D:\ 新建一個(gè)目錄,名為: PUB
--右鍵這個(gè)新建的目錄
--屬性--共享
--選擇"共享該文件夾"
--通過"權(quán)限"按紐來設(shè)置具體的用戶權(quán)限,保證第一步中創(chuàng)建的用戶(SynUser) 具有對(duì)該文件夾的所有權(quán)限
--確定
3.設(shè)置SQL代理(SQLSERVERAGENT)服務(wù)的啟動(dòng)用戶(發(fā)布/訂閱服務(wù)器均做此設(shè)置)
開始--程序--管理工具--服務(wù)
--右鍵SQLSERVERAGENT
--屬性--登陸--選擇"此賬戶"
--輸入或者選擇第一步中創(chuàng)建的windows登錄用戶名(SynUser)
--"密碼"中輸入該用戶的密碼
4.設(shè)置SQL Server身份驗(yàn)證模式,解決連接時(shí)的權(quá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)證"
--下一步--輸入用戶名和密碼(SynUser)
--下一步--選擇SQL Server組,也可以創(chuàng)建一個(gè)新組
--下一步--完成
6.對(duì)于只能用IP,不能用計(jì)算機(jī)名的,為其注冊(cè)服務(wù)器別名(此步在實(shí)施中沒用到)
(在連接端配置,比如,在訂閱服務(wù)器上配置的話,服務(wù)器名稱中輸入的是發(fā)布服務(wù)器的IP)
開始--程序--Microsoft SQL Server--客戶端網(wǎng)絡(luò)實(shí)用工具
--別名--添加
--網(wǎng)絡(luò)庫選擇"tcp/ip"--服務(wù)器別名輸入SQL服務(wù)器名
--連接參數(shù)--服務(wù)器名稱中輸入SQL服務(wù)器ip地址
--如果你修改了SQL的端口,取消選擇"動(dòng)態(tài)決定端口",并輸入對(duì)應(yīng)的端口號(hào)
二、 正式配置
1、配置發(fā)布服務(wù)器
打開企業(yè)管理器,在發(fā)布服務(wù)器(B、C、D)上執(zhí)行以下步驟:
(1) 從[工具]下拉菜單的[復(fù)制]子菜單中選擇[配置發(fā)布、訂閱服務(wù)器和分發(fā)]出現(xiàn)配置發(fā)布和分發(fā)向?qū)?
(2) [下一步] 選擇分發(fā)服務(wù)器 可以選擇把發(fā)布服務(wù)器自己作為分發(fā)服務(wù)器或者其他sql的服務(wù)器(選擇自己)
(3) [下一步] 設(shè)置快照文件夾
采用默認(rèn)\\servername\Pub
(4) [下一步] 自定義配置
可以選擇:是,讓我設(shè)置分發(fā)數(shù)據(jù)庫屬性啟用發(fā)布服務(wù)器或設(shè)置發(fā)布設(shè)置
否,使用下列默認(rèn)設(shè)置(推薦)
(5) [下一步] 設(shè)置分發(fā)數(shù)據(jù)庫名稱和位置 采用默認(rèn)值
(6) [下一步] 啟用發(fā)布服務(wù)器 選擇作為發(fā)布的服務(wù)器
(7) [下一步] 選擇需要發(fā)布的數(shù)據(jù)庫和發(fā)布類型
(8) [下一步] 選擇注冊(cè)訂閱服務(wù)器
(9) [下一步] 完成配置
2、創(chuàng)建出版物
發(fā)布服務(wù)器B、C、D上
(1)從[工具]菜單的[復(fù)制]子菜單中選擇[創(chuàng)建和管理發(fā)布]命令
(2)選擇要?jiǎng)?chuàng)建出版物的數(shù)據(jù)庫,然后單擊[創(chuàng)建發(fā)布]
(3)在[創(chuàng)建發(fā)布向?qū)的提示對(duì)話框中單擊[下一步]系統(tǒng)就會(huì)彈出一個(gè)對(duì)話框。對(duì)話框上的內(nèi)容是復(fù)制的三個(gè)類型。我們現(xiàn)在選第一個(gè)也就是默認(rèn)的快照發(fā)布(其他兩個(gè)大家可以去看看幫助)
(4)單擊[下一步]系統(tǒng)要求指定可以訂閱該發(fā)布的數(shù)據(jù)庫服務(wù)器類型,
SQLSERVER允許在不同的數(shù)據(jù)庫如 orACLE或ACCESS之間進(jìn)行數(shù)據(jù)復(fù)制。
但是在這里我們選擇運(yùn)行"SQL SERVER 2000"的數(shù)據(jù)庫服務(wù)器
(5)單擊[下一步]系統(tǒng)就彈出一個(gè)定義文章的對(duì)話框也就是選擇要出版的表
注意: 如果前面選擇了事務(wù)發(fā)布 則再這一步中只能選擇帶有主鍵的表
(6)選擇發(fā)布名稱和描述
(7)自定義發(fā)布屬性 向?qū)峁┑倪x擇:
是 我將自定義數(shù)據(jù)篩選,啟用匿名訂閱和或其他自定義屬性
否 根據(jù)指定方式創(chuàng)建發(fā)布 (建議采用自定義的方式)
(8)[下一步] 選擇篩選發(fā)布的方式
(9)[下一步] 可以選擇是否允許匿名訂閱
1)如果選擇署名訂閱,則需要在發(fā)布服務(wù)器上添加訂閱服務(wù)器
方法: [工具]->[復(fù)制]->[配置發(fā)布、訂閱服務(wù)器和分發(fā)的屬性]->[訂閱服務(wù)器] 中添加
否則在訂閱服務(wù)器上請(qǐng)求訂閱時(shí)會(huì)出現(xiàn)的提示:改發(fā)布不允許匿名訂閱
如果仍然需要匿名訂閱則用以下解決辦法
[企業(yè)管理器]->[復(fù)制]->[發(fā)布內(nèi)容]->[屬性]->[訂閱選項(xiàng)] 選擇允許匿名請(qǐng)求訂閱
2)如果選擇匿名訂閱,則配置訂閱服務(wù)器時(shí)不會(huì)出現(xiàn)以上提示
(10)[下一步] 設(shè)置快照 代理程序調(diào)度
(11)[下一步] 完成配置
當(dāng)完成出版物的創(chuàng)建后創(chuàng)建出版物的數(shù)據(jù)庫也就變成了一個(gè)共享數(shù)據(jù)庫。
----------------------------
--參考:
/*
作者:鄒建
*/
/*--同步兩個(gè)數(shù)據(jù)庫的示例
有數(shù)據(jù)
srv1.庫名..author有字段:id,name,phone,
srv2.庫名..author有字段:id,name,telphone,adress
要求:
srv1.庫名..author增加記錄則srv1.庫名..author記錄增加
srv1.庫名..author的phone字段更新,則srv1.庫名..author對(duì)應(yīng)字段telphone更新
--*/
--大致的處理步驟
--1.在 srv1 上創(chuàng)建連接服務(wù)器,以便在 srv1 中操作 srv2,實(shí)現(xiàn)同步
exec sp_addlinkedserver ‘srv2‘,‘‘,‘SQLOLEDB‘,‘srv2的sql實(shí)例名或ip‘
exec sp_addlinkedsrvlogin ‘srv2‘,‘false‘,null,‘用戶名‘,‘密碼‘
go
--2.在 srv1 和 srv2 這兩臺(tái)電腦中,啟動(dòng) msdtc(分布式事務(wù)處理服務(wù)),并且設(shè)置為自動(dòng)啟動(dòng)
我的電腦--控制面板--管理工具--服務(wù)--右鍵 Distributed Transaction Coordinator--屬性--啟動(dòng)--并將啟動(dòng)類型設(shè)置為自動(dòng)啟動(dòng)
go
--然后創(chuàng)建一個(gè)作業(yè)定時(shí)調(diào)用上面的同步處理存儲(chǔ)過程就行了
企業(yè)管理器
--管理
--SQL Server代理
--右鍵作業(yè)
--新建作業(yè)
--"常規(guī)"項(xiàng)中輸入作業(yè)名稱
--"步驟"項(xiàng)
--新建
--"步驟名"中輸入步驟名
--"類型"中選擇"Transact-SQL 腳本(TSQL)"
--"數(shù)據(jù)庫"選擇執(zhí)行命令的數(shù)據(jù)庫
--"命令"中輸入要執(zhí)行的語句: exec p_process
--確定
--"調(diào)度"項(xiàng)
--新建調(diào)度
--"名稱"中輸入調(diào)度名稱
--"調(diào)度類型"中選擇你的作業(yè)執(zhí)行安排
--如果選擇"反復(fù)出現(xiàn)"
--點(diǎn)"更改"來設(shè)置你的時(shí)間安排
然后將SQL Agent服務(wù)啟動(dòng),并設(shè)置為自動(dòng)啟動(dòng),否則你的作業(yè)不會(huì)被執(zhí)行
設(shè)置方法:
我的電腦--控制面板--管理工具--服務(wù)--右鍵 SQLSERVERAGENT--屬性--啟動(dòng)類型--選擇"自動(dòng)啟動(dòng)"--確定.
--3.實(shí)現(xiàn)同步處理的方法2,定時(shí)同步
--在srv1中創(chuàng)建如下的同步處理存儲(chǔ)過程
create proc p_process
as
--更新修改過的數(shù)據(jù)
update b set name=i.name,telphone=i.telphone
from srv2.庫名.dbo.author b,author i
where b.id=i.id and
(b.name <> i.name or b.telphone <> i.telphone)
--插入新增的數(shù)據(jù)
insert srv2.庫名.dbo.author(id,name,telphone)
select id,name,telphone from author i
where not exists(
select * from srv2.庫名.dbo.author where id=i.id)
--刪除已經(jīng)刪除的數(shù)據(jù)(如果需要的話)
delete b
from srv2.庫名.dbo.author b
where not exists(
select * from author where id=b.id)
go
SQL SERVER 2005 同步復(fù)制技術(shù)
以下實(shí)現(xiàn)復(fù)制步驟(以快照復(fù)制為例)
運(yùn)行平臺(tái)SQL SERVER 2005
一、準(zhǔn)備工作:
1.建立一個(gè) WINDOWS 用戶,設(shè)置為管理員權(quán)限,并設(shè)置密碼,作為發(fā)布快照文件的有效訪問用戶。
2.在SQL SERVER下實(shí)現(xiàn)發(fā)布服務(wù)器和訂閱服務(wù)器的通信正常(即可以互訪)。打開1433端口,在防火墻中設(shè)特例
3.在發(fā)布服務(wù)器上建立一個(gè)共享目錄,作為發(fā)布快照文件的存放目錄。例如:在D盤根目錄下建文件夾名為SqlCopy
4.設(shè)置SQL 代理(發(fā)布服務(wù)器和訂閱服務(wù)器均設(shè)置)本篇文章發(fā)表于www.xker.com(小新技術(shù)網(wǎng))
打開服務(wù)(控制面板---管理工具---服務(wù))
---右擊SQLSERVER AGENT---屬性---登錄---選擇“此帳戶“
---輸入或選擇第一步中創(chuàng)建的WINDOWS 用戶
---“密碼“中輸入該用戶密碼
5.設(shè)置SQL SERVER 身份驗(yàn)證,解決連接時(shí)的權(quán)限問題(發(fā)布、訂閱服務(wù)器均設(shè)置)
步驟為:對(duì)象資源管理器----右擊SQL實(shí)例-----屬性----安全性----服務(wù)器身份驗(yàn)證------選“SQL Server和WINDOWS“,然后點(diǎn)確定
6.開啟SQL Server 2005的網(wǎng)絡(luò)協(xié)議TCP/IP和管道命名協(xié)議并重啟網(wǎng)絡(luò)服務(wù)。
7.在SQL Server中創(chuàng)建步驟1中對(duì)應(yīng)的系統(tǒng)用戶登陸名,作為發(fā)布數(shù)據(jù)庫的擁有者(設(shè)置為dbo_owner和public)。
8.以系統(tǒng)超級(jí)用戶sa登陸SQL Server建立數(shù)據(jù)庫和表。
9.發(fā)布服務(wù)器和訂閱服務(wù)器互相注冊(cè)
步驟如下:視圖----單擊以注冊(cè)服務(wù)器----右鍵數(shù)據(jù)庫引擎----新建服務(wù)器注冊(cè)-----填寫要注冊(cè)的遠(yuǎn)程服務(wù)器名稱------身份驗(yàn)證選“SQL Server驗(yàn)證“-----用戶名(sa) 密碼------創(chuàng)建組(也可不建)-----完成。
10.對(duì)于只能用IP,不能用計(jì)算機(jī)名的,為其注冊(cè)服務(wù)器別名
二、開始:
發(fā)布服務(wù)器配置(在發(fā)布服務(wù)器上配置發(fā)布和訂閱)
1. 選擇 復(fù)制 節(jié)點(diǎn)
2. 右鍵本地發(fā)布 ----下一步---------系統(tǒng)彈出對(duì)話框看提示----直到“指定快照文件夾“
----在“快照文件夾“中輸入準(zhǔn)備工作中創(chuàng)建的目錄(指向步驟3所建的共享文件夾)------選擇發(fā)布數(shù)據(jù)庫-------選擇發(fā)布類型------
-選擇訂閱服務(wù)器類型-------選擇要發(fā)布的對(duì)象------設(shè)置快照代理-------填寫發(fā)布名稱。本篇文章發(fā)表于www.xker.com(小
新技術(shù)網(wǎng))
3. 右鍵本地訂閱--------選擇發(fā)布服務(wù)器-------選擇訂閱方式(如果是在服務(wù)器方訂閱的話選擇推送訂閱反之
選擇請(qǐng)求訂閱)-------填加訂閱服務(wù)器--------選擇代理計(jì)劃(一般選擇連續(xù)運(yùn)行)---------其余選擇默認(rèn)項(xiàng)。
至此, SQL SERVER 2005
同步復(fù)制就完成了。使用復(fù)制技術(shù),用戶可以將一份客戶端的數(shù)據(jù)發(fā)布到多臺(tái)服務(wù)器上,從而使不同的服務(wù)器用戶都可以在權(quán)限的許可的范圍內(nèi)共享這份數(shù)據(jù)。復(fù)制
技術(shù)可以確保分布在不同地點(diǎn)的數(shù)據(jù)自動(dòng)同步更新,從而保證數(shù)據(jù)的一致性,就無需編程實(shí)現(xiàn)客戶端和服務(wù)器端數(shù)據(jù)同步了!大大提高了工作效率!
USE msdb
EXEC sp_start_job @job_name = ‘Nightly Backup‘
聯(lián)系客服