C/S 架構應用,用戶端 (Client) 操作備份/還原,備份檔需儲存於用戶端本機磁碟。資料庫伺服器 (mainserver) 必須能寫入/讀取用戶端 (david) 共享資料夾。
mainservermsdbdavidzf / 123,網域:domainE:\test → 共享名 testnet share test=E:\test
-- 在 SQL Server 執行 (需啟用 xp_cmdshell)
EXEC master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf';
xp_cmdshell:擴展預存程序,以命令列方式執行 OS 指令並回傳文字結果。net use:建立/斷開網路共享連線,控制持久連線。BACKUP DATABASE msdb
TO DISK = '\\david\test\msdb.bak';
net share test /delete
已處理 1376 頁,屬於資料庫 'msdb' 的檔案 'MSDBData' (檔案 1)。
已處理 1 頁,屬於資料庫 'msdb' 的檔案 'MSDBLog' (檔案 1)。
BACKUP DATABASE 成功處理 1377 頁,耗時 3.653 秒 (3.086 MB/秒)。
sysadmin 可執行,開啟即賦予 SQL Server 執行任意 OS 命令能力。生產環境嚴禁開啟,或嚴格限制 Proxy 帳號權限。db_backupoperator,不需 sysadmin。