Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2008:SQL Server的*数据文件IO计数器*_Sql Server_Performance_Sql Server 2008_Tempdb - Fatal编程技术网

Sql server SQL Server 2008:SQL Server的*数据文件IO计数器*

Sql server SQL Server 2008:SQL Server的*数据文件IO计数器*,sql-server,performance,sql-server-2008,tempdb,Sql Server,Performance,Sql Server 2008,Tempdb,我对SQLServer2008进行了压力测试,我想知道由于使用了临时表和变量,tempdb的数据流是什么 统计信息也显示在活动监视器中: 是否有可能以某种方式记录数据并随后进行分析? 我考虑了两个案例: 记录SQL Server计数器(我不知道它的名称) 从活动监视器记录数据 如果使用性能监视器(perfmon.exe)监视SQL Server计数器,则可以将其配置为登录到.csv文件以在Excel中进行分析(例如) 问题中的性能计数器是SQLServer:Databases下的数据文件大小。

我对SQLServer2008进行了压力测试,我想知道由于使用了临时表和变量,tempdb的数据流是什么

统计信息也显示在活动监视器中:

是否有可能以某种方式记录数据并随后进行分析? 我考虑了两个案例:

  • 记录SQL Server计数器(我不知道它的名称)
  • 从活动监视器记录数据

  • 如果使用性能监视器(perfmon.exe)监视SQL Server计数器,则可以将其配置为登录到.csv文件以在Excel中进行分析(例如)


    问题中的性能计数器是SQLServer:Databases下的数据文件大小。我会将一些定期的“快照”(使用以下DMV)加载到表中,以确定tempDB的内部用法

    sys.all_objects 
    sys.dm_db_file_space_usage
    sys.dm_db_task_space_usage
    

    sys.dm_db_task_space_使用情况将按SPID等细分使用情况。

    写入数据库并不等于磁盘IO的1比1。数据库只更新内存中的脏页,这些脏页稍后由惰性写入程序或在检查点复制到磁盘。写入磁盘的唯一内容是预写日志活动,对于该活动,每个数据库都有一个特定的计数器:。请注意,
    tempdb
    有特殊的日志记录要求,因为它永远不会恢复,所以只需要撤销信息。无论何时脏页被实际刷新,无论是在检查点还是由懒惰的编写器刷新,都有特定的计数器:和。这些不是每个数据库,因为这些活动本身不是“每个数据库”。最后还有虚拟文件stats DMVs:它提供了每个数据库(包括tempdb)的每个文件的IO操作总数和字节数


    您提到您希望度量临时表和表变量的特定影响,但无法将它们与其他tempdb活动(排序后台文件、工作表等)分开。我建议您检查一下,因为它仍然适用于SQL 2008。

    谢谢您的回答,不幸的是,数据文件的大小不是我想要的。我想要数据流(MB/秒读写)。不幸的是,这些视图不提供tempdb的数据流,即MB/秒读写。但一般来说,深入研究DMV是一个好主意,也许他们可能有这些信息。
    select*from sys.fn\u virtualfilestats(db\u id(),null)
    对您有好处吗?