今天在做項目的時候,在附加數據庫的時候遇到了問題,因為也不知道之前的庫的那個,2000,還是05?不太清楚,目前我自己用的庫的08,在附加的時候果然出現了問題。可以看到如下錯誤,我截圖!
下面我們就來解決此問題!附加數據庫出錯提示:執行 Transact-SQL 語句或批處理時發生了異常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------未能在 sysindexes 中找到數據庫 ID 7 中對象 ID 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導到20002005 的manger studio-- 打開'對象資源管理器'(沒有的話按F8), 連接到你的實例-- 右鍵要轉到2000的庫-- 任務-- 導出數據-- 在'SQL Server 導入和導出向導'的'選擇數據源'步驟中, 確定選擇的是要導出的數據庫-- 在'選擇目標'步驟中, 連接到 2000, 并選擇步驟2新建的庫-- 在'選擇源表和源視圖'中, 選擇所有的表-- 最后完成
新聞熱點
疑難解答
圖片精選