時間: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數(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ù)庫嵌套子查詢
熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系
時間:2021-12-07 11:55:49
時間:2021-08-31 12:47:01
時間:2021-08-31 11:47:50
時間:2021-07-26 21:36:24
時間:2021-05-14 16:16:18
時間:2020-03-03 16:29:24
人氣排行 配置和注冊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的方法