首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2012 還原 SQL Server 2008 備份檔案 T-SQL 指令範例

     編輯:關於SqlServer

跨版本還原資料庫時,需指定檔案移動路徑與相容模式。以下為在 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

關鍵參數說明

  • REPLACE:若目標資料庫已存在,強制覆寫。
  • MOVE:必須指定備份檔中邏輯檔案名對應的新實體路徑。可先執行 RESTORE FILELISTONLY FROM DISK = '...' 查詢邏輯檔案名。
  • 相容性等級:還原後資料庫預設為新版本等級,若應用程式相依舊版語法,需手動調降。

常見問題排查

  • 邏輯檔案名不符: 執行 RESTORE FILELISTONLY 確認備份檔內部邏輯名稱。
  • 路徑權限不足: 確保 SQL Server 服務帳戶對目標資料夾具備讀寫權限。
  • 版本不相容: 無法將較新版本備份還原至較舊版本執行個體(如 2012 備份還原至 2008)。

此指令適用於 SQL Server 2008/2008 R2 備份還原至 2012/2014/2016/2019 等較新版本,是跨版本遷移的標準作法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved