Sha*_*i S 3 sql-server-2005 sql-server backup restore
通过在我的应用程序中执行以下行,我创建了我的数据库的完整备份:
Dim Query As String = "backup database Ari to disk='G:\Documents and Settings\i\Desktop\BKAR\" & MyTime.getFullCurrentDate.Replace("/", "") & ".Bak'"
Run Code Online (Sandbox Code Playgroud)
该*.bak
文件创建成功。
然后我在另一个名为 test 的数据库上恢复它,它没问题。然后我通过以下代码创建了一个差异备份:
Dim Query As String = "BACKUP DATABASE Ari TO DISK='G:\Documents and Settings\i\Desktop\BKAR\" & MyTime.getFullCurrentDate.Replace("/", "") & ".Bak'" & "WITH DIFFERENTIAL"
Run Code Online (Sandbox Code Playgroud)
它创建了一个*.bak
文件,但是当我尝试在我作为 test 提到的数据库上恢复它时,我收到以下错误:
请帮我解决这个问题。
在恢复一系列备份(差异和日志)时,您指定NORECOVERY
. 这使数据库处于可以接受进一步还原的状态,而不是恢复它以供使用。
RESTORE DATABASE MyDb FROM DISK = '<path>\MyDb_FULL.bak' WITH NORECOVERY;
RESTORE DATABASE MyDb FROM DISK = '<path>\MyDb_DIFF.bak' WITH NORECOVERY;
-- Repeat following for each transaction log to restore if applicable
RESTORE LOG MyDb FROM DISK = '<path>\MyDb_201303050900_LOG.bak' WITH NORECOVERY;
RESTORE DATABASE MyDb WITH RECOVERY;
Run Code Online (Sandbox Code Playgroud)