Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318898
  • 博文数量: 172
  • 博客积分: 2967
  • 博客等级: 少校
  • 技术积分: 1805
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-09 13:31
文章分类

全部博文(172)

文章存档

2014年(6)

2013年(45)

2012年(120)

2011年(1)

我的朋友

分类: IT业界

2012-12-19 18:30:29

错误:

解决方法:

1、修改数据库为紧急模式

ALTER DATABASE DBNAME SET EMERGENCY;

2、使数据库变为单用户模式

ALTER DATABASE DBNAME SET SINGLE_USER;

3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

DBCC CheckDB (DBNAME , REPAIR_ALLOW_DATA_LOSS);
命令执行完成后可能会出现以下警告:

警告数据库'DBNAME的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行DBCC CHECKDB 验证物理一致性。数据库已置于dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。

消息211,级别23,状态51,第1 行

可能发生了架构损坏。请运行DBCC CHECKCATALOG。

消息0,级别20,状态0,第0 行

当前命令发生了严重错误。应放弃任何可能产生的结果。

此时可以不用理会此警告,关闭Microsoft SQL Server Management Studio。

4、重新打开Microsoft SQL Server Management Studio,使数据库变回为多用户模式

『USE master; 

GO DECLARE @SQL VARCHAR(MAX); 
SET @SQL='' 
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID('DBNAME'); 
  EXEC(@SQL); 』

GO ALTER DATABASE DBNAME SET MULTI_USER;

5、在cmd中输入以下命令重启数据库服务
Net stop mssqlserver –停止服务
Net start mssqlserver –启动服务
再次打开Sql Server 2005时被标记为“可疑”的数据库已恢复正常状态。

阅读(1812) | 评论(0) | 转发(0) |
0

上一篇:oracle单库安装问题

下一篇:win7版本区别

给主人留下些什么吧!~~