我正在尝试将一些值插入到SQL数据库中,但不断收到错误"Transaction Log for database is full“。
我在网上查看了一下,有些人建议更频繁地提交工作。我所做的比没有改变的要好。
我没有更改数据库服务器的权限。这是客户端的问题还是服务器的问题?如果由于客户原因,解决方案是什么?
发布于 2011-11-06 13:13:40
这是一个服务器端的问题,您应该将消息转发给DBA团队。
发布于 2011-11-06 18:26:08
您可能会得到错误代码SQL0964,不是吗?
您可能会在数据库中有大量活动时执行DML语句,并收到此消息,因为您的语句超过了日志大小限制。
并发事务已经使用了所有可用的日志(主要和次要),无法在日志中写入您的句子。
此外,如果数据库有归档日志方法,则可能是文件系统已满,数据库无法归档活动日志,从而阻止您在事务日志中写入语句。
这些情况都可以由您的DBA团队解决。您只能通过更频繁地执行提交来更改插入行的方式(如果当前的提交是每500行,则尝试每100行提交一次,类似这样)
有关该问题的更多信息,请访问:http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql00964c.html
https://stackoverflow.com/questions/8025344
复制相似问题