有没有办法判断sql查询是否发生了最小日志记录?

时间:2013-10-25 16:08:32

标签: sql-server

我一直在使用此页面告诉我哪些插入选项应该而且不应该导致最少的日志记录:http://technet.microsoft.com/en-us/library/dd425070(v=sql.100).aspx

有没有办法验证运行查询后是否实际发生了最小日志记录?

1 个答案:

答案 0 :(得分:0)

当然,您可以使用fn_dblog() 1 根据AllocUnitName阅读相关日志记录,并根据行数和[log record size]进行有根据的猜测值。因此,执行您的操作(例如,在dbo.mytable的目标表上),然后检查以下结果:

SELECT Operation, Context, [log record length]
  INTO #foo
  FROM sys.fn_dblog(null, null) 
  WHERE allocunitname = N'dbo.MyTable';

然后查询您在#foothe sort operator you will typically see, as in this MSDN blog post中找到的数据,使此查询非常昂贵且耗时。)

Log Record和五个RowLog Contents x列可能也很有趣,但不确定您希望将多少工作用于逆向工程。

  

1。此功能不受支持且未记录。