Счетчик SQL "Log Bytes Flushed/sec" от PowerShell Error

Я пытаюсь рассчитать тип AZURE SQL, который мне нужен, используя это: http://dtucalculator.azurewebsites.net/ => http://dtucalculator.azurewebsites.net/Downloads/sql-perfmon.zip

Это сценарий PowerShell, который получает данные от некоторых счетчиков из SQL, но выдает ошибки при доступе к счетчику "Log Bytes Flushed/sec", который присутствует в 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], Exception + FullyQualifiedErrorId: CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand

Ошибка исходит из этой переменной:

$ counters = @ ("\ Processor (_Total) \% времени процессора", "\LogicalDisk(C:)\ Чтение диска / сек", "\LogicalDisk(C:)\ Запись на диск / сек",

"\ LogicalDisk (C:) \ Disk Read Bytes / sec", "\LogicalDisk(C:)\ Disk Write Bytes / sec", "\ SQLSERVER: Базы данных ($DatabaseName)\Log Fatased/sec")

После поиска в Интернете вместо SQLSERVER я попытался использовать MSSQLSERVER (это имя экземпляра SQL-сервера), MSSQL'$MSSQLSERVER и MSSQL$MSSQLSERVER, но с той же ошибкой.

Пожалуйста помоги.

1 ответ

Нашел проблему. Мне пришлось установить политику выполнения для LocalMachine на RemoteSigned. Это было не определено.

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Моя проблема была немного другой. Для именованного экземпляра мне пришлось определить счетчик SQL Server следующим образом:

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

Мой экземпляр был назван "SQL2016". Обратный клещ ускользает от$ в имени экземпляра.

Другие вопросы по тегам