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

合集下载

数据库置疑的解决方法-徐章胜

数据库置疑的解决方法-徐章胜

sqlserver2000数据库置疑的解决方法先分离数据库企业管理器--右键置疑的数据库--所有任务--分离数据库然后备份你的置疑数据库的文件,再按下面的步骤处理:1.新建一个同名的数据库2.再停掉sql server3.用置疑数据库的文件覆盖掉这个新建的同名数据库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数据库之间复制对象和数据"--把"包含扩展属性"选上,其他的根据需要选择--最后完成*--重置置疑状态1.系统方法:如果sql server 因为磁盘驱动器不再有可用空间,而不能完成数据库的恢复,那么microsoft® sql server™ 2000 会返回错误1105并且将sysdatabases 中的status 列设为置疑。

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。

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

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 登录。

sql2000置疑的数据库解决办法sql2005可试下

sql2000置疑的数据库解决办法sql2005可试下

SQL2000置疑的数据库解决办法2012年3月7日上午11:24处理步骤:
1、备份置疑的数据库MDF文件出来;
2、删除置疑的数据库;
3、新建数据库,命名与原来一样;
4、停止服务,将MDF文件覆盖;
5、执行SQL语句,一句一句地执行;
use master
go
sp_configure 'allow updates',1 --设置数据库允许直接操作系统表
go
reconfigure with override --设置数据库允许直接操作系统表
go
update sysdatabases set status=-32768 where dbid=DB_ID('posdata')--- 设置posdata为紧急修复模式
go
然后停掉服务器,把POSDATA.LDF日志删除,再开启数据库服务器,再去执行以下语句:
dbcc rebuild_log('posdata','d:\Data\posdata_log.ldf') -----重建数据库日志文件
go
dbcc checkdb('posdata') ----验证数据库一致性
go
sp_dboption 'posdata','dbo use only','false' ----设置数据库为正常状态
至此数据库已经可以正常使用了。

SQL2000数据库置疑的恢复方法

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数据库状态为置疑,只读\脱机\紧急模式时的解决办法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未能排它地锁定数据库以执行该操作。

SqlServer数据库(可疑)解决办法4种

SqlServer数据库(可疑)解决办法4种重启服务--------------------------------------------------日志文件丢了,建一个日志文件--------------------------------------------------SQL SERVER 2005 数据库状态为“可疑”的解决方法--MyDB为修复的数据名USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOALTER DATABASE MyDB SET EMERGENCYGOsp_dboption 'MyDB', 'single user', 'true'GODBCC CHECKDB('MyDB','REPAIR_ALLOW_DATA_LOSS')GOALTER DATABASE MyDB SET ONLINEGOsp_configure 'allow updates', 0 reconfigure with overrideGOsp_dboption 'MyDB', 'single user', 'false'GO-------------------------------------------------当数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。

1、修改数据库为紧急模式ALTER DATABASE Zhangxing SET EMERGENCY2、使数据库变为单用户模式ALTER DATABASE Zhangxing SET SINGLE_USER3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。

SQL数据库置疑解决方法

SQL数据库置疑解决方法
一、SQL数据库置疑
1.数据库安全问题
为了保护数据库,需要确保数据库中的信息不被恶意攻击、篡改或盗窃,从而避免造成不可挽回的损失。

2.数据库可靠性问题
可靠性是指数据库系统必须在不同的时间片段可靠运行,即使是在发生系统故障的情况下,用户也能够一直获取服务。

只有数据库系统可靠性良好,才能够实现数据库系统的高安全性要求。

3.数据库性能问题
要满足用户的需求,必须保证数据库服务器能够达到最佳性能,避免出现数据库访问运行缓慢的问题,以及查询数据库时出现的查询延时、查询次数多等问题。

4.数据库维护问题
数据库系统是一个复杂的系统,在日常运行中难免会出现数据库系统故障、业务变更需求等情况。

数据库系统维护对于保证系统可靠性,提高系统性能至关重要。

1.数据库安全问题
(1)做好安全设置,为数据库设置正确的授权,只允许拥有访问权限的用户进行访问,并设置访问日志,记录访问和更改的用户,以及操作的时间等信息。

(2)定期备份数据库,将备份数据存放到安全的位置。

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服务,如果一切正常的话,则数据库已经成功恢复。

数据库被置疑后的解决方法

数据库被置疑后的解决方法数据库被置疑后的解决方法A.我们使用默认方式建立一个供恢复使用的数据库(如test)。

可以在SQL Server Enterprise Manager里面建立。

B.停掉数据库服务器。

C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

D.启动数据库服务器。

此时会看到数据库test的状态为"置疑"。

这时候不能对此数据库进行任何*作。

E.设置数据库允许直接*作系统表。

此*作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择"属性",在"服务器设置"页面中将"允许对系统目录直接修改"一项选中。

也可以使用如下语句来实现。

use mastergosp_configure 'allow updates',1goreconfigure with overridegoF.设置test为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('test')此时可以在SQL Server Enterprise Manager里面看到该数据库处于"只读\置疑\脱机\紧急模式"可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复*作,重建数据库日志文件dbccrebuild_log('test','C:\Program Files\Microsoft SQLServer\MSSQL\Data\test_log.ldf')执行过程中,如果遇到下列提示信息:服务器: 消息5030,级别16,状态1,行1未能排它地锁定数据库以执行该*作。

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

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 master
go
sp_resetstatus dbname
go
4.运行完毕后退出此工具,停止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 master
go
sp_resetstatus dbname
go
4.停止SQL Server 的服务,再重新启动SQL Server 服务.
5.打开SQL Server 的查询分析器(Query Analyzer),以用户sa 登录。

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

注:请将dbname 替换为你的数据库名称.
方法三
如上述两种方法都不能恢复,或出现故障后在SQL Server的企业管理器中的数据库节点下看不到你的数据库,表示你的数据库出现较大的错误或故障,请按下述步骤操作尝试恢复.
1.停止SQL Server 服务.
2.备份数据库文件
在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server 和本系统的数据文件,把数据文件dbname_data.mdf和日志文件dbname_log.ldf备份起来.
3.启动SQL Server服务,打开企业管理器,删除数据库,通常\data子目录下的数据文件dbname_data.mdf和日志文件dbname_log.ldf都会被删除,把备份好的数据文件和日志文件再复制一份到\data子目录下.
4.打开查询分析器,执行如下SQL语句
use master
go
EXEC sp_attach_db @dbname = dbname,
@filename1 = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\dbname_data.mdf',
@filename2 = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\dbname_log.ldf'
go
5.再在企业管理器中查看你的数据库是否恢复.
注:请把dbname 换为你的数据库名称
@filename1 是数据文件的路径地址.
@filename2 是日志文件的路径地址.
方法四:
如果还是不能恢复:如方法三执行时,查询分析器返回错误信息,请尝试以下步聚恢复数据库.
1.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录下故障数据库的两个文件,一个数据文件dbname_data.mdf,一个dbname_log.ldf(也有可能非此命名),同时查看磁盘空间是否有足够的空间;
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为原来数据库的名字。

3.停止SQL Server
4.把老数据库的MDF文件(dbname_data.mdf)替换新数据库的相应的MDF文件,并把LDF 文件(dbname_log.ldf)删除。

5.重新启动SQL Server服务,然后运行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'db_name'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然后重新启动SQL Server服务,然后运行如下命令(更换日志文件路径地址):use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG('db_name','c:\Program Files\Microsoft SQL Server\MSSQL\Data\dbname_log.ldf')
go
7.停止SQL然后重新启动SQL Server服务,然后运行:use master
go
update sysdatabases set status = 8 where name = 'db_name' go
sp_configure 'allow updates', 0
reconfigure with override
go
8.运行dbcc checkdb(db_name) 检查数据库的完整性
修复数库
注:都要把dbname 替换成真实的数据库名字。

相关文档
最新文档