Server.EnumPerformanceCounters Method (String)
Enumerates a list of performance counters that are supported by the instance of SQL Server for a specified object.
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
Syntax
'Declaration
Public Function EnumPerformanceCounters ( _
objectName As String _
) As DataTable
'Usage
Dim instance As Server
Dim objectName As String
Dim returnValue As DataTable
returnValue = instance.EnumPerformanceCounters(objectName)
public DataTable EnumPerformanceCounters(
string objectName
)
public:
DataTable^ EnumPerformanceCounters(
String^ objectName
)
member EnumPerformanceCounters :
objectName:string -> DataTable
public function EnumPerformanceCounters(
objectName : String
) : DataTable
Parameters
- objectName
Type: System.String
A String value that specifies the object on which to limit the results.
Return Value
Type: System.Data.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 |
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. |
Remarks
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.
Examples
C#
Server srv = new Server("(local)");
DataTable d = srv.EnumPerformanceCounters("SqlServer:CLR");
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")
foreach ($r in $d.Rows)
{
Write-Host "============================================"
Foreach ($c in $d.Columns)
{
Write-Host $c.ColumnName "=" $r[$c]
}
}
See Also
Reference
EnumPerformanceCounters Overload
Microsoft.SqlServer.Management.Smo Namespace