PowerShell获取SQL Server的计数器

时间:2016-04-05 15:49:39

标签: sql-server powershell

我尝试运行this PowerShell脚本来获取计数器。

[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:数据库($ DatabaseName)\ Log Bytes Flushed / sec"

有人可以提示我如何使用凭证进入特定实例?

1 个答案:

答案 0 :(得分:0)

我看到您正在尝试从命令提示符运行PowerShell脚本。

确保您在托管SQL数据库的计算机上执行此操作。

您需要在计算机上以管理方式打开PowerShell,或者如果您已经打开了管理命令提示符,请键入" powershell"进入它。

您可以在为$DatabaseName指定字符串之后将所有代码粘贴到当前主机中,或者只将dot-source .脚本粘贴到脚本中并将$DatabaseName作为参数传递到脚本中。

如果你不确定这是什么意思,请看看 有关开始使用PowerShell的更多信息,请https://technet.microsoft.com/en-us/library/dn425048.aspx