数据库质疑.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SqlServer数据库置疑的解决办法 工作中已经碰到两次这种情况了,想想还是应该把他记录下来,利人利己。 通常这个问题是由于硬盘空间不够或硬盘读写错误造成的。 问题现象: 数据库后面有“置疑”字样,查看系统事务日记出现以下错误: 错误1--------------------------------------------- 错误: 823,严重度: 24,状态: 2 I/O error 23(数据错误 (循环冗余检查)。) detected during read at offset 0x00000000200000 in file C:\Program Files\Microsoft SQL Server\MSSQL\Data\Jiapei_Data.MDF. 错误2--------------------------------------------- 错误: 3313,严重度: 21,状态: 2 恢复数据库 Jiapei 的日志中记录的操作时出错。出错位置在日志记录 ID (274:377:2)。 错误3--------------------------------------------- 错误: 3313,严重度: 21,状态: 2 Error while redoing logged operation in database Jiapei. Error at log record ID (274:377:2). 数据库可以分离,但分离后无法附加,附加时出现“823”号错误。 解决方法: 1、新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设为suspect 2、把数据库改成紧急模式: sp_configure allow, 1 reconfigure with override update sysdatabases set status = 32768 where name = 数据库名 3、把LDF文件改名,再执行 DBCC REBUILD_LOG (数据库名, E:\fdzz\database\fdzz1204_Log.LDF ) 4、恢复数据库紧急模式 update sysdatabases set status = 0 where name = 数据库名 执行 restore database 数据库名 WITH RECOVERY sp_configure allow, 0 reconfigure with override 5、然后用DBCC CHECKDB (数据库名)看看有没有错误 6、如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库。? 其他有用的操作: /*--重置置疑状态 1.系统方法: 如果 sql server 因为磁盘驱动器不再有可用空间,而不能完成数据库的恢复, 那么 microsoft? sql server? 2000 会返回错误 1105 并且将 sysdatabases 中的 status 列设为置疑。按下面的步骤解决这个问题: 执行 sp_resetstatus。 语法为: sp_resetstatus 数据库名 用 alter database 向数据库添加一个数据文件或日志文件。 停止并重新启动 sql server。 用新的数据文件或日志文件所提供的额外空间,sql server 应该能完成数据库的恢复。 释放磁盘空间并且重新运行恢复操作。 sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。 --*/ --2.手工重置置疑状态 use master go sp_configure allow updates,1 reconfigure with override go declare @dbname varchar(30) set @dbname=你要处理的数据库名 if @@trancount 0 print 正在进行事务处理,操作不能进行 else if suser_id()!=1 print 你不是系统管理员(sa),不能进行此操作 else if not exists(select 1 from master..sysdatabases where name=@dbname) print 你要操作的数据库不存在 else if not exists(select 1 from master..sysdatabases where name= @dbname and status 256 = 256) print 你的数据库没有被置疑 else begin begin tran

文档评论(0)

新起点 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档