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

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫MSSQL → sql server系統(tǒng)表損壞的解決方法

sql server系統(tǒng)表損壞的解決方法

時間:2021-09-09 01:02:36 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)

如果sql server系統(tǒng)表損壞了,應(yīng)該怎么辦呢?下面就教您一個sql server系統(tǒng)表損壞的解決方法,供您參考,希望對您能夠有所幫助。

sql server系統(tǒng)表損壞的解決方法

一、sql server數(shù)據(jù)庫中三張重要的sql server系統(tǒng)表

sysobjects:在數(shù)據(jù)庫內(nèi)創(chuàng)建的每個對象(約束、默認(rèn)值、日志、規(guī)則、存儲過程等)在表中占一行。

sysindexes:數(shù)據(jù)庫中的每個索引和表在表中各占一行。

syscolumns:每個表和視圖中的每列在表中占一行,存儲過程中的每個參數(shù)在表中也占一行。

這三張表用ID(表ID)字段關(guān)聯(lián)。這三張系統(tǒng)表一旦損壞,與之對應(yīng)數(shù)據(jù)庫對象將無法訪問,其作用相當(dāng)于DOS中的"文件分配表" 。

二、sql server系統(tǒng)表損壞的癥狀

用 DBCC CHECKDB 攜帶任何參數(shù)都無法修復(fù)數(shù)據(jù)庫,也就是說:DBCC CHECKDB對這個帳套根本不起作用;

無法執(zhí)行如下操作:

select * from sysobjects 或select * from sysindexes 或select * from syscolumns ;

無法用SQL server DTS或其他SQL 腳本導(dǎo)庫工具進(jìn)行導(dǎo)庫,導(dǎo)庫的中途失敗,報告:連接中斷;

在企業(yè)管理器或查詢分析器中,部分用戶數(shù)據(jù)表無法訪問。

三、處理方法

處理這種數(shù)據(jù)庫,分為兩個大的步驟:

第一步:處理可以訪問的數(shù)據(jù)表

1)找出哪些表不可訪問,即:sql server系統(tǒng)表中哪些記錄損壞;

2)用SQL server DTS把能夠訪問的用戶數(shù)據(jù)表導(dǎo)入一個新的DataBase 。

在導(dǎo)庫時,不能選折(1)中不能訪問的數(shù)據(jù)表。

第二步:處理不可訪問的數(shù)據(jù)表:

1)找出系統(tǒng)表中錯誤記錄的ID;

2)根據(jù)"錯誤記錄的ID",刪除sysobjects、sysindexes、syscolumns 表錯誤的記錄;

3)根據(jù)"錯誤記錄的ID" ,重建系統(tǒng)表記錄;

4)重建完畢,如果該表可以訪問,那么用DTS單獨(dú)將此表導(dǎo)入新的DataBase。

說明:重建sql server系統(tǒng)表方式不一定會成功,比如由于DISK I/O錯誤,如果僅僅是保存系統(tǒng)表的磁盤扇區(qū)出錯,那么重建系統(tǒng)表方式可以挽回數(shù)據(jù)。 如果保存用戶數(shù)據(jù)表的磁盤扇區(qū)出錯,那么即使重建系統(tǒng)表也不能解決問題。如果重要的用戶數(shù)據(jù)表無法導(dǎo)庫,如:t_Voucher、 IcStockbill、ICSale等,那么可以用用"第二步"中的方法一試。

關(guān)鍵詞標(biāo)簽:sql server

相關(guān)閱讀 優(yōu)化SQL Server索引的小技巧 優(yōu)化SQL Server數(shù)據(jù)庫服務(wù)器的內(nèi)存配置 優(yōu)化SQL Server服務(wù)器內(nèi)存配置的策略 用一個案例講解SQL Server數(shù)據(jù)庫恢復(fù) 怎樣在SQL Server中去除表中不可見字符 怎樣使用 SQL Server 數(shù)據(jù)庫嵌套子查詢

文章評論
發(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的方法