當前位置:首頁 » 編程語言 » sql質疑了

sql質疑了

發布時間: 2022-08-31 10:11:25

A. 緊急求助,sql2000資料庫處於質疑狀態

在MS SQLSERVER中一直有這樣的問題,SQLSERVER的狀態"置疑",原因約有以下幾條:
1.錯誤的刪除日誌;
2.硬體(HD)損壞,造成日誌和數據文件寫錯誤;
3.硬碟的空間不夠,比如日誌文件過大;
解決辦法:
最簡單的辦法是有資料庫的全備份,然後恢復即可.
步驟:
1. 刪除原始的資料庫:
USE MASTER
GO
DROP DATABASE DB_SUEPECT
2.建立同名的資料庫:
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO
3.恢復資料庫:
RESTORE DATABASE DB_SUSPECT
FROM DBNAME_BACKUP.DAT
4.資料庫完整性檢測:
DBCC CHECKDB('DB_SUSPECT')
5.重新啟動MSSQLSERVER服務.
如果沒有全備份,那就要用一些特殊的方法:
1.設置資料庫為緊急模式
Use Master
GO
sp_configure 'allow updates', 1
reconfigure with override
GO
UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'
GO
2.停掉SQL Server服務:
.Net STOP MSSQLSERVER
3.把原始資料庫的數據文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:
4.啟動SQL Server服務:
.Net START MSSQLSERVER
5.重新建立一個同名的資料庫DB_SUSPECT;
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO
6.設置資料庫運行在單用戶的模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET SINGLE_USER
GO
7.停掉SQL服務:
.Net STOP MSSQLSERVER
8.把原來的數據文件再覆蓋回來:
9.啟動SQL Server服務:
.Net START MSSQLSERVER
10.重新設置SQLSERVER的狀態:
USE MASTER
GO
EXEC sp_resetstatus "DB_SUSPECT"
11.資料庫完整性檢測:
DBCC CHECKDB('DB_SUSPECT')
12.恢復資料庫為多用戶模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET MULTI_USER
GO
13.恢復SQLSERVER原始的配置:
USE MATER
GO
UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'
GO
14.配置SQLSERVER不允許更新系統表:
USE MASTER
GO
sp_configure 'allow updates', 0
reconfigure with override
GO
15.重新啟動MSSQLSERVER服務:
最好重新啟動操作系統
16.備份資料庫:
可以通過SQLSERVER企業管理器或T-SQL.需要備份MASTER和DB_SUSPECT
補充一點,如果用DOMAIN\USER時,要注意對.MDF.LDF的所在目錄的許可權.

靈驗腳本
遇到這種資料庫置疑情況,就運行下面這個腳本,屢試不爽:
======================================================
--before running any script, run the following to set the
master database to allow updates
USE master
GO
sp_configure 'allow updates', 1
GO
RECONFIGURE WITH OVERRIDE
GO

--Run the following script
UPDATE master..sysdatabases SET status = status ^ 256
WHERE name = 'Database_Name'

--Run the following script
exec SP_resetstatus Database_Name

--stop and start the MSDTC at this stage

--After the procere is created, immediately disable
updates to the system tables:
exec sp_configure 'allow updates', 0
GO
RECONFIGURE WITH OVERRIDE
GO

B. 如何修復 SQL 資料庫置疑

SQL資料庫修復大師6.6 是一款功能強大的數據修復工具
對修復 SQL 資料庫置疑 823錯誤 無損

支持對SQL 2000 SQL2005 SQL2008 的mdf文件進行修復 支持資料庫日誌(LDF)生成 直接附加
對資料庫823錯誤 質疑錯誤 效果最佳 完美支持中文記錄
SQL 2000 2005 2008 資料庫修復工具,修復系統表損壞 索引損壞 823報錯 日誌報錯等各種故障

C. SQL SERVER資料庫質疑怎麼辦

因為你把資料庫的物理文件刪除了,但是資料庫中還有。

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

D. sql資料庫質疑的原因及解決辦法

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

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

E. sql資料庫質疑、無法附加、附加報錯、附加後表打不開, 數據怎麼恢復

你先找個高版本的嘗試導入下,最好在操作之前備份一下。如果問題沒有解決應該就是資料庫損壞,建議到專業的數據恢復公司看看。可以到愛特數據恢復解決這樣的問題,一般都能解決。

F. sql資料庫置疑怎麼處理

修復方法

  • 1

    打開SQL企業管理器

    按序打開 ,開始--所有程序(或程序)--Microsoft SQL Server--企業管理器

    打開後按序點+號展開直到資料庫

G. 如何修復 SQL 資料庫置疑

修復sql2000資料庫置疑

在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),下面我們通過以下方法來進行修復置疑的資料庫。

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

H. SQL資料庫質疑怎麼解決

1,停止sql服務管理器,將日誌文件 aaa.ldf 改成 aaa1.ldf(重新命名)
2,再開啟sql服務管理器,打開查詢分析器:依次執行
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
update sysdatabases set status=-32768 where dbid=DB_ID('aaa')
go
dbcc rebuild_log('aaa','d:\aaa_log.ldf') -----一定要是資料庫路徑,如果不對要改下
go
dbcc checkdb('aaa')
go
sp_dboption 'aaa','dbo use only','false'
go
sp_configure 'allow updates',0
go
reconfigure with override
go
之後再次刷新企業管理器,應該就可以了!這種問題一般是斷電或者動過文件路徑導致的!

I. sql6.5資料庫變灰(被質疑了)怎麼辦

將你的資料庫文件,也就是資料庫中擴展名是DAT的文件,包括logo文件復制到其它硬碟中備用.然後將你的資料庫從SQL中刪除重做(注意:不是刪除SQL!!
只是你的庫和設備!!)一般只能這樣了,一定要按照原來資料庫的大小、名稱做!!,搞完後確保新的運行正常,然後停止SQL服務,將原備份的DAT文件直接替換到新庫的同名DAT文件,重新啟動SQL服務,一切就OK了。

J. sql server 2000 資料庫質疑後重新開機後恢復正常是怎麼回事

SQL
Server2000資料庫出現質疑有以下原因:
(1)
資料庫文件
被刪除
(2)轉移了資料庫文件
(3)重新命名了資料庫文件
(4)由於文件夾設置了安全訪問,導致程序無法訪問
(5)由於
電腦系統
的原因,導致SQL
Server無法正常訪問資料庫文件
從你的情況看,有可能是系統的某種原因導致第一次沒有正常與資料庫文件通信
但重啟後通信成功,這是比較正常的事情

熱點內容
如何登錄男朋友的微信密碼 發布:2025-01-16 07:41:14 瀏覽:194
寶駿解壓流程 發布:2025-01-16 07:35:35 瀏覽:2
兩匹壓縮機多少錢 發布:2025-01-16 07:29:19 瀏覽:635
個人pc搭建游戲伺服器 發布:2025-01-16 07:27:09 瀏覽:970
存儲剩餘照片 發布:2025-01-16 07:25:01 瀏覽:50
ftp解除限制上傳文件個數 發布:2025-01-16 07:16:26 瀏覽:348
梯度下降法python 發布:2025-01-16 07:10:43 瀏覽:520
載入並編譯著色器apex 發布:2025-01-16 07:00:08 瀏覽:59
方舟出售腳本 發布:2025-01-16 06:57:55 瀏覽:955
釘釘代理伺服器Ip地址和瑞口 發布:2025-01-16 06:57:05 瀏覽:699