有没有人遇到这个错误“错误:没有有效的计数器”使用类型perf?

时间:2012-03-16 19:08:33

标签: sql-server

在将数据写入SQL数据库时,是否有人使用Error: No valid counters实用程序遇到此错误typeperf。我尝试了各种不同的东西,但每次我尝试使用文件中的计数器在SQL数据库中编写它时,它都会因无效计数器错误而失败。

该命令以下列方式执行:

C:\>typeperf -cf "E:\DBA\CounterCollector\counters_eg.txt" -si 15 -sc 10 -f SQL -o SQL:SQLServerDS!log5

counters_eg.txt文件包含:

"\\<computername>\PhysicalDisk(* *)\Avg. Disk Queue Length"

我可以通过在命令提示符下单独指定计数器来编写SQL数据库。

示例:

C:\Windows\system32>typeperf -f SQL -o SQL:SQLServerDS!log4 "\\<computername>\PhysicalDisk(* *)\Avg. Disk Queue Length"

注意:我已将服务器名称替换为<computername>

7 个答案:

答案 0 :(得分:2)

想出来:

从以下示例开始 https://www.simple-talk.com/sql/performance/collecting-performance-data-into-a-sql-server-table/ 我继续收到相同的错误消息&#34;错误:没有有效的计数器&#34;。 counter.txt与Feodor提供的示例完全相同,但是当我将计数器名称单独放在命令行上时,它们会被成功处理。我遇到的问题是当我尝试运行整个语法时。 而不是使用Feodor使用的东西: &#34; TYPEPERF -f SQL -s ALF -cf“C:\ CounterCollect \ Counters.txt”-si 15 -o SQL:SQLServerDS!log1 -sc 4&#34;, 我稍微调整了一下(在看了http://technet.microsoft.com/en-us/library/cc753182.aspx的第二个例子后),最后它工作了!这是切换参数的问题。

在跟随Feodor的演示之后,我使用了以下语法,它对我有用。我正在使用SQL Server 2012,这是命令:

TYPEPERF -cf "C:\PerfMonCollect\Counters.txt" -si 5 -sc 4 -f SQL -o SQL:SQLdatasource!log1".

答案 1 :(得分:1)

包括双重'%%',即

typeperf "\\<remote-IP>\Process(*)\%% Processor Time" -sc 1

答案 2 :(得分:1)

您的柜台清单可能已损坏。运行 perfmon GUI工具,确保您能够看到那里的计数器。

答案 3 :(得分:0)

确保您的文件名正确无误。 counters.txt NOT counters.txt.txt。显示扩展名然后检查文件名。此外,您可以尝试运行RUN命令并将目标粘贴到文本文件中,看看它是否有效。 我有同样的问题,它让我疯狂。

答案 4 :(得分:0)

我现在遇到此错误,并通过将运行typeperf的用户添加到发生错误的服务器上的本地管理员组来解决此问题。

答案 5 :(得分:0)

我在具有管理员权限的服务器(Windows Server 2012 R2)上收到此错误,我必须手动构建性能计数器,并且已对其进行排序。这是链接https://support.microsoft.com/en-us/help/2554336/how-to-manually-rebuild-performance-counters-for-windows-server-2008-6

答案 6 :(得分:-2)

问题是文件应该只包含文件名,而不包含"引号。

从计数器列表中删除所有"为我解决了这个问题。