DECLARE @DATABakPath VARCHAR(200) = N'\\192.168.0.22\DataBak' --遠程共享目錄(備份文件夾根目錄)
DECLARE @UserName VARCHAR(50) = N'192.168.0.22\dbuser' --遠程目錄訪問用戶賬戶
DECLARE @UserPwd VARCHAR(50) = N'123456' --遠程目錄訪問用戶密碼
DECLARE @RemoteComand VARCHAR(200)
DECLARE @exeText VARCHAR(100)
DECLARE @DATABaseName VARCHAR(200) --要備份的數據庫名稱DECLARE @DATAFullName VARCHAR(200)SET @RemoteComand = 'net use ' + @DATABakPath + ' ' + @UserPwd + ' /user:' +@UserName + ' /persistent:yes'
EXEC MASTER..xp_cmdshell @RemoteComand --連接遠程服務器目錄SET @DATABaseName = 'db001'
SET @exeText = 'mkdir ' + @DATABakPath + '\' + @DATABaseName --在根目錄創建數據庫同名目錄
EXEC xp_cmdshell @exeText,no_output
SET @DATAFullName= @DATABakPath + '\' + @DATABaseName + '\' + @DATABaseName + '.bak'
BACKUP DATABASE @DATABaseName TO DISK = @DATAFullName--繼續下一個(如果比較多可以利用循環)SET @DATABaseName = 'db002'
SET @exeText = 'mkdir ' + @DATABakPath + '\' + @DATABaseName --在根目錄創建數據庫同名目錄
EXEC xp_cmdshell @exeText,no_output
SET @DATAFullName= @DATABakPath + '\' + @DATABaseName + '\' + @DATABaseName + '.bak'
BACKUP DATABASE @DATABaseName TO DISK = @DATAFullName
?