新聞中心
數(shù)據(jù)庫(kù)suspect,如何快速解決故障問(wèn)題?

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到南川網(wǎng)站設(shè)計(jì)與南川網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋南川地區(qū)。
作為企業(yè)的核心數(shù)據(jù)管理系統(tǒng),數(shù)據(jù)庫(kù)扮演著關(guān)鍵的角色。但是,盡管我們經(jīng)常會(huì)采取更佳實(shí)踐來(lái)確保數(shù)據(jù)庫(kù)始終處于高可用性狀態(tài),很多時(shí)候仍會(huì)發(fā)生故障。其中一個(gè)常見(jiàn)的故障是數(shù)據(jù)庫(kù)進(jìn)入Suspect狀態(tài)。這時(shí),DBA需要快速解決這個(gè)問(wèn)題,以避免對(duì)業(yè)務(wù)產(chǎn)生重大影響。本文將指導(dǎo)DBA如何快速解決數(shù)據(jù)庫(kù)Suspect故障問(wèn)題。
1. Suspect狀態(tài)的原因
Suspect狀態(tài)通常發(fā)生在以下情況下:
– 數(shù)據(jù)庫(kù)掉電或服務(wù)器意外關(guān)閉
– 系統(tǒng)或硬件故障引起的I/O問(wèn)題
– 數(shù)據(jù)庫(kù)日志文件損壞
– 數(shù)據(jù)庫(kù)文件損壞
– 低磁盤(pán)空間導(dǎo)致的數(shù)據(jù)庫(kù)異常
2. 如何檢測(cè)Suspect狀態(tài)
當(dāng)數(shù)據(jù)庫(kù)處于Suspect狀態(tài)時(shí),您可以通過(guò)以下兩種方式進(jìn)行檢測(cè):
– 通過(guò)SQL Server Management Studio(SS)查看數(shù)據(jù)庫(kù)狀態(tài):打開(kāi)SS,連接到相應(yīng)的服務(wù)器,展開(kāi)“對(duì)象資源管理器”,找到數(shù)據(jù)庫(kù)列表并選擇目標(biāo)數(shù)據(jù)庫(kù)。單擊“屬性”按鈕,然后單擊“選項(xiàng)”標(biāo)簽。在這里,您將能夠看到數(shù)據(jù)庫(kù)的“狀態(tài)”。
– 查詢sys.databases視圖:您可以使用以下查詢獲取數(shù)據(jù)庫(kù)狀態(tài):
select name,state_desc from sys.databases
如果狀態(tài)列顯示為Suspect,表明數(shù)據(jù)庫(kù)進(jìn)入Suspect狀態(tài)。
3. 如何解決Suspect狀態(tài)
以下是解決數(shù)據(jù)庫(kù)Suspect狀態(tài)的步驟:
1. 確保已關(guān)閉所有已打開(kāi)的連接 – 在進(jìn)行任何故障排除之前,DBA需要確保數(shù)據(jù)庫(kù)沒(méi)有任何連接。使用以下命令檢查:
sp_who2
如果存在任何連接,請(qǐng)取消連接。
2. 重啟數(shù)據(jù)庫(kù)實(shí)例和/或重新啟動(dòng)服務(wù) – 有時(shí)候Suspect狀態(tài)可能只是暫時(shí)的,這時(shí),您可以通過(guò)重啟數(shù)據(jù)庫(kù)實(shí)例和/或重新啟動(dòng)服務(wù)來(lái)解決該問(wèn)題。在SQL Server Configuration Manager中執(zhí)行此操作。
3. 恢復(fù)損壞的日志文件 – 如果Suspect狀態(tài)是由于日志文件損壞導(dǎo)致的,則必須恢復(fù)損壞的文件。使用以下命令執(zhí)行恢復(fù)操作:
RESTORE LOG [dbName] WITH RECOVERY
4. 恢復(fù)損壞的數(shù)據(jù)文件 – 如果Suspect狀態(tài)是由于數(shù)據(jù)文件損壞導(dǎo)致的,則必須執(zhí)行修復(fù)操作。在修復(fù)之前,更好從備份中恢復(fù)數(shù)據(jù)文件,以避免數(shù)據(jù)丟失。使用以下命令執(zhí)行修復(fù)操作:
CHECKDB( ‘dbName’, REPR_ALLOW_DATA_LOSS )
5. 在單用戶模式下打開(kāi)數(shù)據(jù)庫(kù) – 如果以上步驟無(wú)效,更好在單用戶模式下打開(kāi)數(shù)據(jù)庫(kù),然后嘗試修復(fù)數(shù)據(jù)庫(kù)。使用以下命令,將數(shù)據(jù)庫(kù)設(shè)置為單用戶模式:
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
6. 修復(fù)損壞的數(shù)據(jù)庫(kù) – 如果數(shù)據(jù)庫(kù)仍然不能修復(fù),最后一種選擇是嘗試修復(fù)損壞的數(shù)據(jù)庫(kù)。使用以下命令執(zhí)行此操作:
ALTER DATABASE dbName SET EMERGENCY;
ALTER DATABASE dbName SET SINGLE_USER;
DBCC CHECKDB (dbName, REPR_ALLOW_DATA_LOSS);
ALTER DATABASE dbName SET MULTI_USER;
在執(zhí)行此操作之前,請(qǐng)備份您的數(shù)據(jù)庫(kù)文件,以防出現(xiàn)意外情況。
結(jié)論
當(dāng)數(shù)據(jù)庫(kù)進(jìn)入Suspect狀態(tài)時(shí),DBA需要立即采取必要的步驟來(lái)解決它。本文列舉了一些常見(jiàn)的解決方案,您可以根據(jù)情況選擇適當(dāng)?shù)慕鉀Q方案。DBA應(yīng)該始終確保數(shù)據(jù)庫(kù)處于高可用狀態(tài),并執(zhí)行定期備份,以避免數(shù)據(jù)丟失。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
SQL語(yǔ)句中status=32768 是什么意思?有什么做用?
-32768就是設(shè)置數(shù)據(jù)庫(kù)為suspect狀態(tài),可以倒出數(shù)據(jù),清日志等,但不能操作數(shù)據(jù)庫(kù)。
緊急求助,SQL2023數(shù)據(jù)庫(kù)處于質(zhì)疑狀態(tài)
在MS SQLSERVER中一直有這樣的問(wèn)題,SQLSERVER的狀態(tài)”置疑”,原因約有以下幾條:
1.錯(cuò)誤的刪除日志;
2.硬件(HD)損壞,造成日志和數(shù)據(jù)文件寫(xiě)錯(cuò)誤;
3.硬盤(pán)的空間不夠,比如日志文件過(guò)大;
解決辦法:
最簡(jiǎn)單的辦法是有數(shù)據(jù)庫(kù)的全備份,然后恢復(fù)即可.
步驟:
1. 刪除原始的數(shù)據(jù)庫(kù):
USE MASTER
GO
DROP DATABASE DB_SUEPECT
2.建立同名的數(shù)據(jù)庫(kù):
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.恢復(fù)數(shù)據(jù)庫(kù):
RESTORE DATABASE DB_SUSPECT
FROM DBNAME_BACKUP.DAT
4.數(shù)據(jù)庫(kù)完整性檢測(cè):
DBCC CHECKDB(‘DB_SUSPECT’)
5.重新啟動(dòng)MSSQLSERVER服務(wù).
如果沒(méi)有全備份,那就要用一些特殊的方法:
1.設(shè)置數(shù)據(jù)庫(kù)為緊急模式
Use Master
GO
sp_configure ‘a(chǎn)llow updates’, 1
reconfigure with override
GO
UPDATE sysdatabases SET status =where name = ‘DB_SUSPECT’
GO
2.停掉SQL Server服務(wù):
.Net STOP MSSQLSERVER
3.把原始乎孝數(shù)據(jù)庫(kù)的數(shù)據(jù)文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:
4.啟動(dòng)SQL Server服務(wù):
.Net START MSSQLSERVER
5.重新建立一個(gè)同名的數(shù)據(jù)庫(kù)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.設(shè)置數(shù)據(jù)庫(kù)運(yùn)行在單用戶的模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET SINGLE_USER
GO
7.停掉SQL服務(wù):
.Net STOP MSSQLSERVER
8.把原來(lái)的數(shù)據(jù)文件再覆蓋回來(lái):
9.啟動(dòng)SQL Server服務(wù):
.Net START MSSQLSERVER
10.重新設(shè)置SQLSERVER的狀態(tài):
USE MASTER
GO
EXEC sp_resetstatus “DB_SUSPECT”
11.數(shù)據(jù)庫(kù)完整性檢測(cè):
DBCC CHECKDB(‘DB_SUSPECT’)
12.恢復(fù)數(shù)據(jù)庫(kù)為多用戶模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET MULTI_USER
GO
13.恢復(fù)SQLSERVER原始的配置:
USE MATER
GO
UPDATE sysdatabases SET status =where name = ‘DB_SUSPECT’
GO
14.配置SQLSERVER不允許更新系統(tǒng)表:
USE MASTER
GO
sp_configure ‘a(chǎn)llow updates’, 0
reconfigure with override
GO
15.重新賀禪啟動(dòng)MSSQLSERVER服務(wù):
更好重新禪頃塵啟動(dòng)操作系統(tǒng)
16.備份數(shù)據(jù)庫(kù):
可以通過(guò)SQLSERVER企業(yè)管理器或T-SQL.需要備份MASTER和DB_SUSPECT
補(bǔ)充一點(diǎn),如果用DOMAIN\USER時(shí),要注意對(duì).MDF.LDF的所在目錄的權(quán)限.
靈驗(yàn)?zāi)_本
遇到這種數(shù)據(jù)庫(kù)置疑情況,就運(yùn)行下面這個(gè)腳本,屢試不爽:
======================================================
–before running any script, run the following to set the
master database to allow updates
USE master
GO
sp_configure ‘a(chǎn)llow 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 procedure is created, immediately disable
updates to the system tables:
exec sp_configure ‘a(chǎn)llow updates’, 0
GO
RECONFIGURE WITH OVERRIDE
GO
關(guān)于數(shù)據(jù)庫(kù)suspect的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡(jiǎn)稱香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開(kāi)通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問(wèn)快、穩(wěn)定!
分享名稱:數(shù)據(jù)庫(kù)suspect,如何快速解決故障問(wèn)題?(數(shù)據(jù)庫(kù)suspect)
文章分享:http://www.5511xx.com/article/cojohjs.html


咨詢
建站咨詢
