1

我正在 SOURCE 数据库上的 SPROC 和 Sybase ASE 上的 DESTINATION 数据库上运行一系列归档查询。我分批或在一系列事务中运行这些查询,这意味着n每个事务中只会归档一些记录。

但是,有时 Sybase ASE 会用完日志空间并结束 SPROC。

我的问题是:当 Sybase ASE 用完日志空间并结束我的 SPROC 时,我的事务是否会回滚在“日志空间不足”错误结束我的 SPROC 时正在使用的数据?

我知道在“日志空间不足”错误永久存在之前提交的所有事务。但我不确定事务是否会在此错误上回滚,而且我也很难对此进行测试。

非常感谢

4

1 回答 1

1

这通常取决于各个数据库设置。

如果数据库设置为“Abort Tran on Log Full”,那么当事务日志填满时,事务将被中止/回滚。如果未设置该选项,则数据库将进入“LOG SUSPEND”模式,并将暂停数据库中的所有活动,直到空间被释放或添加到日志中。一旦日志空间可用,事务将被允许完成。

可以通过发出sp_helpdb {DBNAME}命令并查看状态列来找到当前在数据库中设置的标志。

于 2013-02-15T14:42:14.477 回答