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

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

sql server系統(tǒng)表?yè)p壞的解決方法

時(shí)間:2021/9/9 1:02:36來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

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

sql server系統(tǒng)表?yè)p壞的解決方法

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

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

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

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

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

二、sql server系統(tǒng)表?yè)p壞的癥狀

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

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

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

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

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

三、處理方法

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)閱讀 Access、SQL Server、Oracle常見(jiàn)應(yīng)用的區(qū)別修改Sql Server唯一約束教程SQL Server 2005降級(jí)到2000的正確操作步驟SQL Server asp.net 數(shù)據(jù)提供程序連接池怎樣使用 SQL Server 數(shù)據(jù)庫(kù)嵌套子查詢怎樣在SQL Server中去除表中不可見(jiàn)字符

文章評(píng)論
發(fā)表評(píng)論

熱門文章 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟sql server系統(tǒng)表?yè)p壞的解決方法sql server系統(tǒng)表?yè)p壞的解決方法MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶Access、SQL Server、Oracle常見(jiàn)應(yīng)用的區(qū)別Access、SQL Server、Oracle常見(jiàn)應(yīng)用的區(qū)別

相關(guān)下載

人氣排行 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫(kù)SQL2000數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù)配置和注冊(cè)O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程SQL2000和SQL2005數(shù)據(jù)庫(kù)服務(wù)端口查看或修改SQL Server 2005降級(jí)到2000的正確操作步驟修改Sql Server唯一約束教程淺談JSP JDBC來(lái)連接SQL Server 2005的方法SQL Server創(chuàng)建表語(yǔ)句介紹