Get-DbaNetworkActivity
View SourceSynopsis
Retrieves real-time network traffic statistics for all network interfaces on SQL Server host computers.
Description
Retrieves current network activity metrics including bytes received, sent, and total throughput per second for every network interface on target computers. This function helps DBAs monitor network performance and identify bandwidth bottlenecks that could impact SQL Server performance, especially during large data transfers, backup operations, or heavy replication traffic.
The function queries Windows performance counters via CIM/WMI and displays bandwidth utilization alongside interface capacity (10Gb, 1Gb, 100Mb, etc.) to quickly identify saturated network links. Essential for troubleshooting connectivity issues, monitoring backup network performance, or validating network capacity before major data migration operations.
Requires Local Admin rights on destination computer(s).
Syntax
Get-DbaNetworkActivity
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-EnableException]
[<CommonParameters>]
Examples
Example: 1
PS C:\> Get-DbaNetworkActivity -ComputerName sqlserver2014a
Gets the Current traffic on every Network Interface on computer sqlserver2014a.
Example: 2
PS C:\> 'sql1','sql2','sql3' | Get-DbaNetworkActivity
Gets the Current traffic on every Network Interface on computers sql1, sql2 and sql3.
Example: 3
PS C:\> Get-DbaNetworkActivity -ComputerName sql1,sql2
Gets the Current traffic on every Network Interface on computers sql1 and sql2.
Optional Parameters
-ComputerName
Specifies the computer names or SQL Server instances to monitor network activity.
Function extracts the computer name from full instance names and resolves them to fully qualified domain names.
Defaults to the local computer when not specified.
| Property | Value |
|---|---|
| Alias | cn,host,Server |
| Required | False |
| Pipeline | true (ByValue) |
| Default Value | $env:COMPUTERNAME |
-Credential
Credential object used to connect to the computer as a different user.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value |
-EnableException
By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with “sea of red” exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this “nice by default” feature off and enables you to catch exceptions with your own try/catch.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value | False |
Outputs
Win32_PerfFormattedData_Tcpip_NetworkInterface
Returns one object per network interface found on the target computer(s).
Default display properties (via Select-DefaultView):
- ComputerName: The name of the computer containing the network interface
- NIC: The name of the network interface (alias for Name property)
- BytesReceivedPersec: Bytes received per second on this interface (numeric value)
- BytesSentPersec: Bytes sent per second on this interface (numeric value)
- BytesTotalPersec: Total bytes per second (received + sent) on this interface (numeric value)
- Bandwidth: Human-readable interface bandwidth capacity (10Gb, 1Gb, 100Mb, 10Mb, 1Mb, 100Kb, or Low)
Additional properties available (from Win32_PerfFormattedData_Tcpip_NetworkInterface):
- CurrentBandwidth: Numeric bandwidth in bits per second (used to calculate display Bandwidth)
- OutputQueueLength: Queue length for outbound data
- PacketsReceivedPersec: Number of packets received per second
- PacketsSentPersec: Number of packets sent per second
- PacketsOutboundErrors: Number of transmission errors
- PacketsReceivedErrors: Number of receive errors
- PacketsReceivedDiscarded: Number of received packets discarded
- PacketsOutboundDiscarded: Number of transmitted packets discarded All properties from the base WMI object are accessible using Select-Object *.
dbatools