1、最好將文件寫在本地磁盤,如:“c:\xx\xx.bak”
2、在路徑正常的情況下,還出現此類問題,請確認文件名不能包含特殊符號、空格。注:一般文件名是可以包含空格的,但這裡不行
寫個例子:
DECLARE @strSqlCmd VARCHAR(1000)
SET @strSqlCmd= 'd:\備份\mydata_' + replace(convert(varchar(50),getdate(),126),':','_') +'.BAK' --備份文件的擴展名
BACKUP DATABASE [mydatabase]
TO DISK = @strSqlCmd WITH INIT
,NOUNLOAD
,NAME = N'MyDb 備份'
,NOSKIP
,STATS = 10
,NOFORMAT
注:紅線劃出的部分。其中convert得到的是“yyyy-mm-ddThh:mm:ss.mmm(沒有空格)”。單由於有冒號,出現上述問題。在此將冒號轉為其他字符即可。