处变不惊,处忧不虑,不争一年的兴衰,但看十年的功过。笑中千关过,愁内百事哀,挣胜是祸,繁华似梦,平淡是福。

  IT博客 :: 首页 :: 联系 :: 聚合  :: 管理
  65 Posts :: 1 Stories :: 24 Comments :: 0 Trackbacks
修复数据库出现一致性错误和分配错误方法 一些数据库服务器在使用中有时由于非正常关闭或重新启动服务器,可能会发生数据库错误,目前我们的方法基本上是把数据库导入到另外一个空数据库中来修复。这种方法是可以修复成功的,但是耗时比较长。

对于一些比较简单的数据库错误(比较少的一致性错误和非配错误)我们可以通过如下方法来修复数据,这样操作更快.注意:在做任何数据库操作前请一定注意备份数据库。并把其它使用数据库的应用程序停止掉,只启动SQLSERVER服务。

第一步:在服务器上,使用命令行 运行OSQL –E 命令进入数据库,

第二步:选择所使用的数据库(DbName),并检查该数据库是否存在错误。 从检查图中我们可以看到该数据库存在4个分配错误和1个一致性错误。 (注:DbName--为你实际要处理 的数据库.)

第三步:发现错误后我们要开始修复,所使用语句下:sp_dboption 'DbName', 'single user', 'true'--把数据库置为单用户模式DBCC checkdb('DbName',REPAIR_ALLOW_DATA_LOSS)--在允许数据丢失情况下修复数据库。 如果DBCC checkdb('DbName',REPAIR_A LLOW_DATA_LOSS)语句执行一次不行,可以在多执行几次直到没有再提示数据库有错误为止。

第四步:检查没有错误后,把数据库重新设置为多用户模式sp_dboption 'local', 'single user', 'false'--设置为多用户模式 这样这个数据库的错误修复就完成了 。然后停止掉SQLSERVER,重新启动服务器就可以.这种方法对于一般出现问题可以不用安装企业管理器。直接在服务器用OSQL –E 进入数据库。然后通过上面两条命令来修复数据库。这样速度比较快。





摘自http://blog.csdn.net/yang_141/archive/2008/03/27/2221717.aspx
只有注册用户登录后才能发表评论。