Server.EnumPerformanceCounters Method (String, String)
SQL Server 2012
Enumerates a list of performance counters that are supported by the instance of SQL Server for a specified object and specified counter.
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
'Declaration Public Function EnumPerformanceCounters ( _ objectName As String, _ counterName As String _ ) As DataTable 'Usage Dim instance As Server Dim objectName As String Dim counterName As String Dim returnValue As DataTable returnValue = instance.EnumPerformanceCounters(objectName, _ counterName)
Parameters
- objectName
- Type: System.String
A String value that specifies the object on which to limit the results.
- counterName
- Type: System.String
A String value that specifies the counter name on which to limit the results.
Return Value
Type: System.Data.DataTableA 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 | The name of the performance counter object. The SqlServer.ExecStatistics object, for example. | |
CounterName | The name of the performance counter. The Distributed Query counter, for example. | |
InstanceName | 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]
}
}