今天群里讨论查询是否产生日志,当然在用户数据库里面是不产生的,但是涉及到tempdb的查询呢?
小弟认为是在tempdb产生了日志:
USE tempdb DECLARE @lsn nvarchar(100) SELECT TOP 1 @lsn = [Current LSN] FROM fn_dblog (NULL, NULL) ORDER BY [Current LSN] DESC; select @lsn SELECT * FROM AppServerProcesses.dbo.DB_PerformanceCounter ORDER BY addtime DESC SELECT TOP 100 * FROM fn_dblog (NULL, NULL) WHERE [Current LSN] >= @lsn ORDER BY [Current LSN] DESC; GO
当然运行代码前,先测试一下是否有其他操作会影响tempdb日志
从上图可以看出 Transcation Name 为ExtenDeallocForSort,小弟认为是在tempdb上产生了日志了。
当然引用paul大师的文章佐证:http://www.sqlskills.com/blogs/paul/understanding-data-vs-log-usage-for-spills-in-tempdb/