今天群里讨论查询是否产生日志,当然在用户数据库里面是不产生的,但是涉及到tempdb的查询呢?
小弟认为是在tempdb产生了日志:
USE tempdbDECLARE @lsn nvarchar(100)SELECT TOP 1 @lsn = [Current LSN]FROM fn_dblog (NULL, NULL) ORDER BY [Current LSN] DESC;select @lsnSELECT * FROM AppServerPRocesses.dbo.DB_PerformanceCounter ORDER BY addtime DESCSELECT 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/
新闻热点
疑难解答