Export (0) Print
Expand All

Server.EnumPerformanceCounters Method (String, String, String)

Enumerates a list of performance counters that are supported by the instance of SQL Server for a specified object, for a specified counter, and on the specified instance of SQL Server.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

'Declaration
Public Function EnumPerformanceCounters ( _
	objectName As String, _
	counterName As String, _
	instanceName As String _
) As DataTable
'Usage
Dim instance As Server 
Dim objectName As String 
Dim counterName As String 
Dim instanceName As String 
Dim returnValue As DataTable 

returnValue = instance.EnumPerformanceCounters(objectName, _
	counterName, instanceName)

Parameters

objectName
Type: String
A String value that specifies the object on which to limit the results.
counterName
Type: String
A String value that specifies the counter name on which to limit the results.
instanceName
Type: String
A String value that specifies the instance of SQL Server.

Return Value

Type: DataTable
A DataTable object value that contains a list of performance counters supported by the instance of SQL Server. The table describes the different columns of the returned DataTable.

Column

Data type

Description

ObjectName

String

The name of the performance counter object. The SqlServer.ExecStatistics object, for example.

CounterName

String

The name of the performance counter. The Distributed Query counter, for example.

InstanceName

String

The name of the measurement to be taken. The Exec started per second instance, for example.

This method enumerates all the performance counters available in SQL Server that you could use to create a performance alert. You can also see the performance counters listed in Use SQL Server Objects.

C#

Server srv = new Server("(local)");

DataTable d = srv.EnumPerformanceCounters("SqlServer:CLR", "CLR Execution", "");
foreach (DataRow r in d.Rows)
{
   Console.WriteLine("============================================");
   foreach(DataColumn c in d.Columns)
   {
      Console.WriteLine(c.ColumnName + " = " + r[c].ToString());
   }
}

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")

$d = $srv.EnumPerformanceCounters("SqlServer:CLR", "CLR Execution", "")
foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft