我在SOURCE数据库和Sybase ASE上的DESTINATION数据库上运行SPROC的一系列归档查询。我批量或一系列交易运行这些查询,这意味着每笔交易中只会存档n
条记录。
但是,有时Sybase ASE将耗尽日志空间并结束SPROC。
我的问题是:当Sybase ASE耗尽日志空间并结束我的SPROC时,我的事务是否会在“超出日志空间”错误结束我的SPROC时回滚它正在使用的数据?
我知道在“out of log space”错误之前提交的所有事务都是永久性的。但我不确定该事务是否会回滚此错误,我也发现很难对此进行测试。
非常感谢
答案 0 :(得分:1)
这通常取决于各个数据库设置。
如果数据库设置为“Abort Tran on Log Full”,那么当事务日志填满时,事务将被中止/回滚。如果未设置该选项,则数据库将进入“LOG SUSPEND”模式,并将暂停数据库中的所有活动,直到空间被释放或添加到日志中。一旦有可用的日志空间,就可以完成交易。
可以通过发出 sp_helpdb {DBNAME} 命令并查看状态列来找到当前在数据库中设置的标志。 / p>