2011-08-19 114 views
0

我今天回到一臺機器上工作,發現我的批處理文件不再可以使用備份數據庫命令備份我的數據庫副本。sql數據庫備份錯誤3

服務器是2008R2的Windows Server和SQL Server。

不超過一個月前,這個批處理文件會備份我的數據庫。現在,當我手動運行我的SQL腳本時,我得到一個「操作系統錯誤3 - 找不到指定的文件」。

這裏是我的腳本:

DECLARE @FileName varchar(50), @Date varchar(20) 
set @Date = REPLACE ((CONVERT (VARCHAR(10), GETDATE(), 101)), '/', '-') 
SET @FileName = ('C:\mybkfolder\BackupSQLData\db_dnt_' + @Date + '.bak') 
BACKUP DATABASE db_dnt TO DISK = @FileName 
Go 

我已經驗證SQL服務器系統帳戶下運行。我可以手動從SQL管理工作室備份到相關文件夾。但是,如果我在管理工作室中將我的腳本作爲查詢運行,則會出現此錯誤。

我去了這個文件夾並設置了安全權限,這樣SYSTEM帳戶就可以擁有完整的權限。然後我去了任務計劃程序,並確保我的計劃任務(運行批處理,批處理調用上面包含腳本的.sql文件)被配置爲在SYSTEM下運行。仍然沒有任何支持。

除了windows補丁以外,沒有人真的與機器搞混了。是什麼導致它停止工作?這是sql server的一個快速版本,因爲你不能像快速版本那樣創建作業,所以我必須使用兩個批處理文件系統,其中一個備份文件系統,另一個清除文件夾以控制文件夾。

回答

0

原來這是一個不再存在的路徑問題。我的任務稱爲批處理,批處理稱爲.sql腳本。儘管我記得在我的批處理文件中這樣做,但我忘記了更新sql腳本中的路徑。