SSMS 提供兩個層級的「還原資料庫」入口,操作流程略有不同,針對不同場景:
現象:還原時提示 備份集中的資料庫備份與現有的 'A' 資料庫不同。
原因:備份檔內部記錄的資料庫邏輯名稱/檔案名稱(如 B.mdf)與目標資料庫(A.mdf)不一致。
解決:使用伺服器層級還原,讓 SSMS 自動建立與備份檔同名的新資料庫,避免邏輯名稱衝突。
.bak 檔案。RESTORE WITH RECOVERY(預設,完成後可用)RESTORE WITH NORECOVERY(留待後續套用記錄備份)RESTORE WITH STANDBY(唯讀待機模式)。db_owner、public。DBCC CHECKDB 驗證資料庫完整性。
RESTORE DATABASE [TargetDbName]
FROM DISK = N'D:\Backup\SourceDb_20240101.bak'
WITH FILE = 1,
MOVE N'SourceDb' TO N'D:\Data\TargetDbName.mdf',
MOVE N'SourceDb_log' TO N'D:\Log\TargetDbName_log.ldf',
NOUNLOAD, REPLACE, STATS = 5;
GO
MOVE 子句可將邏輯檔案重新定向至新路徑,解決磁碟配置差異問題。
掌握「伺服器層級還原建立新庫」與「資料庫層級還原覆蓋舊庫」兩種模式,善用 WITH REPLACE、MOVE、復原狀態選項,配合專用帳號最小權限原則,即可安全、彈性地完成 SQL Server 2005 資料庫還原作業。