互联网解决方案咨询

梦想有多大路就会有多远:作一颗IT量子
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WINDOWS服务器安全-数据库服务器爆了

Posted on 2009-12-18 12:06  互联网粒子  阅读(349)  评论(1编辑  收藏  举报

2009-12-18号,10.30左右,用户不能登陆,初步情况是调用登录模块超时,为了友好界面先把ERROR屏掉,一直没找到具体原因

把IIS重启还是不行。最后把LOG显示出来才知道用户访问数据库失败。打开查询分析器发现数据库根本打不开,只能看到数据库的名字。

接着折腾,还让问天同学看了下,最后没办法,只能把它删掉,重新加进来,因为LOG文件太大,试过新建新数据加载单个MDF文件但是失败,

最后还是用数据库管理工具的附加数据库附加进来,偶的神,附加过程用了10分钟,数据库服务器上的数据库太多了,体积很肿 。

接下来把LOG压缩,了事,先告一段,还有其它的数据库也有类似的情况,不知道是什么原因造成,数据库文件不能在管理器中访问,DBMS基本没访问存在的数据库文件

后来直接把用户数据库删除,注意不要删除数据库文件,只是删除库,然后再手工把用户数据库加附加到。 过一会儿就好了,怪事。。。。。

很晕。后来查了下好像执行了EXEC sp_change_users_login 'Auto_Fix'再后来就好了。怎么好的也不知道。

但压缩LOG很管用。

压缩数据库日志
--1.清空日志
exec('DUMP TRANSACTION ['+@dbname+'] WITH  NO_LOG')
--2.截断事务日志:
exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')

执行这二步,把我的LOG从12G直接到1G多。