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)
Syntax
'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)
public DataTable EnumPerformanceCounters(
string objectName,
string counterName,
string instanceName
)
public:
DataTable^ EnumPerformanceCounters(
String^ objectName,
String^ counterName,
String^ instanceName
)
member EnumPerformanceCounters :
objectName:string *
counterName:string *
instanceName:string -> DataTable
public function EnumPerformanceCounters(
objectName : String,
counterName : String,
instanceName : String
) : DataTable
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.
- instanceName
Type: System.String
A String value that specifies the instance of SQL Server.
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 Using SQL Server Objects.
Examples
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]
}
}
See Also