I ran across a gentleman in one of the DPM forums that needed a way to turn on throttling across hundreds and hundreds of DPM agents. It is not feasible to turn this on via the DPM admin console agent by agent as this would require a lot of time to do. I am going to detail a way to throttle multiple DPM agents at the same time cutting the time down to a few minutes.
Throttling is used to ensure bandwidth used by DPM agents does not clog the network so that the bandwidth is available to applications on the network.
Here is the standard process for turning on throttling in DPM:
http://technet.microsoft.com/en-us/library/ff399035.aspx
In DPM Administrator Console, click Management on the navigation bar.
Click the Agent tab, and then select the computer for which you want to configure network bandwidth usage throttling.
In the Actions pane, click Throttle computer.
In the Throttle dialog box, select Enable network bandwidth usage throttling.
Select Throttle Settings and Work Schedule for the computer.
Here is the process to throttle multiple DPM agents at once:
SELECT [InstallID]
,[ServerId]
,[AgentID]
,[OSType]
,[RebootRequired]
,[Deleted]
,[DeletedDateTime]
,[ClusterID]
,[Enabled]
,[PatchID]
,[IsThrottled]
,[WorkHoursTransmissionRate]
,[NonWorkHoursTransmissionRate]
,[ThrottlingSettings]
,[OSVersion]
,[ServerAttributes]
,[IsServerOS]
,[ApprovedPatchByAdmin]
FROM [DPMDB].[dbo].[tbl_AM_InstalledAgent]
GO
The results should look similar to this:
DECLARE @w int
SET @w = (SELECT [WorkHoursTransmissionRate] from tbl_AM_InstalledAgent WHERE InstallID = ‘2083CDAA-2872-4D2D-BAEA-ADF033021EB9′)
DECLARE @n int
SET @n = (SELECT [NonWorkHoursTransmissionRate] from tbl_AM_InstalledAgent WHERE InstallID = ‘2083CDAA-2872-4D2D-BAEA-ADF033021EB9′)
DECLARE @t nvarchar(max)
SET @t = (SELECT [ThrottlingSettings] from tbl_AM_InstalledAgent WHERE InstallID = ‘2083CDAA-2872-4D2D-BAEA-ADF033021EB9′)
UPDATE [DPMDB].[dbo].[tbl_AM_InstalledAgent]
SET
[IsThrottled] = 1
,[WorkHoursTransmissionRate] = @w
,[NonWorkHoursTransmissionRate] = @n
,[ThrottlingSettings] = @t
GO
INFO: This query is going to update all the other agents in the tbl_AM_InstalledAgent table with the throttle settings of the agent who’s InstallID you copied.
NOTE: If you throttle multiple agents in DPM using this method it is not supported. That does not mean this will not work, it simply means that it has not been tested by Microsoft and therefore cannot be supported. Use this at your own risk.
Special thanks to MVP’s Islam Gomaa, Flemming Riis for helping me track down this solution and thanks to my wife for helping me with SQL.