sql server 数据库质疑(挂起)修复步骤

合集下载

SQLServer2000数据库置疑的解决方法

SQLServer2000数据库置疑的解决方法

SQLServer2000数据库置疑的解决方法sql2000中MSDB数据库置疑状态的解决方法问题:我的SQL Server 2000的MSDB数据库,因为不正常关机,造成了置疑状态,请问采用什么方法能够弥补,解决方法一:你可以采用以下的代码进行修复: USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='msdb' Gosp_dboption 'msdb', 'single user', 'true'GoDBCC CHECKDB('msdb')Goupdate sysdatabases set status =28 where name='msdb' Gosp_configure 'allow updates', 0reconfigure with overrideGosp_dboption 'msdb', 'single user', 'false'Go解决方法二:MSDB数据库解决过程难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的不能同名,遇到了困难。

附加数据库不能叫MSDB,也就是1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。

2:将以上的文件再拷贝到另一个目录下,也就是说复制两次。

3:选择数据库右击鼠标 --》所有任务--》附加数据库将复制出的一个备份文件附加上去,其中,数据库名称叫MSDB1,用户是SA或ADMINISTRATOR。

4:将MSDB1数据库备份,备份成一个文件,当时我的叫MSDB。

用友软件SQL数据库置疑修复文档

用友软件SQL数据库置疑修复文档

用友软件SQL数据库置疑修复文档背景2021年4月,发现公司用友软件的SQL数据库出现了一些置疑的情况,例如数据表数据不一致等问题。

经过初步调查,发现是由于数据库在一段时间内没有正常备份导致的问题。

因此,需要对数据库进行修复工作,以确保数据的完整性和准确性。

修复步骤1. 备份数据库在进行修复工作前,首先要备份数据库,以免操作失误导致数据丢失。

可以使用SQL Server Management Studio等工具来进行数据库备份。

2. 查找问题点查找问题点是修复工作的核心。

可以通过以下步骤进行操作:1.使用SQL Server Management Studio查看数据表的结构和数据;2.比对不同时间点的数据表数据,查找数据不一致的点;3.查看SQL Server的日志文件,查找异常的SQL语句。

通过以上步骤可以发现置疑的数据表以及具体出现问题的时间点和SQL语句。

3. 进行修复操作修复操作需要严格按照以下步骤进行:1.暂停所有与数据库相关的应用程序;2.使用SQL Server Management Studio等工具,逐条运行SQL语句,对数据表进行修复;3.重启所有与数据库相关的应用程序。

在进行修复工作前,需要对每一条SQL语句进行仔细的检查和确认,确保语句正确无误,否则可能导致数据更加混乱。

4. 检查修复效果修复操作完成后,需要进行检查,以确保修复效果符合预期。

可以通过以下步骤进行操作:1.使用SQL Server Management Studio查看数据表的结构和数据;2.比对不同时间点的数据表数据,查看修复效果;3.重启所有与数据库相关的应用程序,查看是否存在问题。

如果修复后仍存在问题,则需要重新查找问题点,并进行修复操作,直到修复效果符合预期。

注意事项在进行数据库修复工作时,需要注意以下几点:1.备份数据库是重要的保证,不能忽视;2.SQL语句需要仔细检查,以免操作失误导致数据问题更加严重;3.修复操作需要停止所有与数据库相关的应用程序,确保数据准确性。

SQL数据库置疑解决方案(原因分析、预防措施、修复方法)附图

SQL数据库置疑解决方案(原因分析、预防措施、修复方法)附图

SQL数据库置疑解决方案一、数据库置疑产生的原因1、SQL Server所在分区空间是否够?数据库文件大小是否达到最大文件限制?FAT32的格式只支持4G以内的文件。

2、数据库文件损坏或被非正常删除时出现这种情况。

3、病毒防火墙的扫描也会引起数据库置疑。

4、当SQL Server启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。

5、电脑非法关机也会造成数据库置疑。

6、电脑磁盘有坏道有可能造成数据库置疑。

二、数据库置疑的预防1、数据库存放的盘符,空间是否够大,经常检查盘符的空间。

2、数据库存放的盘符的格式设置为NTFS格式。

3、进行病毒清除时,尽量把SQL服务停掉,再进行检查。

4、尽量减少非正常关机。

5、建议客户购买后备电源。

6、给客户实施软件之后一定要做好自动备份。

7、建议客户每隔一定时间手动备份一次。

三、数据库置疑的修复1、正常的备份、SQL数据库恢复方式正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。

卸下数据库的命令:Sp_detach_db 数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′[,...16]sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。

例子:假设数据库为pdm,其数据文件为pdm_data.mdf,日志文件为pdm_log.ldf。

sql server 数据库质疑(挂起)修复步骤

sql server 数据库质疑(挂起)修复步骤

数据库修复步骤
1.将已破坏的老数据库更名如Baddb_Data.Mdf ==>Baddb_Data.Md_ ,并在原来位置新建一同
名数据库如Baddb_Data.Mdf .
2. 停止SQL, 将新数据库更名(Baddb_Data.Mdf ==> Baddb_Data.Md2),
待修复老数据库更名为原先名称Baddb_Data.Md_ ==> Baddb_Data.Mdf
3.启动SQL , 并进入查询分析器中, 执行如下命令:
USE MASTER
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = 'Baddb'
4. 把LDF文件改名,再执行
DBCC REBUILD_LOG ('Baddb', 'E:\posdb\Baddb_Log.LDF' )
5. 恢复数据库紧急模式
update sysdatabases set status = 0 where name = 'Baddb'
6. 执行
restore database Baddb WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override
7. 检查数据库看看有没有错误, 应该可以看到数据了
DBCC CHECKDB ('Baddb')
如以上还是不行,试把数据库设为紧急模式,再把数据导出到一个新的数据库(如有坏区)。

SQL数据库置疑解决方案(原因、预防、修复)附图

SQL数据库置疑解决方案(原因、预防、修复)附图

SQL数据库置疑解决方案一、数据库置疑产生的原因1、SQL Server所在分区空间是否够?数据库文件大小是否达到最大文件限制?FAT32的格式只支持4G以内的文件。

2、数据库文件损坏或被非正常删除时出现这种情况。

3、病毒防火墙的扫描也会引起数据库置疑。

4、当SQL Server启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。

5、电脑非法关机也会造成数据库置疑。

6、电脑磁盘有坏道有可能造成数据库置疑。

二、数据库置疑的预防1、数据库存放的盘符,空间是否够大,经常检查盘符的空间。

2、数据库存放的盘符的格式设置为NTFS格式。

3、进行病毒清除时,尽量把SQL服务停掉,再进行检查。

4、尽量减少非正常关机。

5、建议客户购买后备电源。

页脚内容16、给客户实施软件之后一定要做好自动备份。

7、建议客户每隔一定时间手动备份一次。

三、数据库置疑的修复1、正常的备份、SQL数据库恢复方式正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。

卸下数据库的命令:Sp_detach_db 数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′[,...16]sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。

例子:假设数据库为pdm,其数据文件为pdm_data.mdf,日志文件为pdm_log.ldf。

SQL Server数据库故障及修复方法

SQL Server数据库故障及修复方法

SQL Server数据库故障及修复方法
对于计算机专业的大学生来说,SQL Server数据库肯定不陌生吧,SQL Server数据库作为目前使用相对广泛的数据库管理系统,被很多企业所使用,给大家带来了很多的方便。

对于企业来说,SQL Server数据库的稳定性至关重要,一旦发生问题,将会带来不可估量的损失。

当SQL Server数据库出现故障时,大家该如何解决问题呢?
SQL Server数据库常见故障:
1)SQL数据库置疑
2)SQL数据库无法附加或附加报错
3)SQL数据表查询错误
4)MDF文件损坏
5)SQL数据库备份文件损坏
6)SQL数据库被标记为可疑
7)SQL数据库被误删除
8)分区被格式化,SQL数据库被恢复后还是坏的
9)一致性错误
10)错误823等等
从上面大家可以了解到,SQL Server数据库的常见故障非常多,很可能用户一个错误操作就可能造成SQL Server数据库损坏或数据丢失,当出现这些问题时,用户不要盲目对数据库进行任何操作,因为用户的错误操作可能会造成数据库进一步损坏,对于不确定的情况,用户应该将数据库交给那些专业的数据库恢复人才进行恢复,这样才能保证数据库的安全。

sqlserver2000 数据库置疑的4种解决方法

sqlserver2000 数据库置疑的4种解决方法

sqlserver2000 数据库置疑的4种解决方法方法一:1.停止SQL Server的服务,然后备份MS SQL Server的安装目录下的\data子目录.注意:整个目录目录备份或只备份data目录下置疑数据库的两个文件,一个数据文件dbname_data.mdf,一个dbname_log.ldf(也有可能非此命名),同时查看磁盘空间是否有足够的空间;2.启用SQL Server的服务。

打开查询分析器(Query Analyzer)的工具,以用户sa登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),use mastergosp_resetstatus dbnamego4.运行完毕后退出此工具,停止SQL Server的服务.5.在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server 和本系统的数据文件,删除置疑数据库的日志文件dbname_log.ldf(也有可能非此命名).6.启动SQL Server的服务.7.打开企业管理器(Enterprise Manager)的工具,查看数据库(database)节点下的dbname是否恢复。

注:请将dbname 换成你的数据库名称.方法二1.查看磁盘空间,保证存放数据库的磁盘有足够的剩余空间;2.打开SQL Server的查询分析器(Query Analyzer),以用户sa 登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),运行完毕后退出此工具.use mastergosp_resetstatus dbnamego4.停止SQL Server 的服务,再重新启动SQL Server 服务.5.打开SQL Server 的查询分析器(Query Analyzer),以用户sa 登录。

输入如下指令后点工具栏上的绿色箭头运行,运行完毕后退出此工具:use mastergoDBCC DBRECOVER (dbname)go6.打开SQL Server 的企业管理器(Enterprise Manager),查看database下的dbname是否恢复。

sql2000数据库安装提示挂起的处理方法

sql2000数据库安装提示挂起的处理方法

sql2000数据库安装提示挂起的处理方法SQL Server 2000是一种用于管理和处理数据的关系型数据库管理系统,然而在安装过程中有时会遇到挂起的情况。

挂起的原因可能是因为硬件问题、软件冲突、安装程序错误等,下面将介绍一些处理挂起问题的方法,希望能够对你有所帮助。

第一步,检查硬件是否有问题。

在安装过程中,如果遇到挂起的情况,首先应该检查计算机硬件是否正常工作。

可以尝试重新启动计算机,并检查硬件设备是否连接正确。

如果使用的是光盘安装程序,还可以尝试更换光盘以排除光盘损坏的可能性。

另外,还可以考虑检查计算机内存是否充足,因为内存不足也可能导致安装挂起。

第二步,检查操作系统和软件冲突。

有时挂起问题可能是由操作系统或其他已安装的软件引起的。

可以尝试关闭所有不必要的后台程序和服务,并禁用防火墙和杀毒软件。

还可以尝试在安全模式下进行安装,这样可以避免冲突。

第三步,检查安装程序是否正确。

如果安装程序本身出现问题,也可能导致安装挂起。

可以尝试重新下载安装程序,并确保下载的是适用于你的操作系统的版本。

另外,在运行安装程序之前,最好将其保存在本地磁盘中,而不是在网络上运行,以确保安装程序可以正常访问。

第四步,进行清理和修复。

如果以上方法都无效,可以尝试进行清理和修复操作。

可以使用磁盘清理工具来清理计算机上的临时文件和垃圾文件,以释放磁盘空间。

另外,还可以尝试使用系统修复工具,例如运行“sfc /scannow”命令来修复操作系统文件。

第五步,寻求专业帮助。

如果以上方法仍然无法解决问题,建议寻求专业的技术支持。

可以联系SQL Server官方技术支持团队或咨询专业的数据库管理员。

他们可能会提供更具体和个性化的解决方案,以帮助你解决安装挂起的问题。

总结起来,解决SQL Server 2000安装挂起问题需要综合考虑硬件、软件和操作系统三个方面的因素。

首先应该排除硬件问题,然后检查软件冲突,并确保安装程序正确无误。

sql数据库置疑修修复语句

sql数据库置疑修修复语句

SQL数据库置疑修复是一个复杂且细致的过程,需要数据库管理员具备丰富的经验和技能。

当数据库置疑时,通常意味着数据库的结构或数据可能已损坏,因此需要使用特定的修复语句和步骤来尝试恢复。

以下是一个关于SQL数据库置疑修复的详细指南,包括可能使用的修复语句和步骤。

修复前的准备备份数据库:在进行任何修复操作之前,务必先备份置疑的数据库。

这是为了防止进一步的数据丢失,如果修复操作不成功,还可以从备份中恢复数据。

评估损坏程度:使用DBCC CHECKDB命令检查数据库的完整性,并确定损坏的程度。

例如:sqlDBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;这个命令会返回有关数据库中任何错误或不一致性的信息。

修复过程根据损坏的程度和类型,可以尝试以下修复步骤:使用REPAIR_REBUILD修复:如果损坏的是索引,可以使用REPAIR_REBUILD选项尝试修复。

例如:sqlDBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);这个命令会尝试重建损坏的索引。

可以多次执行此命令,直到没有更多的修复动作为止。

2. 使用REPAIR_ALLOW_DATA_LOSS修复:如果REPAIR_REBUILD无法解决问题,或者存在更严重的数据损坏,可以使用REPAIR_ALLOW_DATA_LOSS选项。

但请注意,这个选项可能会导致数据丢失。

例如:sqlDBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);在执行此命令之前,请务必确保已经备份了数据库,并且了解可能的数据丢失风险。

3. 其他修复方法:如果上述方法均无法解决问题,可能需要考虑更复杂的修复策略,如恢复备份、使用第三方工具或寻求专家的帮助。

MSDB数据库置疑状态的解决方法

MSDB数据库置疑状态的解决方法

MSDB数据库置疑状态的解决方法MSDB数据库是SQL Server中的系统数据库之一,它存储了SQL Server代理服务以及一些其他系统对象的信息。

在使用SQL Server过程中,有时候会遇到一些MSDB数据库置疑状态的问题,如损坏、恢复失败等。

这种情况下,我们可以采取以下方法解决问题:1.检查数据库是否发生损坏可以使用SQL Server Management Studio的"数据库完整性检查"功能来检查MSDB数据库是否发生损坏。

如果发现有损坏,则可以使用"修复"功能来修复数据库。

2.恢复数据库备份如果MSDB数据库出现较大的问题,可以考虑还原最近可用的数据库备份。

首先,需要通过备份文件还原数据库,然后再进行数据库恢复。

3.重建系统对象如果MSDB数据库中的系统对象出现问题,可以尝试重建这些对象来解决问题。

可以使用系统存储过程sp_repladdcolumn、sp_replcmds等来重建系统对象。

4. 更新SQL Server版本如果使用的SQL Server版本过旧,可能会导致MSDB数据库出现问题。

可以尝试更新SQL Server版本来解决问题。

在更新之前,建议先备份数据库,并查看新版本的兼容性要求。

5. 检查SQL Server代理服务SQL Server代理服务对MSDB数据库起到重要的作用,如果服务出现问题,可能会导致MSDB数据库置疑状态。

可以通过服务管理器检查SQL Server代理服务是否正常运行。

如果服务停止或发生了错误,可以尝试重新启动服务或根据错误信息进行故障排除。

6.执行DBCCCHECKDB命令DBCC CHECKDB是SQL Server提供的用于检查数据库完整性的命令。

可以使用该命令来检查MSDB数据库是否存在问题,并尝试修复。

具体的使用方法可以参考SQL Server官方文档。

7.重建MSDB数据库如果以上方法都无法解决问题,可以考虑重建MSDB数据库。

SQL SERVER2000数据库质疑的解决方法

SQL SERVER2000数据库质疑的解决方法

SQL SERVER2000数据库质疑的解决方法先分离数据库企业管理器--右键suspect的数据库--所有任务--分离数据库然后备份你的suspect数据库的文件,再按下面的步骤处理:1.新建一个同名的数据库2.再停掉sql server3.用suspect数据库的文件覆盖掉这个新建的同名数据库4.再重启sql server5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222'Gosp_dboption 'test', 'single user', 'true'GoDBCC CHECKDB('test')Goupdate sysdatabases set status =28 where name='test'Gosp_configure 'allow updates', 0 reconfigure with overrideGosp_dboption 'test', 'single user', 'false'Go6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧企业管理器--右键你的数据库--所有任务--导出数据--目标标数据库选择新建--选择"在两个sql数据库之间复制对象和数据"--把"包含扩展属性"选上,其他的根据需要选择--最后完成如果SQL Server 因为磁盘可用空间不足,而不能完成数据库的恢复,那么SQL Server 2000 会返回错误1105 并且将sysdatabases中的status列设为置疑。

sqlserver数据库被质疑(suspect)的解决方案

sqlserver数据库被质疑(suspect)的解决方案
文档编号:
WD200712140001参考方案
文档标题:
sqlserver数据库被质疑(suspect)的解决方案
操作系统:
WIN 2000 PRO
数据库:
Sql Server 2000
软件版本:
未知
软件模块:
其他
问题描述:
sqlserver数根据实际情况修改db_name
清除数据库的置疑状态:sp_resetstatus 'db_name'
清除数据库的单用户模式状态:sp_dboption 'db_name','single user','false'
重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。
6、修改数据库的标志
update sysdatabases set status=12 where name =''db_name'( 'db_name'表示相应的数据库名字)
1、在SQL查询分析器中执行以下命令,以允许更新系统表:
use master
go
sp_configure 'allow updates',1
reconfigure with override
go
2将这个数据库置为紧急模式:
update sysdatabases set status = 32768 where name = 'db_name'
go
3.使用DBCC CHECKDB命令检查数据库中的错误:
DBCC CHECKDB(‘db_name')
GO
4.先将数据库置为单用户模式,再尝试对其进行修复:

怎么样解决SQL数据库安装时被挂起的问题

怎么样解决SQL数据库安装时被挂起的问题

怎么样解决SQL数据库安装时被挂起的问题?
2009-09-15 23:27:36| 分类:SQL数据库笔记| 标签:|字号大中小订阅
在安装SQL数据库或者卸载重装时,总会时不时提示安装程序被挂起的问题, 除了重装系统来解决问题之外,还可以按照以下方法快速解决:
1、先运行你的安装程序,当提示挂起时,点击“确定”,切记,不要退出
安装程序,
用ALT+Tal键切换,点击“开始→运行”,输入“regedit”,打开注册表;
2、找到目录:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
3、删除其中的“PendingFileRenameOperations”(说明:PendingFileRenameOperations文件位于Session Manager右侧,即当你点击Session Manager时,在右边就可以看到了);
4、关闭注册表;
5、重新开始安装SQL Server 2000,一切OK了。

常规SQL SERVER数据库置疑后恢复步骤

常规SQL SERVER数据库置疑后恢复步骤

常规SQL SERVER数据库置疑后恢复步骤--1.恢复步骤:--a.将smlog_log.ldf文件备份到其它目录下;--b.将源目录下的smlog_log.ldf文件改名为smlog_log_bak.ldf;--c.执行以下语句修改数据库的状态:use Mastergoupdate sysdatabases set status=32768 where name='数据库名称' --修改状态,設為緊急狀態goshutdown with nowait --停止数据库服务器go--d.退出SQL并在(COMMAND)命令行模式中通过下面的代码重新启动SQL:sqlservr -c -T3608 -T4022 --安全模式启动SQL SERVER--e.在查询分析器中执行以下语句来查看刚刚修改过状态的数据库状态:select Name,Status from sysdatabases where Name='数据库名稱'--f.执行以下代码新建日志文件:dbcc traceon(3604)--跟踪dbcc rebuild_log('数据库名称','日志文件全路徑') --文件名要有全路径和扩展名--dbcc rebuild_log('prs_msc','d:\mscsql\mssql\data\prs_msc_log.ldf --g.将数据库置回正常状态:update sysdatabases set status=0 where name='数据库名称'--h.重新启动数据库后执行以下语句检查数据库:DBCC CHECKDB --如果执行完有错误用以下语句修复--i.要修复数据库必需将数据库改为单用户模式:Exce sp_dboption '数据库名称','single user','true'---('false'恢复多用户)--j.执行以下语句修复数据库:DBCC CHECKDB('数据库名称',REPAIR_ALLOW_DATA_LOSS) REPAIR_ALLOW_DATA_LOSS:是比较高级的修复方式REPAIR_FAST:是简单快速的修复方式/*處理状态就为"置疑"的數據庫备份数据文件,然后按下面的步骤处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sql server(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.*/USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1GORECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'Gosp_dboption '置疑的数据库名','single user','true'GoDBCC CHECKDB('置疑的数据库名')Goupdate sysdatabases set status=28 where name='置疑的数据库名' Gosp_configure 'allow updates',0GOreconfigure with overrideGosp_dboption '置疑的数据库名', 'single user','false'Go关于SQL数据库置疑的修复方法发布日期:2008/11/17 18:10:22 来源:作者:点击:1078斑竹广告联盟问题现象:数据库后面有“置疑”字样,查看系统事务日记出现以下错误:错误1---------------------------------------------错误: 823,严重度: 24,状态: 2I/O error 23(数据错误(循环冗余检查)。

SQLServer数据库处于恢复挂起状态的解决办法

SQLServer数据库处于恢复挂起状态的解决办法

SQLServer数据库处于恢复挂起状态的解决办法⼀、总结 如果数据库处于⼀个恢复挂起的状态,并且对数据库做脱机和分离的操作,报出数据库⽂件不可访问的错误,可能是因为数据库的数据⽂件和⽇志⽂件在数据库正常连接的情况下,⽂件所在的磁盘脱机了,导致数据库在⼀段时间内找不到数据库的⽂件,就把数据库置于⼀个恢复挂起的状态了,所以磁盘联机后,重启数据库服务,重新去找数据⽂件和⽇志⽂件找到了,数据库就可⽤了。

⼆、处理步骤1、数据库恢复挂起截图2、出现恢复挂起的原因 我这⾥的数据库出现这种原因,是因为我的数据库数据⽂件和⽇志⽂件是在存储上放着的,当时存储升级微码,所以暂时把该机器上挂载的存储盘脱机了(脱机升微码快),存储微码升级好后,磁盘再次联机,重启机器,数据库服务也⾃动重启了,登录SSMS客户端,查看数据库的状态就是恢复挂起状态了。

3、处理步骤(1)尝试restore数据库失败,提⽰数据库是离线状态 脚本:restore database run with recovery(2)对数据库做脱机操作,报错注:如果能对数据库脱机成功,再次联机也有可能解决,要看数据库是什么原因导致数据库恢复挂起的。

(3)对数据库做分离操作,也报错同样的错误注:以上对数据库脱机和分离都报出数据库⽂件不可访问的错误,查看磁盘⽂件,发现⽂件是存在的(4)迫不得已,所以对数据库服务做了重启注:重启数据库服务后,发现数据库好了,可以⽤了,⼤功告成!总结以上所述是⼩编给⼤家介绍的SQLServer数据库处于恢复挂起状态的解决办法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

在此也⾮常感谢⼤家对⽹站的⽀持!如果你觉得本⽂对你有帮助,欢迎转载,烦请注明出处,谢谢!。

SQL server 2008 数据库置疑的处理办法

SQL server 2008 数据库置疑的处理办法

SQL server 2008 数据库置疑的处理办法1 把问题数据库备份后直接删除停掉SQLSERVER服务,把服务器上出问题的数据库, 假设名称为ErrorDB的数据库文件及日志文件备份到其他目录,然后直接将其删除,把其数据库文件及日志文件也删除2 新建同名数据库启动SQLSERVER服务,新建同名数据库ErrorDB,文件目录和日志和原来一致3 用备份的数据库文件替换新的数据库文件停掉SQLSERVER服务,把备份的数据库文件替换新的数据库文件(只替换数据库文件,不替换日志文件)启动SQLSERVER服务,打开数据库,这时数据库应该是不能访问的-------------------设置应急模式、单用户模式、检查修复数据,取消单用户模式----------------------4 将数据库设置为应急状态alter database ErrorDB set emergency执行后,为了保险起见,重新停止、开启的SQLSERVER服务再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作5 将数据库设置为单用户模式ALTER DATABASE ErrorDB SET SINGLE_USER6 对数据库进行检查修复dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(EIMSDb,REPAIR_REBUILD)操作后,仍然停止启动SQLSERVER服务(不确定是否需要,我只是为了想无干扰查看执行后的数据库状况)重新打开数据库,已经是正常状态了,没有应急提示了7 取消单用户模式exec sp_dboption EIMSDb, N'single', N'false'至此,数据库恢复完毕,对数据库进行BAK重启网站,访问正常。

数据库质疑修复总结ForSQLS...

数据库质疑修复总结ForSQLS...

数据库质疑修复总结ForSQLS...1 前言本文的步骤基于以下条件:1. SQL Server可以启动。

2. 数据库没有做有效的备份。

3. 当前用户有Sysadmin权限。

数据库质疑的原因会有多种多样,不同的suspect采用的步骤也会有所不同,以下的步骤不能适用所有的情况,但包括了一些基本的步骤。

数据库suspect是指数据库内部处于不一致的状态,很有可能会有数据丢失。

我们推荐您从“好的数据库备份”恢复。

我们这里所指的“好的数据库备份”是指:1. 在做数据库备份之前,您检查过DBCC CHECKDB没有错误。

2. 备份之后的数据库没有更改,或者更改可以忽略。

在做任何修复操作之前,请务必备份.mdf/.ndf以及.ldf文件。

2 SQL Server 2000修复步骤如果没有“好的数据库备份”,我们不能保证没有数据丢失。

以下是恢复suspect数据库(SQL Server 2000)的一般方法,供您参考。

同时在操作下列步骤之前,您可以备份质疑数据库的MDF、NDF、LDF文件,以便以下步骤恢复失败时能够回滚到原来的状态。

1. 在查询分析器中,运行如下命令将数据库置于紧急模式。

Sp_configure 'allow update', 1GoReconfigure with overrideGoBegin TranUpdate master..sysdatabases set status = 32768 where name ='<DatabaseName>’Commit Tran--此处<DatabaseName>需要替代成您出问题的数据库名字。

--以下同GoSelect * from sysdatabases--检查数据库状态是否已经变成 32768Go2. 重启SQL Server服务。

3. 如果第二步中重启服务,数据库再次进入suspect模式,请设置数据库紧急模式,使用BCP方式导出数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库修复步骤
1.将已破坏的老数据库更名如Baddb_Data.Mdf ==>Baddb_Data.Md_ ,并在原来位置新建一同
名数据库如Baddb_Data.Mdf .
2. 停止SQL, 将新数据库更名(Baddb_Data.Mdf ==> Baddb_Data.Md2),
待修复老数据库更名为原先名称Baddb_Data.Md_ ==> Baddb_Data.Mdf
3.启动SQL , 并进入查询分析器中, 执行如下命令:
USE MASTER
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = 'Baddb'
4. 把LDF文件改名,再执行
DBCC REBUILD_LOG ('Baddb', 'E:\posdb\Baddb_Log.LDF' )
5. 恢复数据库紧急模式
update sysdatabases set status = 0 where name = 'Baddb'
6. 执行
restore database Baddb WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override
7. 检查数据库看看有没有错误, 应该可以看到数据了
DBCC CHECKDB ('Baddb')
如以上还是不行,试把数据库设为紧急模式,再把数据导出到一个新的数据库(如有坏区)。

相关文档
最新文档