一、簡(jiǎn)單實(shí)用的備份方法:
企業(yè)管理器中的Tools,Database Maintenance Planner,可以設(shè)置數(shù)據(jù)庫(kù)的定期自動(dòng)備份計(jì)劃。并通過(guò)啟動(dòng)Sql server Agent來(lái)自動(dòng)運(yùn)行備份計(jì)劃。具體步驟如下:
1、打開(kāi)企業(yè)管理器,在控制臺(tái)根目錄中依次點(diǎn)開(kāi)Microsoft SQL Server-->SQL Server組-->雙擊打開(kāi)你的服務(wù)器
2、然后點(diǎn)上面菜單中的工具-->選擇數(shù)據(jù)庫(kù)維護(hù)計(jì)劃器
3、下一步選擇要進(jìn)行自動(dòng)備份的數(shù)據(jù)-->下一步更新數(shù)據(jù)優(yōu)化信息,這里一般不用做選擇-->下一步檢查數(shù)據(jù)完整性,也一般不選擇
4、下一步指定數(shù)據(jù)庫(kù)維護(hù)計(jì)劃,默認(rèn)的是1周備份一次,點(diǎn)擊更改選擇每天備份后點(diǎn)確定
5、下一步指定備份的磁盤(pán)目錄,選擇指定目錄,如您可以在D盤(pán)新建一個(gè)目錄如:d:\databak,然后在這里選擇使用此目錄,如果您的數(shù)據(jù)庫(kù)比較多最好選擇為每個(gè)數(shù)據(jù)庫(kù)建立子目錄,然后選擇刪除早于多少天前的備份,一般設(shè)定4-7天,這看您的具體備份要求,備份文件擴(kuò)展名默認(rèn)的是BAK
6、下一步指定事務(wù)日志備份計(jì)劃,看您的需要做選擇-->下一步要生成的報(bào)表,一般不做選擇-->下一步維護(hù)計(jì)劃歷史記錄,最好用默認(rèn)的選項(xiàng)-->下一步完成
7、完成后系統(tǒng)很可能會(huì)提示Sql Server Agent服務(wù)未啟動(dòng),先點(diǎn)確定完成計(jì)劃設(shè)定,然后找到桌面最右邊狀態(tài)欄中的SQL綠色圖標(biāo),雙擊點(diǎn)開(kāi),在服務(wù)中選擇Sql Server Agent,然后點(diǎn)擊運(yùn)行箭頭,選上下方的當(dāng)啟動(dòng)OS時(shí)自動(dòng)啟動(dòng)服務(wù)
8、可以設(shè)置啟動(dòng)啟動(dòng)sql server Agent:運(yùn)行Services.msc,設(shè)置sqlserverAgent為自動(dòng)啟動(dòng)。
修改備份計(jì)劃:
打開(kāi)企業(yè)管理器,在控制臺(tái)根目錄中依次點(diǎn)開(kāi)Microsoft SQL Server-->SQL Server組-->雙擊打開(kāi)你的服務(wù)器-->管理-->數(shù)據(jù)庫(kù)維護(hù)計(jì)劃
二、異地備份
運(yùn)行環(huán)境分析:
現(xiàn)有兩臺(tái)機(jī)器具體配置如下:
操作系統(tǒng):兩臺(tái)都是Windows 2000 Advanced Server
數(shù)據(jù)庫(kù): Sql Server 2000
IP: 一臺(tái)是192.168.0.1,另一臺(tái)是192.168.0.100
要求:定期自動(dòng)實(shí)現(xiàn)將192.168.0.1中數(shù)據(jù)庫(kù)中bbsbak數(shù)據(jù)庫(kù)備份到192.168.0.100的機(jī)器上,并刪除15天以前對(duì)192.168.0.100中自動(dòng)備份的bbsbak數(shù)據(jù)庫(kù)。
注:本操作涉及到Ms Sql Server2000數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換服務(wù)中包的高級(jí)設(shè)置、數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程、作業(yè)的添加及簡(jiǎn)單Transact_SQL語(yǔ)句的操作等內(nèi)容,在此不再詳述,請(qǐng)參考相關(guān)資料及微軟官方網(wǎng)站。
操作步驟:
1. 在本機(jī)(win2000)中打開(kāi)SQL數(shù)據(jù)庫(kù)――-數(shù)據(jù)轉(zhuǎn)換服務(wù)――本地包(如圖)
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00001_Y7l2vTPXYJIN.jpg');}">
2. 右鍵――新建包,出現(xiàn)如圖畫(huà)面
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00002_CLxGkSexphxp.jpg');}" resized="true">
A:首先建立Microsoft OLE DB Provider for SQL Server(如圖)
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00003_pKIEkQGWar4l.jpg');}" resized="true">
在此注意兩點(diǎn):
第一指定的服務(wù)器應(yīng)是192.168.0.100;
第二192.168.0.100數(shù)據(jù)庫(kù)的選擇(在此我用master數(shù)據(jù)庫(kù))。
B:下面建立執(zhí)行 SQL 任務(wù): 未定義如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00004_ohD3JHlS8hWw.jpg');}" resized="true">
a.命令超時(shí)項(xiàng)設(shè)置為:300;
b.SQL語(yǔ)句為:
select 'bbsbak'+convert(varchar(4), datepart(yyyy, getdate())) + convert(varchar(4), datepart(mm, getdate())) + convert(varchar(4), datepart(dd, getdate()))
注釋?zhuān)杭t色標(biāo)記是實(shí)現(xiàn)備份后的數(shù)據(jù)庫(kù)在bbsbak后加上年月日,如bbsbak20031023.
c.點(diǎn)擊參數(shù)(A)對(duì)參數(shù)進(jìn)行相關(guān)設(shè)置,出現(xiàn)如上圖界面
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00005_XmKg6kcX991t.jpg');}" resized="true">
選輸出參數(shù),如上圖
輸出參數(shù)類(lèi)型為行值,點(diǎn)擊創(chuàng)建全局變量,出現(xiàn)如圖界面
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00006_xTCkaClz5F5o.jpg');}" resized="true">
全局變量的名稱(chēng)為:bbsbak_crt,確定后返回參數(shù)映射界面
選擇輸出全局變量為: bbsbak_crt
OK,第一個(gè)SQL任務(wù)建立成功!
C:下面建立另外一個(gè)執(zhí)行 SQL 任務(wù): 未定義 如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00007_OUOn5MK1f0My.jpg');}" resized="true">
其中SQL語(yǔ)句為:exec crtdatabase_bbsbak.
OK,繼續(xù)!
D:建立復(fù)制 SQL Server 對(duì)象任務(wù): 未定義,如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00008_fUuVEKyMg7cD.jpg');}" resized="true">
注意:此時(shí)源服務(wù)器為:192.168.0.1,選擇要備份的數(shù)據(jù)庫(kù)(bbsbak)
下面轉(zhuǎn)到目的服務(wù)中:參數(shù)如圖設(shè)置
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/00009_xQKiPGIxhnHi.jpg');}" resized="true">
OK!繼續(xù)
E:建立動(dòng)態(tài)屬性任務(wù): 未定義,如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000010_X5yM8Vr9TMzi.jpg');}" resized="true">
OK!
F:下面設(shè)置工作流狀態(tài)如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000011_RuUCj5uHVHKg.jpg');}" resized="true">
保存為bbsbak_DTS,如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000012_liyvn4GnJwHz.jpg');}" resized="true">
下面調(diào)度包
調(diào)度前保證SQL agent server啟動(dòng)
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000013_JzycmRVCbgEO.jpg');}" resized="true">
到此本機(jī)中(192.168.0.1)上的操作完成。
3. 打開(kāi)192.168.0.100機(jī)器中的sql數(shù)據(jù)庫(kù)――-Master數(shù)據(jù)庫(kù)――存儲(chǔ)過(guò)程,如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000014_sajkx9uu8GO1.jpg');}" resized="true">
存儲(chǔ)過(guò)程如下:
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000015_3QFuNclMZMQl.jpg');}" resized="true">
文本語(yǔ)法為:
CREATE proc crtdatabase_bbsbak
as
declare @sql varchar(120)
declare @sql2 varchar(120)
declare @sql3 varchar(260)
declare @nalja varchar(12)
set @nalja=convert(varchar(4), datepart(yyyy, getdate())) + convert(varchar(4), datepart(mm, getdate())) + convert(varchar(4), datepart(dd, getdate()))
set @sql = 'create database bbsbak'+@nalja+' on ( name='+'''backup_mdf'+@nalja+''', filename= ''E:\ bbsbak\backup_mdf\bbsbak'+@nalja+'.mdf'')'
set @sql2=' Log on ( name='+'backup_ldf'+@nalja+' ,filename= ''E:\ bbsbak \backup_ldf\ bbsbak '+@nalja+'.ldf'')'
set @sql3=@sql+@sql2
--select @sql3
exec (@sql3)
GO
注意:E:\DB_backup\Full_backup\此路徑中的DB_backup和Full_backup文件夾應(yīng)當(dāng)事先在本機(jī)E盤(pán)上建立好
同樣再建立一個(gè)存儲(chǔ)過(guò)程,語(yǔ)法為
CREATE proc deldatabase_bbsbak
as
declare @nalja varchar(12)
declare @sql varchar(120)
set @nalja=convert(varchar(4), datepart(yyyy, getdate()-15))+convert(varchar(4), datepart(mm,getdate()-15))
+convert(varchar(4), datepart(dd, getdate()-15))
set @sql='drop database nage'+@nalja
exec (@sql)
GO
最后再agent server 中建立一個(gè)作業(yè)調(diào)度存儲(chǔ)過(guò)程,其中作業(yè)中的步驟命令為:exec deldatabase_bbsbak
注意調(diào)度時(shí)的日期應(yīng)當(dāng)推遲15天
OK了!。
三、本地備份
若是在本機(jī)(192.168.0.1)中實(shí)現(xiàn)自動(dòng)備份?
操作如下:sql agent中直接添加作業(yè)bbsbak_full_backup
如圖
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000016_WfVh20VMAbm3.jpg');}" resized="true">
其中:作業(yè)中的步驟命令為:
BACKUP DATABASE bbsbak TO DISK = 'F:\DB_backup\Full_backup\bbsbak.bak' WITH INIT, NOUNLOAD, NAME=N'bbsbak Full backup', SKIP, STATS = 10, NOFORMAT
注意:F:\DB_backup\Full_backup\此路徑中的DB_backup和Full_backup文件夾應(yīng)當(dāng)事先在本機(jī)上建立好
日志文件的步驟同樣添加作業(yè):bbsbak_log_backup
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點(diǎn)擊在新窗口查看全圖\nCTRL+鼠標(biāo)滾輪放大或縮小';}" border=0 onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachments/month_0606/000017_52WAGCHf5FUb.jpg');}" resized="true">
其中:作業(yè)中的步驟命令為:
BACKUP LOG [bbsbak] TO DISK = N'F:\DB_backup\Log_backup\bbsbak_log.bak' WITH INIT , NOUNLOAD , NAME = N'bbsbak log backup', NOSKIP , STATS = 10, NOFORMAT
注意:F:\DB_backup\Log_backup \此路徑中的DB_backup和Log_backup文件夾應(yīng)當(dāng)事先在本機(jī)上建立好
好,到此所有的操作已完成,望各位繼續(xù)討論。
數(shù)據(jù)庫(kù)自動(dòng)備份簡(jiǎn)易貼(方法二)
==================
一 配置發(fā)布服務(wù)器
在發(fā)布服務(wù)器上執(zhí)行以下步驟:
(1) 從[工具]下拉菜單的[復(fù)制]子菜單中選擇[配置發(fā)布、訂閱服務(wù)器和分發(fā)]出現(xiàn)配置發(fā)布和分發(fā)向?qū)?/p>
(2) [下一步] 選擇分發(fā)服務(wù)器 可以選擇把發(fā)布服務(wù)器自己作為分發(fā)服務(wù)器或者其他sql的服務(wù)器
(3) [下一步] 設(shè)置快照文件夾
一般采用默認(rèn)\\servername\d$\Program Files\Microsoft SQL Server\MSSQL\ReplData
**(4) [下一步] 自定義配置
可以選擇:
是,讓我設(shè)置分發(fā)數(shù)據(jù)庫(kù)屬性啟用發(fā)布服務(wù)器或設(shè)置發(fā)布設(shè)置
否,使用下列默認(rèn)設(shè)置
建議采用自定義設(shè)置
(5) [下一步] 設(shè)置分發(fā)數(shù)據(jù)庫(kù)名稱(chēng)和位置 采用默認(rèn)值
(6) [下一步] 啟用發(fā)布服務(wù)器 選擇作為發(fā)布的服務(wù)器
(7) [下一步] 選擇需要發(fā)布的數(shù)據(jù)庫(kù)和發(fā)布類(lèi)型
(8) [下一步] 選擇注冊(cè)訂閱服務(wù)器
(9) [下一步] 完成配置
二 創(chuàng)建出版物
發(fā)布服務(wù)器上
(1)從[工具]菜單的[復(fù)制]子菜單中選擇[創(chuàng)建和管理發(fā)布]命令
(2)選擇要?jiǎng)?chuàng)建出版物的數(shù)據(jù)庫(kù),然后單擊[創(chuàng)建發(fā)布]
(3)在[創(chuàng)建發(fā)布向?qū)的提示對(duì)話(huà)框中單擊[下一步]系統(tǒng)就會(huì)彈出一個(gè)對(duì)話(huà)框。
對(duì)話(huà)框上的內(nèi)容是復(fù)制的三個(gè)類(lèi)型。我們現(xiàn)在選第一個(gè)也就是默認(rèn)的快照發(fā)布(其他兩個(gè)大家可以去看看幫助)
(4)單擊[下一步]系統(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ù)器
(5)單擊[下一步]系統(tǒng)就彈出一個(gè)定義文章的對(duì)話(huà)框也就是選擇要出版的表
注意: 如果前面選擇了事務(wù)發(fā)布 則再這一步中只能選擇帶有主鍵的表
(6)選擇發(fā)布名稱(chēng)和描述
**(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ù)庫(kù)也就變成了一個(gè)共享數(shù)據(jù)庫(kù)。
三 訂閱服務(wù)器的配置
(一) 強(qiáng)制訂閱的配置
在發(fā)布服務(wù)器上
[企業(yè)管理器]->[復(fù)制]->[發(fā)布內(nèi)容]->[屬性]->[訂閱]->[強(qiáng)制新建]
然后出現(xiàn)強(qiáng)制訂閱向?qū)?/p>
選擇訂閱服務(wù)器->訂閱數(shù)據(jù)庫(kù)名->設(shè)置分發(fā)代理程序調(diào)度->初始化訂閱->啟動(dòng)要求的服務(wù)
(發(fā)布服務(wù)器的agent要啟動(dòng))->完成即可
(二) 請(qǐng)求訂閱的配置
訂閱服務(wù)器上執(zhí)行以下操作
(1) 從[工具]下拉菜單中選擇[復(fù)制]子菜單的[請(qǐng)求訂閱]
(2) 選擇[請(qǐng)求新訂閱] 打開(kāi)請(qǐng)求訂閱向?qū)?/p>
(3) [下一步]選擇已注冊(cè)的發(fā)布
(4) [下一步]選擇創(chuàng)建訂閱的數(shù)據(jù)庫(kù)
(5) [下一步]選擇匿名訂閱或署名訂閱
(6) [下一步] 初始化訂閱 選擇初始化架構(gòu)和數(shù)據(jù)
(7) [下一步]選擇快照文件的存放位置 一般采用發(fā)布服務(wù)器的默認(rèn)快照文件夾
**(8) [下一步]設(shè)置分發(fā)代理程序調(diào)度 可以選擇訂閱更新內(nèi)容的間隔
(9) [下一步]系統(tǒng)會(huì)提示檢查發(fā)布服務(wù)器的代理服務(wù)的運(yùn)行狀態(tài)
(10) [下一步] 完成配置
一笑 發(fā)表于2004-07-22 3:16 AM
理論備注:
===============
利用數(shù)據(jù)庫(kù)復(fù)制技術(shù) 實(shí)現(xiàn)數(shù)據(jù)同步更新
復(fù)制的概念
復(fù)制是將一組數(shù)據(jù)從一個(gè)數(shù)據(jù)源拷貝到多個(gè)數(shù)據(jù)源的技術(shù),是將一份數(shù)據(jù)發(fā)布到多個(gè)存儲(chǔ)站點(diǎn)上的有效方式。使用復(fù)制技術(shù),用戶(hù)可以將一份
數(shù)據(jù)發(fā)布到多臺(tái)服務(wù)器上,從而使不同的服務(wù)器用戶(hù)都可以在權(quán)限的許可的范圍內(nèi)共享這份數(shù)據(jù)。復(fù)制技術(shù)可以確保分布在不同地點(diǎn)的數(shù)據(jù)自
動(dòng)同步更新,從而保證數(shù)據(jù)的一致性。
SQL復(fù)制的基本元素包括
出版服務(wù)器、訂閱服務(wù)器、分發(fā)服務(wù)器、出版物、文章
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復(fù)制技術(shù)類(lèi)型
SQL SERVER提供了三種復(fù)制技術(shù),分別是:
1、快照復(fù)制(呆會(huì)我們就使用這個(gè))
2、事務(wù)復(fù)制
3、合并復(fù)制
只要把上面這些概念弄清楚了那么對(duì)復(fù)制也就有了一定的理解。接下來(lái)我們就一步一步來(lái)實(shí)現(xiàn)復(fù)制的步驟。
第一先來(lái)配置出版服務(wù)器
(1)選中指定[服務(wù)器]節(jié)點(diǎn)
(2)從[工具]下拉菜單的[復(fù)制]子菜單中選擇[發(fā)布、訂閱服務(wù)器和分發(fā)]命令
(3)系統(tǒng)彈出一個(gè)對(duì)話(huà)框點(diǎn)[下一步]然后看著提示一直操作到完成。
(4)當(dāng)完成了出版服務(wù)器的設(shè)置以后系統(tǒng)會(huì)為該服務(wù)器的樹(shù)形結(jié)構(gòu)中添加一個(gè)復(fù)制監(jiān)視器。同時(shí)也生成一個(gè)分發(fā)數(shù)據(jù)庫(kù)(distribution)
第二創(chuàng)建出版物
(1)選中指定的服務(wù)器
(2)從[工具]菜單的[復(fù)制]子菜單中選擇[創(chuàng)建和管理發(fā)布]命令。此時(shí)系統(tǒng)會(huì)彈出一個(gè)對(duì)話(huà)框
(3)選擇要?jiǎng)?chuàng)建出版物的數(shù)據(jù)庫(kù),然后單擊[創(chuàng)建發(fā)布]
(4)在[創(chuàng)建發(fā)布向?qū)的提示對(duì)話(huà)框中單擊[下一步]系統(tǒng)就會(huì)彈出一個(gè)對(duì)話(huà)框。對(duì)話(huà)框上的內(nèi)容是復(fù)制的三個(gè)類(lèi)型。我們現(xiàn)在選第一個(gè)也就是默
認(rèn)的快照發(fā)布(其他兩個(gè)大家可以去看看幫助)
(5)單擊[下一步]系統(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ù)器
(6)單擊[下一步]系統(tǒng)就彈出一個(gè)定義文章的對(duì)話(huà)框也就是選擇要出版的表
(7)然后[下一步]直到操作完成。當(dāng)完成出版物的創(chuàng)建后創(chuàng)建出版物的數(shù)據(jù)庫(kù)也就變成了一個(gè)共享數(shù)據(jù)庫(kù)。
第三設(shè)計(jì)訂閱
(1)選中指定的訂閱服務(wù)器
(2)從[工具]下拉菜單中選擇[復(fù)制]子菜單的[請(qǐng)求訂閱]
(3)按照單擊[下一步]操作直到系統(tǒng)會(huì)提示檢查SQL SERVER代理服務(wù)的運(yùn)行狀態(tài),執(zhí)行復(fù)制操作的前提條件是SQL SERVER代理服務(wù)必須已經(jīng)啟動(dòng)
。
(4)單擊[完成]。完成訂閱操作。
完成上面的步驟其實(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)d:\Program Files\Microsoft SQL
Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以時(shí)間做為文件名的文件夾差不多一分中就產(chǎn)生一個(gè)。 |