SQL Server 2000下將數(shù)據(jù)庫(kù)直接備份到網(wǎng)絡(luò)上其它計(jì)算機(jī)硬盤:
具體方法如下:
1.兩臺(tái)機(jī)器(數(shù)據(jù)庫(kù)所在的機(jī)器和存放備份文件的機(jī)器)都需要建一個(gè)同名同密碼的用戶,方便起見,最好將這兩個(gè)用戶都直接歸到管理員組下;
2.將數(shù)據(jù)庫(kù)的啟動(dòng)帳戶設(shè)置成剛才所建立的那個(gè)帳戶,并重新開啟SQL服務(wù);
3.假設(shè)遠(yuǎn)程機(jī)器的IP是192.168.61.234,共享為默認(rèn)共享f$,先用查詢分析器登陸到本地的SQL服務(wù)器(用sa和信任模式都可以),在master下執(zhí)行xp_cmdshell 'dir \192.168.61.234\f$'看有沒有結(jié)果,還是有報(bào)錯(cuò)的,如有報(bào)錯(cuò),請(qǐng)根據(jù)錯(cuò)誤提示檢查;
4.執(zhí)行以下備份語(yǔ)句可將數(shù)據(jù)庫(kù)備份到遠(yuǎn)程硬盤上,以crm2k為例:
backup database crm2k to disk='\192.168.61.234\f$\crm2k0722_2.dmp'
5.同時(shí)注意,一定要用“\機(jī)器名或IP”不能用映射的盤符。
注釋:
直接備份到遠(yuǎn)程硬盤并不是個(gè)好主意,一方面速度慢,另一方面網(wǎng)絡(luò)傳輸過(guò)程中可能出現(xiàn)意外。還是直接備份到本地,再拷到遠(yuǎn)程硬盤的好,用SQL的腳本可以調(diào)用:“調(diào)用master..xp_cmdshell 'copy...'實(shí)現(xiàn)。”
另外,xp_cmdshell是一個(gè)個(gè)十分有用的擴(kuò)展存儲(chǔ)過(guò)程,它可以在SQL中執(zhí)行WINDOWS的命令行命令,在使用SQL過(guò)程中益處很大。
本機(jī)備份和還原數(shù)據(jù)庫(kù)的Transact-SQL實(shí)現(xiàn)如下:
backup database 數(shù)據(jù)庫(kù)名稱 to disk = 'C:\DATA1'(具體選擇實(shí)際的路徑名稱)
restore database 數(shù)據(jù)庫(kù)名稱 from disk = 'C:\yuhua.bak'(具體選擇實(shí)際的路徑名稱)