2015-09-14 41 views
3

我正在嘗試使用以下T-SQL代碼創建SQL Server 2008 R2的數據庫快照。數據庫中不存在文件 - SQL Server快照

CREATE DATABASE SNAP_myDB_0900 
ON 
(NAME = myDB, FILENAME = 'C:\myDB_0900.SNAP') 
AS SNAPSHOT OF myDB 

我得到以下錯誤:

The file 'myDB' does not exist in database 'myDB'

該代碼可以使用在相同的情況下其他數據庫,但沒有這一項。我已經加倍檢查了文件名,它是正確的。

爲什麼我會收到此錯誤?

+1

服務器是否可以訪問數據庫所在的直接C:\?您的計算機上的C:\與聲明中引用的C:\不相同。 – TTeeple

+0

@TT服務器確實有訪問權限,因爲此代碼可以與服務器實例上的其他數據庫一起使用。 – Telos

回答

2

確認您要創建一個基於關的快照數據庫文件名:

select name, physical_name 
from myDB.sys.database_files; 

NAME你給你快照文件(S)需要匹配源數據庫文件名。

換句話說,如果myDB的數據文件名稱爲datafile1,那麼在創建快照時您將不得不使用... NAME = 'datafile1' ...

+0

我正在使用導致錯誤的physical_name,它正在使用「name」列中的名稱。非常感謝! – Telos

相關問題