数据库suspect,如何快速解决故障问题?
站在用户的角度思考问题,与客户深入沟通,找到南川网站设计与南川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、主机域名、网站空间、企业邮箱。业务覆盖南川地区。
作为企业的核心数据管理系统,数据库扮演着关键的角色。但是,尽管我们经常会采取更佳实践来确保数据库始终处于高可用性状态,很多时候仍会发生故障。其中一个常见的故障是数据库进入Suspect状态。这时,DBA需要快速解决这个问题,以避免对业务产生重大影响。本文将指导DBA如何快速解决数据库Suspect故障问题。
1. Suspect状态的原因
Suspect状态通常发生在以下情况下:
– 数据库掉电或服务器意外关闭
– 系统或硬件故障引起的I/O问题
– 数据库日志文件损坏
– 数据库文件损坏
– 低磁盘空间导致的数据库异常
2. 如何检测Suspect状态
当数据库处于Suspect状态时,您可以通过以下两种方式进行检测:
– 通过SQL Server Management Studio(SS)查看数据库状态:打开SS,连接到相应的服务器,展开“对象资源管理器”,找到数据库列表并选择目标数据库。单击“属性”按钮,然后单击“选项”标签。在这里,您将能够看到数据库的“状态”。
– 查询sys.databases视图:您可以使用以下查询获取数据库状态:
select name,state_desc from sys.databases
如果状态列显示为Suspect,表明数据库进入Suspect状态。
3. 如何解决Suspect状态
以下是解决数据库Suspect状态的步骤:
1. 确保已关闭所有已打开的连接 – 在进行任何故障排除之前,DBA需要确保数据库没有任何连接。使用以下命令检查:
sp_who2
如果存在任何连接,请取消连接。
2. 重启数据库实例和/或重新启动服务 – 有时候Suspect状态可能只是暂时的,这时,您可以通过重启数据库实例和/或重新启动服务来解决该问题。在SQL Server Configuration Manager中执行此操作。
3. 恢复损坏的日志文件 – 如果Suspect状态是由于日志文件损坏导致的,则必须恢复损坏的文件。使用以下命令执行恢复操作:
RESTORE LOG [dbName] WITH RECOVERY
4. 恢复损坏的数据文件 – 如果Suspect状态是由于数据文件损坏导致的,则必须执行修复操作。在修复之前,更好从备份中恢复数据文件,以避免数据丢失。使用以下命令执行修复操作:
CHECKDB( ‘dbName’, REPR_ALLOW_DATA_LOSS )
5. 在单用户模式下打开数据库 – 如果以上步骤无效,更好在单用户模式下打开数据库,然后尝试修复数据库。使用以下命令,将数据库设置为单用户模式:
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
6. 修复损坏的数据库 – 如果数据库仍然不能修复,最后一种选择是尝试修复损坏的数据库。使用以下命令执行此操作:
ALTER DATABASE dbName SET EMERGENCY;
ALTER DATABASE dbName SET SINGLE_USER;
DBCC CHECKDB (dbName, REPR_ALLOW_DATA_LOSS);
ALTER DATABASE dbName SET MULTI_USER;
在执行此操作之前,请备份您的数据库文件,以防出现意外情况。
结论
当数据库进入Suspect状态时,DBA需要立即采取必要的步骤来解决它。本文列举了一些常见的解决方案,您可以根据情况选择适当的解决方案。DBA应该始终确保数据库处于高可用状态,并执行定期备份,以避免数据丢失。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
-32768就是设置数据库为suspect状态,可以倒出数据,清日志等,但不能操作数据库。
在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 =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 =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 procedure is created, immediately disable
updates to the system tables:
exec sp_configure ‘allow updates’, 0
GO
RECONFIGURE WITH OVERRIDE
GO
关于数据库suspect的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器选创新互联,香港虚拟主机被称为香港虚拟空间/香港网站空间,或者简称香港主机/香港空间。香港虚拟主机特点是免备案空间开通就用, 创新互联香港主机精选cn2+bgp线路访问快、稳定!
网站标题:数据库suspect,如何快速解决故障问题?(数据库suspect)
文章路径:http://www.shufengxianlan.com/qtweb/news27/102627.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联