SQL 跟踪显示哪些类型的 IO?

SQL 跟踪显示哪些类型的 IO?

它们是物理 IO 还是逻辑 IO?如果是逻辑 IO,是否有办法将其分解为类似于生产服务器的 STATISTICS IO 的方式?

答案1

如果将鼠标悬停在 SQL Profiler 中的列上,您将看到定义:

“执行的逻辑磁盘读取次数...”

您可以从 perfmon 获取物理 IO,然后将数据合并在一起。

它们将位于进程对象下。请务必选择正确的 sqlservr 进程 - 不太确定如何确定 - 也许可以使用 sysinternals 进程资源管理器来查看正在运行的 .exe 文件。然后查看进程 ID 并找出哪个进程先启动。不确定是否发布了较低的数字,并且较新的进程可以获得较低的数字。

您可以在跟踪查看器中合并跟踪和性能文件。文件 > 导入性能数据。

确保在跟踪中获得开始时间,否则我不确定它是否会起作用。您还必须重新打开跟踪,然后导入选项才可用。

答案2

虽然不如从跟踪中获取物理 IO 那么有用,但这篇文章对我有帮助。向您展示如何从 sys.dm_io_virtual_file_stats 获取物理 IO。

http://www.sqlskills.com/BLOGS/PAUL/post/How-to-examine-IO-subsystem-latencies-from-within-SQL-Server.aspx

相关内容