版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SQLServerSQLServer復(fù)制的概念性。SQL出版效勞器、訂閱效勞器、分發(fā)效勞器、出版物、文章SQL拷貝復(fù)制到分發(fā)效勞器,分發(fā)效勞器包含有一個分發(fā)數(shù)據(jù)庫,可接收數(shù)據(jù)的全部轉(zhuǎn)變,并保存這些轉(zhuǎn)變,再把這些轉(zhuǎn)變分發(fā)給訂閱效勞器SQLSERVERSQLSERVER1、快照復(fù)制〔呆會我們就使用這個〕2、事務(wù)復(fù)制3、合并復(fù)制就一步一步來實(shí)現(xiàn)復(fù)制的步驟。第一先來配置出版效勞器選中指定[效勞器]節(jié)點(diǎn)從[工具]下拉菜單的[復(fù)制]子菜單中選擇[公布、訂閱效勞器和分發(fā)]命令系統(tǒng)彈出一個對話框點(diǎn)[下一步]然后看著提示始終操作到完成。當(dāng)完成了出版效勞器的設(shè)置以后系統(tǒng)會為該效勞器的樹形構(gòu)造中添加一(distribution)其次創(chuàng)立出版物選中指定的效勞器會彈出一個對話框選擇要創(chuàng)立出版物的數(shù)據(jù)庫,然后單擊[創(chuàng)立公布]在[創(chuàng)立公布向?qū)的提示對話框中單擊[下一步]系統(tǒng)就會彈出一個對話(其他兩個大家可以去看看幫助)單擊[下一步]系統(tǒng)要求指定可以訂閱該公布的數(shù)據(jù)庫效勞器類型,ORACLEACCESS這里我們選擇運(yùn)行“SQLSERVER2000“的數(shù)據(jù)庫效勞器第三設(shè)計(jì)訂閱選中指定的訂閱效勞器從[工具]下拉菜單中選擇[復(fù)制]子菜單的[懇求訂閱]依據(jù)單擊[下一步]操作直到系統(tǒng)會提示檢查SQLSERVERSQLSERVER單擊[完成]。完成訂閱操作。完成上面的步驟其實(shí)復(fù)制也就是成功了。但是如何來知道復(fù)制是否成功了0023:59:59C:\ProgramFiles\MicrosoftSQLServer\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database一些以時(shí)間做為文件名的文件夾差不多一分中就產(chǎn)生一個。要是你還不信的話就翻開你的數(shù)據(jù)庫看在訂閱的效勞器的指定訂閱數(shù)據(jù)庫下看是不是看到了你剛才所公布的表—一個手工同步的方案--定時(shí)同步效勞器上的數(shù)據(jù)--例子:--測試環(huán)境,SQLServer2000,遠(yuǎn)程效勞器名:xz,用戶名為:sa,無密碼,測試數(shù)據(jù)庫:test--效勞器上的表(查詢分析器連接到效勞器上創(chuàng)立)createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))go--以下在局域網(wǎng)(本機(jī)操作):null表示增記錄,1表示修改正的記錄,0表示無變化的記錄ifexists(select*fromdbo.sysobjectswhereid=object_id(N”[user]”)andOBJECTPROPERTY(id,N”IsUserTable”)=1)droptable[user]GOcreatetable[user](idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)gostatecreatetriggert_stateon[user]afterupdateasupdate[user]setstate=1from[user]ajoininsertedbona.id=b.idwherea.stateisnotnullgo--為了便利同步處理,創(chuàng)立鏈接效勞器到要同步的效勞器--這里的遠(yuǎn)程效勞器名為:xz,用戶名為:sa,無密碼master..sysserverswheresrvname=”srv_lnk”)execsp_dropserver”srv_lnk”,”droplogins”goexecsp_addlinkedserver”srv_lnk”,””,”SQLOLEDB”,”xz”execsp_addlinkedsrvlogin”srv_lnk”,”false”,null,”sa”go--創(chuàng)立同步處理的存儲過程ifexists(select*fromdbo.sysobjectswhereid=andOBJECTPROPERTY(id,N”IsProcedure”)=1)dropprocedure[dbo].[p_synchro]GOcreateprocp_synchroas--setXACT_ABORTonMSDTC--execmaster..xp_cmdshell”isql/S“xz“/U“sa“/P““/q“execmaster..xp_cmdshell””netstartmsdtc””,no_output“”,no_outputMSDTC--execmaster..xp_cmdshell”netstartmsdtc”,no_output--進(jìn)展分布事務(wù)處理,假設(shè)表用標(biāo)識列做主鍵,用下面的方法--BEGINDISTRIBUTEDTRANSACTION--同步刪除的數(shù)據(jù)deletefromsrv_lnk.test.dbo.[user]whereidnotin(selectidfrom[user])--同步增的數(shù)據(jù)insertintosrv_lnk.test.dbo.[user]selectid,number,namefrom[user]wherestateisnull--同步修改的數(shù)據(jù)updatesrv_lnk.test.dbo.[user]setnumber=b.number,name=fromsrv_lnk.test.dbo.[user]ajoin[user]bona.id=b.idwhereb.state=1--同步后更本機(jī)的標(biāo)志update[user]setstate=0whereisnull(state,1)=1--COMMITTRANgo--創(chuàng)立作業(yè),定時(shí)執(zhí)行數(shù)據(jù)同步的存儲過程ifexists(SELECT1frommsdb..sysjobswherename=”數(shù)據(jù)處理”)EXECUTEmsdb.dbo.sp_delete_job@job_name=”數(shù)據(jù)處理”execmsdb..sp_add_job@job_name=”數(shù)據(jù)處理”--創(chuàng)立作業(yè)步驟declare@sqlvarchar(800),@dbnamevarchar(250)select@sql=”execp_synchro”--數(shù)據(jù)處理的命令,@dbname=db_name--執(zhí)行數(shù)據(jù)處理的數(shù)據(jù)庫名execmsdb..sp_add_jobstep@job_name=”數(shù)據(jù)處理”,@step_name=”數(shù)據(jù)同步”,@subsystem=”TSQL”,@database_name=@dbname,@command=@sql,@retry_attempts5,@retry_interval=5--重試間隔--創(chuàng)立調(diào)度EXECmsdb..sp_add_jobschedule@job_name@name=”時(shí)間安排”,@freq_type=4,--每天@freq_interval=1,--每天執(zhí)行一次=00000--0goSQLServerSQLServer復(fù)制的概念性。SQL出版效勞器、訂閱效勞器、分發(fā)效勞器、出版物、文章SQL拷貝復(fù)制到分發(fā)效勞器,分發(fā)效勞器包含有一個分發(fā)數(shù)據(jù)庫,可接收數(shù)據(jù)的全部轉(zhuǎn)變,并保存這些轉(zhuǎn)變,再把這些轉(zhuǎn)變分發(fā)給訂閱效勞器SQLSERVERSQLSERVER1、快照復(fù)制〔呆會我們就使用這個〕2、事務(wù)復(fù)制3、合并復(fù)制就一步一步來實(shí)現(xiàn)復(fù)制的步驟。第一先來配置出版效勞器選中指定[效勞器]節(jié)點(diǎn)從[工具]下拉菜單的[復(fù)制]子菜單中選擇[公布、訂閱效勞器和分發(fā)]命令系統(tǒng)彈出一個對話框點(diǎn)[下一步]然后看著提示始終操作到完成。當(dāng)完成了出版效勞器的設(shè)置以后系統(tǒng)會為該效勞器的樹形構(gòu)造中添加一(distribution)其次創(chuàng)立出版物選中指定的效勞器會彈出一個對話框選擇要創(chuàng)立出版物的數(shù)據(jù)庫,然后單擊[創(chuàng)立公布]在[創(chuàng)立公布向?qū)的提示對話框中單擊[下一步]系統(tǒng)就會彈出一個對話(其他兩個大家可以去看看幫助)單擊[下一步]系統(tǒng)要求指定可以訂閱該公布的數(shù)據(jù)庫效勞器類型,ORACLEACCESS這里我們選擇運(yùn)行“SQLSERVER2000“的數(shù)據(jù)庫效勞器第三設(shè)計(jì)訂閱選中指定的訂閱效勞器從[工具]下拉菜單中選擇[復(fù)制]子菜單的[懇求訂閱]依據(jù)單擊[下一步]操作直到系統(tǒng)會提示檢查SQLSERVERSQLSERVER單擊[完成]。完成訂閱操作。完成上面的步驟其實(shí)復(fù)制也就是成功了。但是如何來知道復(fù)制是否成功了0023:59:59C:\ProgramFiles\MicrosoftSQLServer\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database一些以時(shí)間做為文件名的文件夾差不多一分中就產(chǎn)生一個。要是你還不信的話就翻開你的數(shù)據(jù)庫看在訂閱的效勞器的指定訂閱數(shù)據(jù)庫下看是不是看到了你剛才所公布的表—一個手工同步的方案--定時(shí)同步效勞器上的數(shù)據(jù)--例子:--測試環(huán)境,SQLServer2000,遠(yuǎn)程效勞器名:xz,用戶名為:sa,無密碼,測試數(shù)據(jù)庫:test--效勞器上的表(查詢分析器連接到效勞器上創(chuàng)立)createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))go--以下在局域網(wǎng)(本機(jī)操作):null表示增記錄,1表示修改正的記錄,0表示無變化的記錄ifexists(select*fromdbo.sysobjectswhereid=object_id(N”[user]”)andOBJECTPROPERTY(id,N”IsUserTable”)=1)droptable[user]GOcreatetable[user](idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)gostatecreatetriggert_stateon[user]afterupdateasupdate[user]setstate=1from[user]ajoininsertedbona.id=b.idwherea.stateisnotnullgo--為了便利同步處理,創(chuàng)立鏈接效勞器到要同步的效勞器--這里的遠(yuǎn)程效勞器名為:xz,用戶名為:sa,無密碼master..sysserverswheresrvname=”srv_lnk”)execsp_dropserver”srv_lnk”,”droplogins”goexecsp_addlinkedserver”srv_lnk”,””,”SQLOLEDB”,”xz”execsp_addlinkedsrvlogin”srv_lnk”,”false”,null,”sa”go--創(chuàng)立同步處理的存儲過程ifexists(select*fromdbo.sysobjectswhereid=andOBJECTPROPERTY(id,N”IsProcedure”)=1)dropprocedure[dbo].[p_synchro]GOcreateprocp_synchroas--setXACT_ABORTonMSDTC--execmaster..xp_cmdshell”isql/S“xz“/U“sa“/P““/q“execmaster..xp_cmdshell””netstartmsdtc””,no_output“”,no_outputMSDTC--execmaster..xp_cmdshell”netstartmsdtc”,no_output--進(jìn)展分布事務(wù)處理,假設(shè)表用標(biāo)識列做主鍵,用下面的方法--BEGINDISTRIBUTEDTRANSACTION--同步刪除的數(shù)據(jù)deletefromsrv_lnk.test.dbo.[user]whereidnotin(selectidfrom[user])--同步增的數(shù)據(jù)insertintosrv_lnk.test.dbo.[user]selectid,number,namefrom[user]wherestateisnull--同步修改的數(shù)據(jù)updatesrv_lnk.test.dbo.[user]setnumber=b.number,name=fromsrv_lnk.test.dbo.[user]ajoin[user]bona.id=b.idwhereb.state=1--同步后更本機(jī)的標(biāo)志update[user]setstate=0whereisnull(state,1)=1--COMMITTRANgo--創(chuàng)立作業(yè),定時(shí)執(zhí)行數(shù)據(jù)同步的存儲過程ifexists(SELECT1frommsdb..sysjobswherename=”數(shù)據(jù)處理”)EXECUTEmsdb.dbo.sp_delete_job@job_name=”數(shù)據(jù)處理”execmsdb..sp_add_job@job_name=”數(shù)據(jù)處理”--創(chuàng)立作業(yè)步驟declare@sqlvarchar(800),@dbnamevarchar(250)select@sql=”execp_synchro”--數(shù)據(jù)處理的命令,@dbname=db_name-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班主任德育工作總結(jié)
- 課題申報(bào)參考:孿生數(shù)據(jù)驅(qū)動的退役產(chǎn)品人機(jī)協(xié)同拆解動態(tài)優(yōu)化與自適應(yīng)評估研究
- 課題申報(bào)參考:聯(lián)合教研提升農(nóng)村中小學(xué)科學(xué)教師跨學(xué)科素養(yǎng)的機(jī)制與策略研究
- 自我驅(qū)動學(xué)習(xí)培養(yǎng)學(xué)生自主能力的策略與實(shí)踐案例
- 科技在提升個人防護(hù)裝備舒適度中的應(yīng)用
- 2024年家畜轉(zhuǎn)基因胚胎項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 物聯(lián)網(wǎng)時(shí)代下嵌入式系統(tǒng)的多層防護(hù)策略
- 2025年魯教五四新版八年級地理上冊階段測試試卷
- 2025年蘇教新版選修3地理上冊階段測試試卷含答案
- 2025年粵人版九年級生物上冊月考試卷含答案
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 計(jì)劃合同部部長述職報(bào)告范文
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 二手車車主寄售協(xié)議書范文范本
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
- 五年級上冊小數(shù)除法豎式計(jì)算練習(xí)300題及答案
- 語言規(guī)劃講義
- 生活用房設(shè)施施工方案模板
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
- GB/T 9755-2001合成樹脂乳液外墻涂料
評論
0/150
提交評論