我遇到的問題:
錯誤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新建的庫
-- 在"選擇源表和源視圖"中, 選擇所有的表
-- 最後完成