每當我嘗試使用BACKUP和RESTORE命令創建數據庫的副本時,副本都會創建,但不包含任何數據。我正在運行以下命令,並返回成功狀態:SQL Server - 使用RESTORE複製數據庫,生成的副本沒有數據
BACKUP DATABASE [SomeDB]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\SomeDB.bak'
BACKUP DATABASE successfully processed 161 pages in 0.021 seconds (62.805 MB/sec).
RESTORE DATABASE [SomeDB_Copy]
FROM DISK=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\SomeDB.bak'
WITH MOVE N'SomeDB' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\SomeDB_copy.mdf',
MOVE N'SomeDB_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\SomeDB_copy.ldf'
RESTORE DATABASE successfully processed 162 pages in 0.095 seconds (13.958 MB/sec).
我是否缺少一個步驟?我發現的所有例子都使用這種方法。 Even on StackOverflow。這是在SQL Server 2005上。
更新:我將數據庫備份到一個新文件,並使用它恢復,一切正常。我不知道我的原始文件是否損壞,或其他奇怪的事情正在發生。
我討厭問清楚,但你能否確認源數據庫中有數據? – swasheck
在這一點上,我都是白癡檢查。源數據庫有1行1行,僅用於測試。 – kyork
我剛纔測試了你的代碼。創建一個名爲'SomeDB'的數據庫,有一個表和一行。運行代碼進行備份和恢復。當我打開'SomeDB_Copy'時,它有一個如預期的一行。有沒有可能你可以將'SomeDB.bak'上傳到某個文件共享站點?你使用的是什麼版本的SQL Server?什麼版本的SSMS(或者你如何運行查詢)?如果您使用用戶界面進行備份還原而不是通過代碼執行,它的工作原理是否相同? – mellamokb