【发布时间】:2016-02-28 01:54:24
【问题描述】:
我正在尝试使用以下方法计算我需要的 AZURE SQL 类型:http://dtucalculator.azurewebsites.net/ => http://dtucalculator.azurewebsites.net/Downloads/sql-perfmon.zip
这是一个 PowerShell 脚本,它从 SQL 的某些计数器中获取数据,但在访问当我运行时它在 SQL 中存在的“日志字节刷新/秒”计数器时出错
select * FROM sys.dm_os_performance_counters where counter_name like 'Log Bytes Flushed/sec%'
我从 PowerShell 得到的错误是:
Get-Counter:在计算机上找不到指定的对象。在 C:\users\ringhel\desktop\sql-perfmon.ps1:47 char:1 + Get-Counter -Counter $counters -SampleInterval 1 -MaxSamples 3600 | + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidResult: (:) [Get-Counter],异常 + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand
错误来自这个变量:
$counters = @("\Processor(_Total)\% 处理器时间", "\LogicalDisk(C:)\Disk Reads/sec", "\LogicalDisk(C:)\Disk Writes/sec",
"\LogicalDisk(C:)\Disk Read Bytes/sec", "\LogicalDisk(C:)\Disk Write Bytes/sec", "\SQLSERVER:Databases($DatabaseName)\Log 刷新的字节数/秒")
在网上搜索后,我没有尝试使用 SQLSERVER,而是尝试了 MSSQLSERVER(这是 SQL 服务器的实例名称)、MSSQL'$MSSQLSERVER 和 MSSQL$MSSQLSERVER 但同样的错误。
请帮忙。
【问题讨论】:
-
在服务器上启动 Perfmon 并找到您想要的计数器,您将看到名称、实例名称等...
-
我在服务器上启动了 perfmon,这就是我得到的错误消息,即计数器不存在,即使计数器存在于 sql 中,正如我在描述中指出的那样。
-
我在 perfmon 中找到了计数器,但我仍然得到同样的错误,即使计数器存在
标签: powershell azure azure-sql-database counter azure-performancecounters