0
我對我的問題有點困惑。我需要在本地恢復的遠程服務器上有一個備份文件。我可以在沒有問題的情況下恢復文件,但是由於某些原因,我將該路徑的變量添加到默認備份位置的路徑中。如果我直接放置路徑,它就會起作用,所以我不相信共享是問題所在。我包含了錯誤和我的路徑變量的打印結果。我已經複製了打印的路徑並將其替換爲我的變量,並且它工作得很好。由於附加了路徑,因此當然無法找到該文件。恢復路徑變量的問題
我的腳本
--Declare the Network Drive
Exec XP_CMDSHELL 'net use Y: \\ProdServer\Backups'
--Declare the Filepath
declare @Backupfilename as nvarchar(500)
declare @filename as nvarchar(40)
Set @filename = (Select Top(1) CONVERT(VARCHAR(36),name)+'.bak' from ProdServer.msdb.dbo.backupset WITH (nolock)
where database_name='ProdDB'
order by backup_set_id desc)
Set @Backupfilename = ''''+'Y:\' + @filename + ''''
Print @backupfilename
--Start the Actual Restore
RESTORE DATABASE [TESTRestore] FROM
DISK = @BackupFileName WITH FILE = 1,
MOVE N'ProdDB' TO N'D:\Data\ProdDB_Test.mdf',
MOVE N'ProdDB_Log' TO N'D:\ProdDB_Test.ldf',
NOUNLOAD, REPLACE, STATS = 10
GO
--Clear the Defined Network Path
EXEC XP_CMDSHELL 'net use Y: /delete'
結果
'Y:\ProdDB_backup_201206220600.bak'
消息3201,級別16,狀態2,行15
無法打開備份設備「C:\ Program Files文件\ Microsoft SQL Server的\ MSSQL.1 \ MSSQL \備份\ 'Y:\ ProdDB_backup_201206220600.bak'」。
操作系統錯誤123(文件名,目錄名稱或卷 標籤語法不正確。)。
消息3013,級別16,狀態1,行15
RESTORE DATABASE正在異常終止。
感謝