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

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

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

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

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

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

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

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

sysindexes:數據庫中的每個索引和表在表中各占一行。

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

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

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

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

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

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

無法用SQL server DTS或其他SQL 腳本導庫工具進行導庫,導庫的中途失敗,報告:連接中斷;

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

三、處理方法

處理這種數據庫,分為兩個大的步驟:

第一步:處理可以訪問的數據表

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

2)用SQL server DTS把能夠訪問的用戶數據表導入一個新的DataBase 。

在導庫時,不能選折(1)中不能訪問的數據表。

第二步:處理不可訪問的數據表:

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

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

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

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

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

關鍵詞標簽:sql server

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

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

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

相關下載

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