附加資料庫出錯提示:
執行 Transact-SQL 陳述式或批處理時發生了異常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
未能在 sysindexes 中找到資料庫 ID 7 中物件識別碼 1 的索引 ID 1 對應的行。請對 sysindexes 運行 DBCC CHECKTABLE。
Could not find row in sysindexes for database ID 7, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
未能開啟新資料庫 'xiaoche'。CREATE DATABASE 將終止。 (Microsoft SQL Server,錯誤: 602)
解決方案:
一、
.select @@version看當前的資料庫執行個體版本,是不是SQL2000在附加SQL2005的資料庫。
二、
SQL2000附加SQL2005資料具體方法
如題,若使用SQL2000附加SQL2005的資料庫時在附加時會出現了錯誤602,提示“對sysindexes運行DBCC CHECKTABLE”因為資料庫附加到2005的時候, 資料庫檔案已經自動升級到2005, 所以在2000下是無法再附加的(沒有向上相容的)
直接restore或附加是不行的, 用指令碼+導資料肯定沒有問題。
2005轉到2000的步驟步驟
1. 產生for 2000版本的資料庫指令碼
2005 的manger studio
-- 開啟"物件總管"(沒有的話按F8), 串連到你的執行個體
-- 右鍵要轉到2000的庫
-- 任務
-- 產生指令碼
-- 在"指令碼嚮導"的"選擇資料庫"中, 確定選擇的是要轉到2000的庫
-- 勾選"為所選資料庫中的所有對象編寫指令碼"
-- 在接下來的"選擇指令碼選項"中, 找到"為伺服器版本編寫指令碼"項, 選擇"SQL Server 2000"
-- 其他選項根據需要設定
-- 最後把指令碼儲存到一個 .sql 指令檔
2. 在2000中建立目標資料庫
在查詢分析器(或2005的manger studio在開啟指令檔), 串連到SQL Server 2000,執行上面產生的指令碼.以建立一個新的資料庫
3. 將資料從2005導到2000
2005 的manger studio
-- 開啟"物件總管"(沒有的話按F8), 串連到你的執行個體
-- 右鍵要轉到2000的庫
-- 任務
-- 匯出資料
-- 在"SQL Server 匯入和匯出嚮導"的"選擇資料來源"步驟中, 確定選擇的是要匯出的資料庫
-- 在"選擇目標"步驟中, 串連到 2000, 並選擇步驟2建立的庫
-- 在"選擇源表和源視圖"中, 選擇所有的表
-- 最後完成