使用 SET LOG 语句来将您的数据库日志记录模式从缓冲的事务日志记录更改为未缓冲的事务日志记录,反之亦然。
此语句是对 SQL 的 ANSI/ISO 标准的扩展。与大多数扩展不一样,SET LOG 语句在符合 ANSI 的数据库中是无效的。
当您创建数据库或向现有的数据库添加日志记录时,您激活事务的日志记录。这些事务日志可为缓冲的或未缓冲的。
SET BUFFERED LOG;
未缓冲的日志记录是不在内存缓冲区中保持事务的日志记录。事务一结束,数据库服务器就将事务写到磁盘。当您正在使用未缓冲的日志记录时,如果发生系统故障,则您恢复所有已完成的事务,但不包括仍在缓冲区中的那些。事务日志的缺省条件是未缓冲的日志记录。
SET LOG;
SET LOG 语句仅定义当前会话的模式。数据库管理员以 ondblog 实用程序设置的缺省模式保持不变。
缓冲的选项不影响从外部表的检索。对于分布式查询,带有日志记录的数据库仅可从带有日志记录的数据库检索,但与数据库使用缓冲的还是非缓冲的日志记录无关。
符合 ANSI 的数据库不可使用缓冲的日志记录。
您不可更改符合 ANSI 的数据库的日志记录模式。如果您以 WITH LOG MODE ANSI 关键字创建了数据库,则在后期您不可使用 SET LOG 语句将日志记录模式更改为缓冲的或未缓冲的事务日志记录。