2016-04-05 4 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: Базы данных ($ Databasename) \ Log Bytes Flushed/сек»

Может кто-нибудь подскажет мне, как я могу ввести конкретный экземпляр, вероятно, с учетными данными?

ответ

0

Я вижу, что вы пытаетесь запустить сценарий powershell из командной строки.

Убедитесь, что вы делаете это на машине, на которой размещены ваши базы данных SQL.

Вам необходимо либо открыть PowerShell административно на вашем компьютере, либо если у вас уже есть приглашение командной строки администратора, введите в него «powershell».

Вы можете либо вставить весь код в текущий хост после указания строки для $DatabaseName или просто точка-источник . сценария и передать $DatabaseName в качестве параметра в сценарий.

Если вы не знаете, что это значит, посмотрите на https://technet.microsoft.com/en-us/library/dn425048.aspx для получения дополнительной информации о начале использования powershell.

Смежные вопросы