微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

修复SQLSERVER 数据库一致性错误与分配错误

@H_404_2@

 一、把数据库置为单用户模式:

sp_dboption '数据库名称','single user','true' @H_404_2@
  @H_404_2@
二、在允许数据丢失情况下修复数据库: @H_404_2@
DBCC checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS) @H_404_2@
如果执行一次不行,可以在多执行几次直到没有再提示数据库错误为止。 @H_404_2@
三、把数据库重新设置为多用户模式: @H_404_2@
404_2@
这样这个数据库错误修复就完成了。然后停止掉sqlSERVER,重新启动服务器就可以。 @H_404_2@
这种方法对于一般出现问题可以不用安装企业管理器,直接在服务器用Osql –E 进入数据库,然后通过上面两条命令来修复数据库。这样速度比较快! @H_404_2@
其他人提供的方法: @H_404_2@
一、DBCC CHECKDB : @H_404_2@
SQL查询分析器中执行以下sql进行数据库的修复,修复数据库存在的一致性错误与分配错误。 @H_404_2@
use master @H_404_2@
declare @databasename varchar(255) @H_404_2@
set @databasename='需要修复的数据库名称' @H_404_2@
exec sp_dboption @databasename,N'single',N'true' @H_404_2@
dbcc checkdb(@databasename,REPAIR_REBUILD) @H_404_2@
404_2@
后执行 DBCC CHECKDB('需要修复的数据库名称') 检查数据库是否仍旧存在错误。注意:修复后可能会造成部分数据的丢失。 @H_404_2@
2. DBCC CHECKTABLE  如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。  use 需要修复的数据库实体的名称  declare @dbname varchar(255)  set @dbname='需要修复的数据库实体的名称'  exec sp_dboption @dbname,'true'  dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)  dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)  exec sp_dboption @dbname,'false' @H_404_2@ @H_404_2@
@H_404_2@
@H_404_2@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐