標籤:
今天在sqlServer20005 的management studio裡使用bak檔案還原資料庫的時候,總是失敗!
Restore failed for Server ‘ADANDELI‘. (Microsoft.SqlServer.Smo)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo
The backup set holds a backup of a database other than the existing ‘AAA‘ database.
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server,錯誤: 3154)
找不到原因(已經選擇了"overwrite the existing database"),只能使用命令來還原了,不知道為什麼會這樣.
--返回由備份組內自主資料庫和記錄檔列表組成的結果集。
--主要獲得邏輯檔案名稱
USE master
RESTORE FILELISTONLY
FROM DISK = ‘g:\back.Bak‘
Go
************************************************
/*
利用bak恢複資料庫,強制還原(REPLACE)
STATS = 10 每完成10%顯示一條記錄
DBTest和DBTest_log是上面g:\back.Bak裡的邏輯檔案
*/
USE master
RESTORE DATABASE DB
FROM DISK = ‘g:\back.Bak‘
WITH MOVE ‘DBTest‘ TO ‘E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf‘,
MOVE ‘DBTest_log‘ TO ‘E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf‘,
STATS = 10, REPLACE
GO
++++++++++++++++++++++++++++++++
/*
備份資料DB 到.bak檔案。然後利用此bak檔案恢複一個新的資料庫DBTest。
*/
USE master
BACKUP DATABASE DB
TO DISK = ‘g:\DBBack0930.bak‘
RESTORE FILELISTONLY
FROM DISK = ‘g:\DBBack0930.bak‘
RESTORE DATABASE DBTest
FROM DISK = ‘g:\DBBack0930.bak‘
WITH MOVE ‘DBTest‘ TO ‘E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf‘,
MOVE ‘DBTest_log‘ TO ‘E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf‘
GO
---****************************** http://www.cnblogs.com/adandelion/archive/2006/09/30/519534.html
RESTORE DATABASE命令還原SQLServer 資料庫 bak