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