IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫MSSQL → 解決 Error 605 錯誤的方案

解決 Error 605 錯誤的方案

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

錯誤原始信息(例子):

An?attempt?was?made?to?fetch?logical?page?'%ld'?in
database?'%.*s'?from?cache?'%.*s'.?Page?belongs?to
object?with?id?'%ld',?not?to?object?'%.*s'.

-------------------------------------------------------------------------------------------------
使用dbcc?tablealloc?去檢查出現(xiàn)錯誤的表

命令格式:
?dbcc?tablealloc('錯誤信息中第二個表對象')

最好將錯誤結(jié)果使用?isql?的?-o?參數(shù)輸出到文件中便于察看


注意:
????這個dbcc?操作可能會鎖住接受檢查的表,這將影響到其他進(jìn)程的訪問和操作。
-------------------------------------------------------------------------------------------------

DBCC?結(jié)果(例子為正常結(jié)果):

The?default?report?option?of?OPTIMIZED?is?used?for?this?run.?
The?default?fix?option?of?NOFIX?is?used?for?this?run.?
***************************************************************?
TABLE:?Tablename OBJID?=?id_number?
INDID=1 ?FIRST=257 ?ROOT=264 ?SORT=0?
Data?level:?1.??1?Data?pages?allocated?and?1?Extents?allocated.?
Indid ??:?1.??1?Index?pages?allocated?and?1?Extents?allocated.?
INDID=2 ?FIRST=272 ?ROOT=272 ?SORT=0?
Indid ??:?2.??1?Index?pages?allocated?and?1?Extents?allocated.?
TOTAL?#?of?extents?=?3?
Alloc?page?256?(#?of?extent=1?used?pages=2?ref?pages=2)?
Alloc?page?256?(#?of?extent=1?used?pages=3?ref?pages=3)?
Alloc?page?256?(#?of?extent=1?used?pages=2?ref?pages=2)?
Total?(#?of?extent=3?used?pages=7?ref?pages=7)?in?this?database?
DBCC?execution?completed.?If?DBCC?printed?error?messages,?contact?a?user?with?System?Administrator?(SA)?role.?

-------------------------------------------------------------------------------------------------
一.?
如果有一些錯誤(例如2583或者其他)出現(xiàn)在?INDID為0之后,表示表本身數(shù)據(jù)損壞。
解決辦法:
1.?使用?"select?into"?或者?"insert?into?...?select?"?將壞表中能夠正常訪問的數(shù)據(jù)取出裝入一個臨時表中。同時可以使用
"?where"加上一些可以縮小選擇范圍的條件盡量多的將正常的數(shù)據(jù)取出
2.?或者使用bcp去導(dǎo)出正常的數(shù)據(jù)
3.?對于實在無法取出的數(shù)據(jù),只能通過應(yīng)用系統(tǒng)中的冗余或者相關(guān)信息進(jìn)行恢復(fù)
4.?刪除或者重命名壞表,并重新創(chuàng)建新表
5.?將導(dǎo)出的正常數(shù)據(jù)重新導(dǎo)入新表中

注意:?可能會有一些數(shù)據(jù)的丟失
-------------------------------------------------------------------------------------------------
二.
如果有一些錯誤(例如2583或者其他)出現(xiàn)在?INDID為1之后,說明表上的聚簇索引損壞,解決方法同一,也可能出現(xiàn)數(shù)據(jù)丟失。
如果有一些錯誤(例如2583或者其他)出現(xiàn)在?INDID為2,3,4.....之后,說明為表上的非聚簇索引損壞,解決方法比較簡單,刪除此索引然后重新創(chuàng)建即可。

步驟如下:
1.?use?databasename
???go

2.?獲知索引名稱
???select?name?from?sysindexes?where?id?=?table_object_id?and?indid?=?index_number
???go
???
3.?創(chuàng)建一個跟壞索引不同名稱但具有相同列的索引
???create?index
???你可以使用?sp_help?table_name?去察看索引上的列信息
4.?將已損壞索引刪除
???drop?index

-------------------------------------------------------------------------------------------------
當(dāng)這些故障排除完畢后,有時間及業(yè)務(wù)系統(tǒng)允許的情況下,最好再做一次全庫的dbcc檢查

DBCC?checkdb(db_name)
DBCC?checkalloc(db_name)
DBCC?checkcatalog(db_name)

關(guān)鍵詞標(biāo)簽:方案,錯誤,解決,1&nbs

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系

相關(guān)下載

    人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法