時(shí)間:2021-09-09 01:02:36 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(1)
如果sql server系統(tǒng)表?yè)p壞了,應(yīng)該怎么辦呢?下面就教您一個(gè)sql server系統(tǒng)表?yè)p壞的解決方法,供您參考,希望對(duì)您能夠有所幫助。
一、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)表的磁盤(pán)扇區(qū)出錯(cuò),那么重建系統(tǒng)表方式可以挽回?cái)?shù)據(jù)。 如果保存用戶數(shù)據(jù)表的磁盤(pán)扇區(qū)出錯(cuò),那么即使重建系統(tǒng)表也不能解決問(wèn)題。如果重要的用戶數(shù)據(jù)表無(wú)法導(dǎo)庫(kù),如:t_Voucher、 IcStockbill、ICSale等,那么可以用用"第二步"中的方法一試。
關(guān)鍵詞標(biāo)簽:sql server
相關(guān)閱讀 優(yōu)化SQL Server索引的小技巧 優(yōu)化SQL Server數(shù)據(jù)庫(kù)服務(wù)器的內(nèi)存配置 優(yōu)化SQL Server服務(wù)器內(nèi)存配置的策略 用一個(gè)案例講解SQL Server數(shù)據(jù)庫(kù)恢復(fù) 怎樣在SQL Server中去除表中不可見(jiàn)字符 怎樣使用 SQL Server 數(shù)據(jù)庫(kù)嵌套子查詢
熱門(mén)文章 淺談JSP JDBC來(lái)連接SQL Server 2005的方法 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表?yè)p壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶、角色、架構(gòu)的關(guān)系
時(shí)間:2021-12-07 11:55:49
時(shí)間:2021-08-31 12:47:01
時(shí)間:2021-08-31 11:47:50
時(shí)間:2021-07-26 21:36:24
時(shí)間:2021-05-14 16:16:18
時(shí)間:2020-03-03 16:29:24
人氣排行 配置和注冊(cè)O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫(kù) SQL2000數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫(kù)服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級(jí)到2000的正確操作步驟 sql server系統(tǒng)表?yè)p壞的解決方法 淺談JSP JDBC來(lái)連接SQL Server 2005的方法