>

다음을 사용하여 필요한 AZURE SQL 유형을 계산하려고합니다. http://dtucalculator.azurewebsites.net/ =>http://dtucalculator.azurewebsites.net/Downloads/sql-perfmon .zip

이것은 SQL에서 일부 카운터에서 데이터를 가져 오는 PowerShell 스크립트이지만 "Log Bytes Flushed/sec"카운터에 액세스 할 때 오류가 발생하여 실행할 때 SQL에 중요합니다

select *  FROM sys.dm_os_performance_counters where counter_name like 'Log Bytes Flushed/sec%'

PowerShell에서 발생하는 오류는 다음과 같습니다.

Get-Counter : The specified object was not found on the computer. At 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)\% Processor Time", "\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 Bytes Flushed/sec")

웹을 검색 한 후 SQLSERVER 대신 MSSQLSERVER (SQL 서버의 인스턴스 이름), MSSQL '$MSSQLSERVER 및 MSSQL $MSSQLSERVER를 시도했지만 동일한 오류가 발생했습니다.

도움을주세요.

  • 답변 # 1

    문제가 발견되었습니다. LocalMachine의 실행 정책을 RemoteSigned로 설정해야했습니다. 정의되지 않았습니다.

    Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

  • 답변 # 2

    제 문제는 약간 다릅니다. 명명 된 인스턴스의 경우 다음과 같이 SQL Server 카운터를 정의해야합니다.

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

    인스턴스 이름은 "SQL2016"입니다. 등 진드기는 $ 를 탈출  인스턴스 이름에

  • 이전 R - 아르 자형 - 단어 목록에서 문자열의 정확한 일치를 계산 한 다음 단어 당 점수를 사용하여 전체 감정을 계산
  • 다음 Outlook VBA - outlook vba - 두 언어 언어 간을 전환하는 방법