我遇到的問題:
錯誤602:未能在sysindexes中找到資料庫id 7中對象id 1的索引id 1 對應的行.請對sysindexes運行dbcc checktable
提問:
錯誤602:未能在sysindexes中找到資料庫ID11中對象ID1的索引ID1對應的行,鬱悶啊???
懸賞分:0 - 解決時間:2008-12-29 13:57
我在學習asp.net的時候,經常需要將別人的資料庫(位於appData目錄下的*.MDF檔案)附加到我的
SQL server中,可是當我使用“所有任務-->附加”的時候,經常出現下列錯誤:
錯誤602:未能在sysindexes中找到資料庫ID11中對象ID1的索引ID1對應的行,請對sysindexes運行
DBCC CHECKTABLE。
我鬱悶啊,到底為什麼啊??????
回答:
遇到這種情況首先核對一下51aspx上源碼所表明的開發環境(如 VS2005+Sql2005),如果是採用sqlServer2005的話你用Sql2000附加Sql2005的資料庫就會出現這種錯誤(解決方案:改用SqlServer2005附加一下,如果還想用Sql2000格式那就用匯出sql語句等方式進行轉換)
轉csdn sql專家鄒建的解決辦法
直接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建立的庫
-- 在"選擇源表和源視圖"中, 選擇所有的表
-- 最後完成