錯誤 602:未能在 sysindexes 中找到資料庫 ID 7 中物件 ID 1 的索引 ID 1 對應的行。請對 sysindexes 執行 DBCC CHECKTABLE。
SQL Server 2000 無法附加/還原 SQL Server 2005 (或更新版本) 的資料庫檔案 (`.mdf`/`.ldf`)。 資料庫內部結構版本號 (Database Version) 不相容:SQL 2000 = 539, SQL 2005 = 611, SQL 2008 = 655。附加時引擎嘗試讀取系統表 `sysindexes` 卻發現結構不符,拋出 602 錯誤。
| 工具 | 適用場景 | 指令範例 |
|---|---|---|
| DTS 匯入/匯出精靈 | 中小型資料、異構來源、需轉換 | SSMS 2005 → 右鍵 DB → 工作 → 匯出資料 → 目的地選 SQL 2000 連線 |
| BCP 大量複製 | 大量資料 (億列)、最高效能 | 匯出: `bcp DB.dbo.Table OUT data.bcp -N -T -S SrcIP` 匯入: `bcp DB.dbo.Table IN data.bcp -N -T -S DestIP -b 10000 -h "TABLOCK"` |
| 連結伺服器 | 少數資料表、一次性同步 | `INSERT INTO [Linked2000].DB.dbo.Table SELECT * FROM Table;` |
「直接 RESTORE 或附加應該是不行的,用腳本 + 導數據肯定沒有問題。」
-- 比對資料列數
SELECT 'Source', COUNT(*) FROM SourceDB.dbo.BigTable
UNION ALL
SELECT 'Target', COUNT(*) FROM TargetDB.dbo.BigTable;
-- 比對檢查和 (需相容型別)
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM SourceDB.dbo.Table;
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM TargetDB.dbo.Table;