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多。