SQLServer2000数据库置疑的解决方法
数据库状态为置疑.只读.脱机.紧急模式时的解决办法
SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法2010-05-08 18:44这是SQL2000常遇到的错误,楼主按照以下方法修复,修复完,检查一下数据库是否已完全修复,没完全修复时最低都可导出数据,要用数据库生成一个空库脚本,把修复数据库的数据用DTS导入到新库。
A.建立一个供恢复使用的数据库我们使用默认方式建立一个供恢复使用的数据库(如iBusinessWork)。
可以在SQL Server Enterprise Manager 里面建立。
B.停掉数据库服务器。
C.调整数据库与日志文件.将刚才生成的数据库的日志文件iBusinessWork_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件iBusinessWork_data.mdf。
D.启动数据库服务器。
此时会看到数据库iBusinessWork的状态为“置疑”。
这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。
use mastergosp_configure 'allow updates',1goreconfigure with overridegoF.设置iBusinessWork为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('iBusinessWork')关闭打开企业管理器,此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复操作,重建数据库日志文件dbcc rebuild_log('iBusinessWork','E:\Microsoft SQL Server\Data\iBusinessWork_log.ldf')执行过程中,如果遇到下列提示信息:服务器: 消息5030,级别16,状态1,行 1未能排它地锁定数据库以执行该操作。
sqlserver2000数据库置疑的4种解决方法
s q l s e r v e r2000数据库置疑的4种解决方法本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.Marchsqlserver2000 数据库置疑的4种解决方法方法一:1.停止SQL Server的服务,然后备份MS SQL Server的安装目录下的\data 子目录.注意:整个目录目录备份或只备份data目录下置疑数据库的两个文件,一个数据文件,一个(也有可能非此命名),同时查看磁盘空间是否有足够的空间;2.启用SQL Server的服务。
打开查询分析器(Query Analyzer)的工具,以用户sa登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),use mastergosp_resetstatus dbnamego4.运行完毕后退出此工具,停止SQL Server的服务.5.在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server和本系统的数据文件,删除置疑数据库的日志文件(也有可能非此命名).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 登录。
sql数据库质疑修复
Sql数据库质疑处理方法1.首先停止sql服务、将质疑的数据库文件复制到其他盘进行备份、备份完之后将质疑数据库删除掉然后启动sql服务重新安装建立一个新的数据库。
2.停止sql服务然后用备份出来的数据库后缀名为MDF的文件替换新的MDF文件。
且删除掉后缀名为LDF的文件3.启动sql服务4.执行下列语句:Use Mastergosp_configure 'allow updates', 1reconfigure with overridegobegin tranupdate sysdatabases set status = 32768 where name = '数据库名'--Verify one row is updated before committingcommit trango5.停止sql再重新启动sql服务,然后运行下列语句:use mastergoDBCC TRACEON(3604)DBCC REBUILD_LOG('数据库名称','D:\Program Files\Microsoft SQL Server\MSSQL\Data\数据库名称_log.ldf')--(注:在这里输入自己的数据库路径)Go6.停止sql然后重新启动sql服务,然后运行下列语句:use mastergoupdate sysdatabases set status = 8 where name = '数据库名称'gosp_configure 'allow updates', 0reconfigure with overridego7. 运行dbcc checkdb(db_name) 检查修复好的质疑数据库是否正常。
SQL2000数据库置疑的恢复方法
1、将数据库设置为单用户迷失
sp_dboption '你的数据库名', 'single user', 'true'
2、修复表
DBCC CHECKTABLE('表名',repair_allow_data_loss)
3、取消单用户模式
sp_dboption '你的数据库名', 'single user', 'false'
二、重新启动SQL服务器 来自三、建立新数据库文件夹 如:newdat
四、复制空数据库到新建的数据库文件夹
五、在 sql 企业管理器中附加新数据库 如:newdat
六、用SQL的DTS工具将旧库数据全部导入新库
导入时注意:以pb打头的表不要选择导入
七、导入过程中,如发现某个表被损坏不能导入,可用下面的指令恢复后再导入
操作步骤:
一、打开查询分析器,修改被置疑的数据库为强制启动状态
选择 master 数据库,按以下指令顺序逐条执行
sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
update sysdatabases set status=-32768 Where name='被质疑的数据库名'
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 数据库置疑解决方法
J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成
sp_configure 'allow updates',0
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
G.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。
go
reconfigure with override
go
SPID: 51
process ID: 348
备份数据文件,然后按下面的步骤处理:
1.新建一个同名的数据库(数据文件与原来的要一致)
2.再停掉sql server(注意不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
SQL数据库置疑解决方法
SQL数据库置疑解决方法
一、SQL数据库置疑
1.数据库安全问题
为了保护数据库,需要确保数据库中的信息不被恶意攻击、篡改或盗窃,从而避免造成不可挽回的损失。
2.数据库可靠性问题
可靠性是指数据库系统必须在不同的时间片段可靠运行,即使是在发生系统故障的情况下,用户也能够一直获取服务。
只有数据库系统可靠性良好,才能够实现数据库系统的高安全性要求。
3.数据库性能问题
要满足用户的需求,必须保证数据库服务器能够达到最佳性能,避免出现数据库访问运行缓慢的问题,以及查询数据库时出现的查询延时、查询次数多等问题。
4.数据库维护问题
数据库系统是一个复杂的系统,在日常运行中难免会出现数据库系统故障、业务变更需求等情况。
数据库系统维护对于保证系统可靠性,提高系统性能至关重要。
1.数据库安全问题
(1)做好安全设置,为数据库设置正确的授权,只允许拥有访问权限的用户进行访问,并设置访问日志,记录访问和更改的用户,以及操作的时间等信息。
(2)定期备份数据库,将备份数据存放到安全的位置。
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是否恢复。
SqlServer数据库被置疑解决方法
Sql Server数据库被置疑解决方法首先确认已经备份了.mdf和.ldf文件。
2.在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。
3.用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件。
4.重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。
5.在SQL查询分析器中执行以下命令,以允许更新系统表:use mastergosp_configure‘allow updates’,1reconfigure with overridego6.将这个数据库置为紧急模式:update sysdatabases set status=32768where name= 'db_name'go7.使用DBCC CHECKDB命令检查数据库中的错误:DBCC CHECKDB(‘db_name’)GO8.如果DBCC CHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:sp_dboption'db_name',’single user’,’true’DBCC CHECKDB(‘db_name’,REPAIR_ALLOW_DATA_LOSS)GO如果在执行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。
9.如果DBCC CHECKDB(‘db_name’,REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:重新执行DBCC CHECKDB(‘db_name’)命令,确认数据库中已没有错误存在。
清除数据库的置疑状态:sp_resetstatus'db_name'清除数据库的单用户模式状态:sp_dboption'db_name',’single user’,’false’重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。
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列设为置疑。
SQL SERVER 2000数据库置疑处理
SQL SERVER 2000数据库置疑处理由于服务器意外的断电,导致SQL SERVER服务器上数据库出现“置疑”而无法使用,通过网上搜索,找到以下方法解决问题,这里记录一下:产生数据库置疑的时侯,数据库文件和日志文件都是存在的,如果数据库文件都不存在了,则要另当处理。
1、停止数据库服务器,将数据库MDF文件和LDF文件复制备份一份2、启动数据库服务器,删除置疑的数据库3、仅用备份的数据库MDF文件附加数据库,sp_attach_db 或者sp_attach_single_file_db可以附加数据库,出现类似下面的提示信息:设备激活错误。
物理文件名'C:\Program Files\Microsoft SQL Server\MSSQL\data\myDb_Log.LDF' 可能有误。
已创建名为'C:\Program Files\Microsoft SQLServer\MSSQL\Data\myDb_log.LDF' 的新日志文件。
这个表明数据库附加成功,问题解决了,如果成功则要恭喜你了,反正我是符加不成功,提示类似下面的错误信息未能打开新数据库'myDb'。
CREATE DATABASE 将终止。
设备激活错误。
物理文件名'e:\www\myDb_log.LDF' 可能有误。
此时我用了以下方法解决(参考了网上的方法)。
A.我们SQL SERVER企业管理器新建立一个供恢复使用的同名数据库(注意:要跟问题数据库同名,本例中为myDb)。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件myDb_log.ldf删除(本例中的示列数据库名,实际使用您自己的数据库名称),用刚才备份的数据库mdf文件覆盖新生成的数据库数据文件myDb_data.mdf。
D.启动数据库服务器。
此时会看到数据库myDb的状态为“置疑”。
这时候不能对此数据库进行任何操作。
SQL2000数据库置疑的解决方法
SQL2000数据库置疑的解决方法首先,在任何操作之前,必须要备份数据库(重要)一、分离数据库1、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器2、展开服务器组,然后展开服务器,选中要分离的数据库3、点击鼠标右键“所有任务》分离数据库”,出现如下窗口4、点击确定,该选定的数据库就被分离。
5.分离后,把原数据库里面.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标盘下,例:D盘下注意事项,只有“使用本数据库的连接”数为0时,该数据库才能分离。
所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。
二、附加数据库1、在附加数据库之前,首先要移动数据库文件在附加数据库之前,您必须将与数据库关联的 .MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标硬盘下,或是同一服务器的不同硬盘目录下。
这两个文件一般位于C:\Program Files\Microsoft SQL Server\MSSQL\Data目录下。
2、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器3、展开服务器组,然后展开服务器4、右击"数据库",然后选择“所有任务》附加数据库”,弹出窗口5、输入要附加的数据库的MDF名称。
如果不确定文件位于何处,单击浏览("...")搜索。
若要确保指定的 MDF 文件正确,请单击"验证"。
在"附加为"框内,输入数据库的名称。
数据库名称不能与任何现有数据库名称相同。
指定数据库的所有者6、单击"确定"按钮。
新附加的数据库的数据库节点即创建在"数据库"文件夹中重启双机1.此时数据库分离,附加完成,必须重启一次双机修复置疑1,双机重启后,数据库置疑下面所有修复置疑的语法,在没有特别提到时,默认数据库都请选择(Master)数据库)2,修复置疑(必须在SQL的查询分析器中才能进行数据修复置疑工作)A、打开查询分析器,当数据置疑之后在查询分析器中是看不到置疑的数据库名称的,所以进入查询分析器之后,所选数据库默认(Master)数据库即可。
数据库置疑处理如何修复
数据库置疑处理如何修复1.数据库备份与还原:在修复数据库问题之前,首先应该对数据库进行备份。
备份是保证数据安全的关键步骤,可以在修复过程中避免数据丢失。
如果修复过程中发生了错误或意外情况,可以通过还原备份来恢复数据库到之前的状态。
2.数据库系统日志分析:数据库系统日志是记录数据库操作和事件的重要工具。
通过分析日志可以定位到数据库出现问题的具体原因。
对于数据完整性错误,可以通过日志分析找出出问题的操作和具体的错误信息。
对于性能问题,可以通过日志分析找出导致性能下降的查询、事务等操作。
3.数据库完整性检查:对于数据完整性错误,可以通过数据库完整性检查工具来定位问题并修复。
数据库完整性检查是对数据库中的数据进行一致性和完整性的验证,可以检测到数据丢失、重复、不一致等问题。
修复数据完整性错误可能需要对数据进行修正或恢复。
4.索引优化与重建:索引是提高数据库查询性能的关键因素。
数据库置疑处理中,经常需要对索引进行优化和重建。
通过分析查询执行计划,可以找出导致查询性能下降的问题,可以考虑调整索引策略或重新建立索引来提高查询效率。
5.数据库参数调整:数据库系统有很多可以配置的参数,通过调整这些参数可以提高数据库的性能和稳定性。
在数据库置疑处理过程中,可以通过调整这些参数来减少资源消耗、提高并发性能等。
6.数据库服务器优化:数据库服务器的硬件和操作系统的性能也会影响到数据库的运行效果。
在数据库置疑处理过程中,可以考虑对服务器进行优化,如增加内存、优化硬盘读写速度、调整操作系统参数等。
7.安全漏洞修复:数据库中存在安全漏洞可能导致数据泄露和入侵的风险。
在数据库置疑处理过程中,应该注意查找和修复这些安全漏洞。
可以通过升级数据库软件、补丁安装、控制用户权限等方式来增强数据库的安全性。
此外,在数据库置疑处理过程中,应该注意以下几点:1.及时响应和解决问题:数据库问题可能会对业务产生严重影响,因此应该迅速响应并解决问题,以缩短业务中断时间。
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数据库置疑解决方案一、数据库置疑产生的原因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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer2000数据库置疑的解决方法sql2000中MSDB数据库置疑状态的解决方法
问题:我的SQL Server 2000的MSDB数据库,因为不正常关机,造成了置疑状态,请问采用什么方法能够弥补,解决方法一:你可以采用以下的代码进行修复: USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1
RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='msdb' Go
sp_dboption 'msdb', 'single user', 'true'
Go
DBCC CHECKDB('msdb')
Go
update sysdatabases set status =28 where name='msdb' Go
sp_configure 'allow updates', 0
reconfigure with override
Go
sp_dboption 'msdb', 'single user', 'false'
Go
解决方法二:MSDB数据库解决过程
难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的不能同名,遇到了困难。
附加数据库不能叫MSDB,也就是
1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。
2:将以上的文件再拷贝到另一个目录下,也就是说复制两次。
3:选择数据库右击鼠标 --》所有任务--》附加数据库将复制出的一个备份文件附加上去,其中,数据库名称叫MSDB1,用户是SA或ADMINISTRATOR。
4:将MSDB1数据库备份,备份成一个文件,当时我的叫MSDB。
BAK。
5:选择置疑的数据库MSDB,选择恢复数据库,将刚才备份出来的数据库强行恢复到MSDB。
6:问题解决,MSDB库又能正常使用。
完成后赶快将数据库再次备份一次。
呵呵。
另附:数据库置疑解决办法
还有,现在修复好了,但昨天的数据丢失了,以前的数据倒还在。
难道昨天发生了什么异常情况,
我这里一篇解决数据库质疑的文档,提供给大家,日后备用: SQL SERVER数据库置疑后恢复步骤
1( 恢复步骤:
a.将smlog_log.ldf文件备份到其它目录下;
b.将源目录下的smlog_log.ldf文件改名为smlog_log_bak.ldf;
c.执行以下语句修改数据库的状态:
use Master
go
update sysdatabases set status=32768 where name=’数据库名称’ --修改状态 go
shutdown with nowait --停止数据库服务器
go
d.退出SQL并在命令行模式中通过下面的代码重新启动SQL: sqlservr -c -
T3608 -T4022 --安全模式启动SQL SERVER e.在查询分析器中执行以下语句来查
看刚刚修改过状态的数据库状态: select Name,Status from sysdatabases where Name=’ 数据库名称’ f.执行以下代码新建日志文件:
dbcc traceon(3604) --跟踪
dbcc rebuild_log(‘数据库名称’,’日志文件名称’) --文件名要有全路径和扩展名 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:是简单快速的修复方式
相似问题:系统重装,忘记了备份SQL,然后又通过数据恢复工具找回了
mcdb_data.mdf 和mcdb_Log.LDF,在企业管理器上用附加数据库时提示错误9004,日志错误,在网上找了诸多方法,也试过建个同名空数据库然后停止SQL SERVER然后覆盖掉MDF。
但多不行,哪个大哥救救
这是详细步骤.
1.先建一个与你要恢复的数据库名称一样的数据库。
2.停止sql server,把你的数据库替换这个数据库。
3.重启sql server,把数据库设置为紧急状态。
sp_configure 'allow',1
reconfigure with overirde
update sysdatabases set status=32768 where name='yourdata' 4.重建日志文件。
dbcc rebuild_log('yourdata','your data path\newdata_log.ldf') 5.取消紧急模式。
update sysdatabases set status=0 where name='yourdata' restore sysdatabases yourdata with recovery
sp_configure 'allow',0
reconfigure with override
6.重起sql server
7.ok。