来自电源外壳错误的 SQL "Log Bytes Flushed/sec"计数器



我正在尝试使用以下方法来计算我需要的 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得到的错误是:

获取计数器:在计算机上找不到指定的对象。在 C:\users\ringhel\desktop\sql-perfmon.ps1:47 char:1 + 获取计数器 -计数器$counters -采样间隔 1 -最大样本 3600 | + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 类别信息 : 无效结果: (:)[获取计数器],异常 + FullQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Command.GetCounterCommand

错误来自此变量:

$counters = @("\处理器(_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 刷新的字节数/秒")

在搜索网络后,我尝试了MSSQLSERVER(这是SQL服务器的实例名称),MSSQL'$MSSQLSERVER和MSSQL$MSSQLSERVER,而不是SQLSERVER,但相同的错误。

请帮忙。

发现了问题。我必须将本地计算机的执行策略设置为远程签名。它是未定义的。

设置-执行策略远程签名 -范围本地计算机

我的问题略有不同。 对于命名实例,我必须像这样定义 SQL Server 计数器:

MSSQL`$SQL2016:Databases(_Total)Log Bytes Flushed/sec

我的实例名为"SQL2016"。 反引号转义实例名称中的$

最新更新