跨版本還原資料庫時,需指定檔案移動路徑與相容模式。以下為在 SQL Server 2012 執行個體上還原 SQL Server 2008 備份的標準 T-SQL 指令:
-- 切換至 master 資料庫執行
USE master;
GO
-- 還原資料庫,指定邏輯檔案對應的實體路徑
RESTORE DATABASE [TargetDBName]
FROM DISK = N'D:\Backup\db20130725.bak'
WITH REPLACE, -- 允許覆寫現有資料庫
MOVE N'SourceDBLogicalName' TO N'F:\SQL2012\MSSQL11.MSSQLSERVER\MSSQL\DATA\TargetDBName.mdf',
MOVE N'SourceDBLogicalName_log' TO N'F:\SQL2012\MSSQL11.MSSQLSERVER\MSSQL\DATA\TargetDBName_log.ldf';
GO
-- 還原完成後,建議設定相容性等級為 SQL Server 2008 (100)
ALTER DATABASE [TargetDBName] SET COMPATIBILITY_LEVEL = 100;
GO
RESTORE FILELISTONLY FROM DISK = '...' 查詢邏輯檔案名。RESTORE FILELISTONLY 確認備份檔內部邏輯名稱。此指令適用於 SQL Server 2008/2008 R2 備份還原至 2012/2014/2016/2019 等較新版本,是跨版本遷移的標準作法。