mainserver (SQL Server 2000)msdbdavid (Win2K),共享資料夾 E:\testdomain\zf,密碼 123net share test=E:\test
或呼叫 NetShareAdd API。此命令建立名為 test 的網路共享資源。
EXEC master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf'
xp_cmdshell:SQL Server 擴展預存程序,以作業系統命令列模式執行字串並回傳文字輸出。net use:Windows 網路命令,建立持久網路連線至共享資源。BACKUP DATABASE msdb TO DISK = '\\david\test\msdb.bak'
備份檔案直接寫入遠端共享資料夾。
net share test /delete
或呼叫 NetShareDel API。
已處理 1376 頁...(資料檔)
已處理 1 頁...(記錄檔)
BACKUP DATABASE 成功處理 1377 頁,耗時 3.653 秒(3.086 MB/秒)
僅需將步驟 3 的指令改為:
RESTORE DATABASE msdb FROM DISK = '\\david\test\msdb.bak'
xp_cmdshell 僅限 sysadmin 固定伺服器角色成員呼叫,且為已知安全風險來源。眾多 DBA 會選擇刪除或停用此擴展預存程序。開發人員使用時必須評估風險,並在嚴格管控下操作。