將數(shù)據(jù)庫(kù)直接備份到網(wǎng)絡(luò)上其它計(jì)算機(jī)硬盤

字號(hào):

SQL Server 2000下將數(shù)據(jù)庫(kù)直接備份到網(wǎng)絡(luò)上其它計(jì)算機(jī)硬盤:
    具體方法如下:
    1.兩臺(tái)機(jī)器(數(shù)據(jù)庫(kù)所在的機(jī)器和存放備份文件的機(jī)器)都需要建一個(gè)同名同密碼的用戶,方便起見(jiàn),將這兩個(gè)用戶都直接歸到管理員組下;
    2.將數(shù)據(jù)庫(kù)的啟動(dòng)帳戶設(shè)置成剛才所建立的那個(gè)帳戶,并重新開(kāi)啟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$'看有沒(méi)有結(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í)際的路徑名稱)