遠端主機 SQL 2005 備份檔 (.dat 或 .bak) 在本地 SQL 2000 還原時提示:已備份資料庫的磁碟上結構版本為 611. 伺服器支援版本 539, 無法還原或升級此資料庫,RESTORE DATABASE 作業異常終止。
SQL Server 向下不相容:高版本 (2005, 版本 611) 備份無法在低版本 (2000, 版本 539) 還原。必須使用 SQL 2005 或更高版本還原。
https://download.microsoft.com/download/C/E/6/CE626F95-EBD3-4AB8-AA35-C1BFAF98B7D5/SQLEXPR32_CHS.EXEhttps://download.microsoft.com/download/5/4/F/54F476B4-2348-4D4A-B705-0C8C9AB2A14A/SQLServer2005_SSMSEE.msiSQLEXPR32_CHS.EXE 安裝資料庫引擎(預設實例名 SQLEXPRESS)。SQLServer2005_SSMSEE.msi 安裝圖形化管理工具。.\SQLEXPRESS。.dat,直接改為 .bak,SQL 2005 僅識別 .bak)。若資料庫已從 2000 升級到 2005,物件擁有者可能非 dbo,導致權限或程式碼報錯。批次修正腳本:
EXEC sp_MSforeachtable @command1 = "EXEC SP_ChangeObjectOwner '?', 'dbo'";
此腳本調用系統預存程序遍歷所有使用者資料表,將擁有者統一設為 dbo。
.dat 改 .bak 即可識別。dbo。