2016-04-05 6 views
2

私は実行しようとしましたthisカウンタを取得するPowerShellスクリプト。PowerShell SQL Serverのカウンタ取得

[CmdletBinding()] 
param (
    [Parameter(Mandatory = $true)] 
    [String] 
    $DatabaseName 
) 

$ErrorActionPreference = "Stop" 
$VerbosePreference = "Continue" 

cls 

Write-Output "Collecting counters..." 
Write-Output "Press Ctrl+C to exit." 

$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") 

Get-Counter -Counter $counters -SampleInterval 1 -MaxSamples 3600 | 
    Export-Counter -FileFormat csv -Path "C:\sql-perfmon-log.csv" -Force 

しかし、スクリプトを実行したときにエラーが発生しました。

screenでのエラー。

私はエラーが中に発生判明は「\のSQLServer:データベース($データベース名)\ログバイトフラッシュし/秒」

誰かが私が資格情報を使用して、おそらく特定のインスタンスを入力することができますどのように私を促すことができますか?

答えて

0

コマンドプロンプトからpowershellスクリプトを実行しようとしています。

SQLデータベースがホストされているマシンでこれを実行していることを確認してください。

あなたのコンピュータで管理者権限でPowerShellを開くか、すでに管理コマンドプロンプトが開いている場合は、「powershell」と入力する必要があります。

$DatabaseNameの文字列を指定するか、.のドット・ソースをスクリプトに指定して、スクリプトにパラメータとして$DatabaseNameを渡した後、すべてのコードを現在のホストに貼り付けることができます。

どのような意味があるのか​​わからない場合は、powershellの使い方の詳細については、 https://technet.microsoft.com/en-us/library/dn425048.aspxをご覧ください。

関連する問題