遇到這種情況首先核對一下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新建的庫
-- 在"選擇源表和源視圖"中, 選擇所有的表
-- 最後完成
2. 用友U8.52創建新的帳套,提示:未能找到ID為11的資料庫,可能該資料庫尚未激活,也可能正在轉換過程中.
這種情況一般都是程序方面的原因,
有的模板資料庫壞了之類,覆蓋安裝是最簡單的方法
3. 用友帳套引入時提示-2147217900未能找到ID為39的資料庫可能該資料庫尚未激活
這個問題沒碰到過,是年度帳還是整個帳套啊,實在不行可以拷出數據的伺服器上帳套文件夾(這個帳套所有年度的資料庫),在新伺服器的用友里新建這個帳套,信息同原帳套,將文件夾覆蓋為拷出文件夾,然後在這台伺服器上附加資料庫資料庫(路徑為這個文件夾下各個年度)。
4. 資料庫 id 5,頁(1:32126)什麼意思
資料庫用戶名就是你安裝的mysql資料庫的用戶名,默認是root,
密碼是該資料庫中該用戶的的密碼,如果是root的話,就是root用戶的密碼。如果root用戶沒有密碼則為空。資料庫名就是要在資料庫中為DISCUZ創建的資料庫的名稱。
有時,你要先創建好資料庫,在在這里寫上你創建的資料庫名稱,有時,粗灶纖你在這里寫個要辯培使用的名稱,安裝程序會給你岩仿創建好的。
5. sql server 2000服務管理器 服務:拒絕訪問。發生錯誤5-(拒絕
解釋
當 Microsoft® SQL Server™ 無法在 sysindexes 表中找到需要的表或索引所對應的行時(例如,當執行引用已除去的表的存儲過程時),發生該錯誤。
對策
如果該錯誤因為存儲過程引用某個已除去的表而發生,則除去並重新創建該存儲過程。該錯誤還可能和其它錯誤信息一起發生,而這些消息更好地指出問題的根本原因。在 sysindexes 上執行 DBCC CHECKTABLE;同樣執行 DBCC CHECKDB。
1. DBCC CHECKDB
重啟伺服器後,在沒有進行任何操作的情況下,在SQL查詢分析器中執行以下SQL進行資料庫的修復,修復資料庫存在的一致性錯誤與分配錯誤。
use master
declare @databasename varchar(255)
set @databasename='需要修復的資料庫實體的名稱'
exec sp_dboption @databasename, N'single', N'true' --將目標資料庫置為單用戶狀態
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--將目標資料庫置為多用戶狀態
然後執行 DBCC CHECKDB('需要修復的資料庫實體的名稱') 檢查資料庫是否仍舊存在錯誤。注意:修復後可能會造成部分數據的丟失。
2. DBCC CHECKTABLE
如果DBCC CHECKDB 檢查仍舊存在錯誤,可以使用DBCC CHECKTABLE來修復。
use 需要修復的資料庫實體的名稱
declare @dbname varchar(255)
set @dbname='需要修復的資料庫實體的名稱'
exec sp_dboption @dbname,'single user','true'
dbcc checktable('需要修復的數據表的名稱',REPAIR_ALLOW_DATA_LOSS)
dbcc checktable('需要修復的數據表的名稱',REPAIR_REBUILD)
------把』 需要修復的數據表的名稱』更改為執行DBCC CHECKDB時報錯的數據表的名稱
exec sp_dboption @dbname,'single user','false'
6. 資料庫連接失敗:未能找到ID為7的資料庫。可能該資料庫尚沒有激活,也可能正在轉換
你的資料庫是原來2000版本的mdf文件在2005中附加過吧
雖然原來是2000的庫,但2005附加過之後,還是會出這個問題.
如果真是這個原因,只怕還要用2005了. 或先用2005,再導出數據結構和數據到2000里.
如果沒有附加過,還出這個問題.
樓主可以找一台干凈的機器,在上面裝裝sql2000,再試試.
如果其他機器可以,說明你的庫沒任何問題,是你現在機器上的sql的問題.
如果其他其他上也不行.那應該是你庫本身有問題.
7. 未能找到id為25的資料庫,怎麼辦呀!
資料庫版本不對.
你安裝一個SQL2005再導入你的數據文件
8. SQL附加資料庫時提示"錯誤602;未能在sysindexes中找到資料庫ID7中對象ID1的索引ID1對應的行。"
1.新建一個同名的資料庫(數據文件與原來的要一致)2.再停掉sqlserver(注意不要分離資料庫)3.用原資料庫的數據文件覆蓋掉這個新建的資料庫4.再重啟sqlserver5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名)6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決法是,利用資料庫的腳本創建一個新的資料庫,並將數據導進去就行了.USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',=32768WHERENAME='置疑的資料庫名'Gosp_dboption'置疑的資料庫名','singleuser','true'GoDBCCCHECKDB('置疑的資料庫名')Goupdatesysdatabasessetstatus=28wherename='置疑的資料庫名'Gosp_configure'allowupdates',0reconfigurewithoverrideGosp_dboption'置疑的資料庫名','singleuser','false'
9. 我在執行sql語句中的select的時候(按照id查詢),每當資料庫中的id<5的時候可以查詢
id>5沒數據吧,你獲得資料庫返回的數據後,應該先判斷接收的對象是否為null