當前位置:首頁 » 編程語言 » sql2000一致性錯誤
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql2000一致性錯誤

發布時間: 2022-04-19 13:09:27

『壹』 sql2000資料庫的系統表出錯,怎麼修復syscolumns和sysobjects

用dbcc
checkdb
檢查資料庫。
DBCC
CHECKDB
重啟伺服器後,在沒有進行任何操作的情況下,在SQL查詢分析器中執行以下SQL進行資料庫的修復,修復資料庫存在的一致性錯誤與分配錯誤。
use
master
declare
@databasename
varchar(255)
set
@databasename='需要修復的資料庫實體的名稱'
exec
sp_dboption
@databasename,
N'single',
N'true'
--將目標資料庫置為單用戶狀態
dbcc
checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc
checkdb(@databasename,REPAIR_REBUILD)
exec
sp_dboption
@databasename,
N'single',
N'false'--將目標資料庫置為多用戶狀態
然後執行
DBCC
CHECKDB('需要修復的資料庫實體的名稱')
檢查資料庫是否仍舊存在錯誤。注意:修復後可能會造成部分數據的丟失。

『貳』 sql資料庫質疑的原因及解決辦法

sql資料庫質疑是設置錯誤造成的,解決方法為:

1、通過DBCC CHECKCB('DBName') 來檢測資料庫異常的原因,如果可以檢測到資料庫的異常,其中紅色部分即時數據目前存在的問題,我們也在檢測結果最後看到數據的總體的錯誤情況的匯總。

『叄』 sql2000資料庫還原數據時發生「數據一致性錯誤」,急求解決方法!

是.bak的文件嗎?
如果是的話,可以把原來的庫刪除,
然後建立一個新庫,名字和原來的一樣.然後再還原.

『肆』 SQL資料庫出現了一致性錯誤。。

SQL資料庫修復的問題一定要用達思SQL資料庫修復軟體,它可是全球最棒的SQL資料庫修復軟體了。而且在資料庫修復過程中遇到任何問題,還有資料庫修復專家指導。要下載去網路就可以,很多下載地址,我一般有什麼問題都是用這個軟體的

『伍』 修復SQL2000資料庫置疑時出現的錯誤

備份數據文件,然後按下面的步驟處理: 1.新建一個同名的資料庫(數據文件與原來的要一致) 2.再停掉sql server(注意不要分離資料庫) 3.用原資料庫的數據文件覆蓋掉這個新建的資料庫 4.再重啟sql server 5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名) 6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用 資料庫的腳本創建一個新的資料庫,並將數據導進去就行了. USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的資料庫名' Go sp_dboption '置疑的資料庫名', 'single user', 'true' Go DBCC CHECKDB('置疑的資料庫名') Go update sysdatabases set status =28 where name='置疑的資料庫名' Go sp_configure 'allow updates', 0 reconfigure with override Go sp_dboption '置疑的資料庫名', 'single user', 'false 假設資料庫為TEST: 按以下步驟執行 A.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。 use master go sp_configure 'allow updates',1 go reconfigure with override go B.設置test為緊急修復模式 update sysdatabases set status=-32768 where dbid=DB_ID('test') 此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表 C.下面執行真正的恢復操作,重建資料庫日誌文件 dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf') 執行過程中,如果遇到下列提示信息: 伺服器: 消息 5030,級別 16,狀態 1,行 1 未能排它地鎖定資料庫以執行該操作。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。 正確執行完成的提示應該類似於: 警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。

『陸』 如何修復sql資料庫數據不一致

修復sql2000資料庫置疑在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),下面我們通過以下方法來進行修復置疑的資料庫。A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQLServerEnterpriseManager裡面建立。B.停掉資料庫伺服器。C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。E.設置資料庫允許直接操作系統表。此操作可以在SQLServerEnterpriseManager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。usemastergosp_configure'allowupdates',1goreconfigurewithoverridegoF.設置test為緊急修復模式updatesysdatabasessetstatus=-32768wheredbid=DB_ID('test')此時可以在SQLServerEnterpriseManager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表G.下面執行真正的恢復操作,重建資料庫日誌文件dbccrebuild_log('test','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\test_log.ldf')執行過程中,如果遇到下列提示信息:伺服器:消息5030,級別16,狀態1,行1未能排它地鎖定資料庫以執行該操作。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQLServerEnterpriseManager打開了test庫的系統表,那麼退出SQLServerEnterpriseManager就可以了。正確執行完成的提示應該類似於:警告:資料庫'test'的日誌已重建。已失去事務的一致性。應運行DBCCCHECKDB以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。此時打開在SQLServerEnterpriseManager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。H.驗證資料庫一致性(可省略)dbcccheckdb('test')一般執行結果如下:CHECKDB發現了0個分配錯誤和0個一致性錯誤(在資料庫'test'中)。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。I.設置資料庫為正常狀態sp_dboption'test','dbouseonly','false'如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQLServerEnterpriseManager裡面恢復,也可以使用如下語句完成sp_configure'allowupdates',0goreconfigurewithoverridego

『柒』 我的 SQL Server 庫出現「一致性」錯誤,請高手幫忙解決

使用DBCC checkdb,不要加後面的允許數據丟失的修復選項,試試

『捌』 sql2000檢查資料庫有一致性和分配性錯誤。求各位幫忙修復

http://blog.csdn.net/tongdoudpj/article/details/2032481

『玖』 sql2000使用DBCC checkdb 檢查出來的錯誤怎麼解決

備份數據文件,然後按下面的步驟處理:

1.新建一個同名的資料庫(數據文件與原來的要一致)

2.再停掉sql server(注意不要分離資料庫)

3.用原資料庫的數據文件覆蓋掉這個新建的資料庫

4.再重啟sql server

5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名)

6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用
資料庫的腳本創建一個新的資料庫,並將數據導進去就行了.

USE MASTER
GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的資料庫名'
Go

sp_dboption '置疑的資料庫名', 'single user', 'true'
Go

DBCC CHECKDB('置疑的資料庫名')
Go

update sysdatabases set status =28 where name='置疑的資料庫名'
Go

sp_configure 'allow updates', 0 reconfigure with override
Go

sp_dboption '置疑的資料庫名', 'single user', 'false
假設資料庫為TEST:
按以下步驟執行

A.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
B.設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
C.下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
執行過程中,如果遇到下列提示信息:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。
正確執行完成的提示應該類似於:
警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。
D.驗證資料庫一致性(可省略)
dbcc checkdb('test')
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
E.設置資料庫為正常狀態
sp_dboption 'test','dbo use only','false'
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
F.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成
sp_configure 'allow updates',0
go
reconfigure with override
go
上面的語句操作步驟有點問題:
應該如下:
A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。
B.停掉資料庫伺服器。
C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。
D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
E.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F.設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
G.下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
執行過程中,如果遇到下列提示信息:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。
正確執行完成的提示應該類似於:
警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。
H.驗證資料庫一致性(可省略)
dbcc checkdb('test')
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
I.設置資料庫為正常狀態
sp_dboption 'test','dbo use only','false'
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成
sp_configure 'allow updates',0
go
reconfigure with override
go

『拾』 SQL Server 2000還原備份&附加mdf 提示檢測到資料庫一致性問題。

把原始MDF文件拷貝到資料庫目錄下,在查詢分析器中運行以下代碼:
USE MASTER
GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS=32768 WHERE NAME='njw'
Go

sp_dboption 'njw', 'single user', 'true'
Go

DBCC CHECKDB('njw')
Go

update sysdatabases set status=28 where name='njw'
Go

sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'njw', 'single user', 'false'
Go