免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3269 | 回复: 10
打印 上一主题 下一主题

清除日志的时候的一个错误,各位帮我看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-28 09:32 |只看该作者 |倒序浏览
系统:win2003
版本:11.9.2

dump tran sale with no_log
出现如下提示:
DUMP TRANSACTION for database 'sale' could not truncate the log. Either extend the log using ALTER DATABASE ... LOG ON command or eliminate the oldest active transaction in database 'sale' shown in syslogshold table.
然后再执行一遍,就没有提示,但等到第二天来还是没有动静
再看Windows的任务管理器,sqlserver只占用了200多k内存,我配置的是256M,而且启动以后也是256M

日志也扩展了2g,还是同样的问题。

请问现在该怎么来清楚日志呢?谢谢!
祝大家新春快乐!

论坛徽章:
0
2 [报告]
发表于 2006-01-30 21:49 |只看该作者
先 select * from master..syslogshold  看看哪个用户占用了sale数据库的log了 kill pid 后就可以dump tran了

论坛徽章:
0
3 [报告]
发表于 2006-02-01 00:35 |只看该作者
先看看吧:
一、你的LOG是不是满了,因为dump transaction也是要记日志的,如果你的LOG满了,那你是不能dump transaction的,只能alter database .... log on .....;
二、您上了RS了么?如果上了RS,检查一下你的RS,是不是有无法复制的事务,如果有的话,那RS的辅助日志截断点是会阻止dump transaction的;
三、象二楼的老兄说的那样,检查是不是死事务阻止dump transaction

论坛徽章:
0
4 [报告]
发表于 2006-02-04 21:45 |只看该作者
我没有装RS,但是有下面这种结果:
dbid   reserved    spid   page        xactid         masterxactid   starttime
        name
------ ----------- ------ ----------- -------------- -------------- --------------------------
       -------------------------------------------------------------------
     5           0      0    10339945 0x000000000000 0x000000000000        Jan  1 1900 12:00AM
        $replication_truncation_point

sale的DBID是5

论坛徽章:
0
5 [报告]
发表于 2006-02-05 08:47 |只看该作者
use sale
go
dbcc settrunc('ltm','ignore')
go

论坛徽章:
0
6 [报告]
发表于 2006-02-05 18:02 |只看该作者
use sale
go
dbcc settrunc('ltm','ignore')
go
后的结果:
dbid   reserved    spid   page        xactid         masterxactid   starttime
         name
------ ----------- ------ ----------- -------------- -------------- --------------------------
        -------------------------------------------------------------------

(0 rows affected)

但是一开始清日志,老问题又出现了。
于是又扩充了2G的日志设备,很快就完成了
但事先已经有6G的日志设备了,而且基本都是空着的,问题虽然解决了,但解决的有些莫名其妙

谢谢楼上各位老大了!

[ 本帖最后由 foxbat 于 2006-2-7 09:46 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2006-02-05 22:28 |只看该作者
兄弟啊,不是太好办啊,从下边您提供的情况看:
dbid   reserved    spid   page        xactid         masterxactid   starttime
        name
------ ----------- ------ ----------- -------------- -------------- --------------------------
       -------------------------------------------------------------------
     5           0      0    10339945 0x000000000000 0x000000000000        Jan  1 1900 12:00AM
        $replication_truncation_point

你的数据库中有一个RS AGENT活动着,您可以试试用如下方法停掉它:
use dbname
go

sp_stop_rep_agent dbname
go

sp_config_rep_agent dbname,'disable'
go

执行后再看看master..syslogshold里是不是还有$replication_truncation_point的进程,如果没有就好办了,否则您就……看来得要重建库表了。

论坛徽章:
0
8 [报告]
发表于 2006-02-06 09:00 |只看该作者
老大,可是我真的没有装RS啊

论坛徽章:
0
9 [报告]
发表于 2006-02-06 21:57 |只看该作者
有时没有装RS也会有这种情况的,譬如你的database是从另一台上了RS的ASE上dump\load过来的,总之都会有些情况会上一个正常的ASE误认为自己有一个RS在活着,先试试我说的办法,如果无效再看看有没有其它的辙了。

论坛徽章:
0
10 [报告]
发表于 2006-02-07 08:40 |只看该作者
怎么会没有辙呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP