Application.SubscriptionThrottle Property

Gets or sets the maximum number of scheduled subscriptions that can be processed during a single generator quantum.

Namespace: Microsoft.SqlServer.Management.Nmo
Assembly: Microsoft.SqlServer.Smo (in microsoft.sqlserver.smo.dll)

Syntax

'Declaration
Public Property SubscriptionThrottle As Integer
public int SubscriptionThrottle { get; set; }
public:
property int SubscriptionThrottle {
    int get ();
    void set (int value);
}
/** @property */
public int get_SubscriptionThrottle ()

/** @property */
public void set_SubscriptionThrottle (int value)
public function get SubscriptionThrottle () : int

public function set SubscriptionThrottle (value : int)

Property Value

An Int32 value that specifies the maximum number of scheduled subscriptions that can be processed during a single generator quantum.

Remarks

Updated text:5 December 2005

Use this property to help guard against an unexpectedly large number of subscriptions entered into the application.

Subscription throttles apply to scheduled rules only, not event-driven rules.

During each quantum, the generator gets the current set of scheduled subscriptions for each subscription class and counts the subscriptions. If the subscription throttle value is exceeded, the generator abandons the quantum.

If you use the Application(Instance,String) constructor, the default value is 1000. If you use the default constructor, you must set this property.

If you set the subscription throttle value to 0, there is no limit to the number of scheduled subscriptions processed from a subscription class during a quantum.

Example

The following examples show how to set all application execution settings, including the subscription throttle:

// Define application execution settings
myApplication.QuantumDuration = new TimeSpan(0, 0, 15);
myApplication.PerformanceQueryInterval = new TimeSpan(0, 0, 5);
myApplication.SubscriptionQuantumLimit = 1;
myApplication.ChronicleQuantumLimit = 1;
myApplication.VacuumRetentionAge = new TimeSpan(0, 0, 1);
myApplication.LogBeforeDeliveryAttempts = false;
myApplication.LogNotificationText = false;
myApplication.LogStatusInfo = false;
myApplication.EventThrottle = 500;
myApplication.NotificationThrottle = 500;
myApplication.SubscriptionThrottle = 500;
myApplication.ProcessEventsInOrder = false;
' Define application execution settings
myApplication.QuantumDuration = New TimeSpan(0, 0, 15)
myApplication.PerformanceQueryInterval = New TimeSpan(0, 0, 5)
myApplication.SubscriptionQuantumLimit = 1
myApplication.ChronicleQuantumLimit = 1
myApplication.VacuumRetentionAge = New TimeSpan(0, 0, 1)
myApplication.LogBeforeDeliveryAttempts = False
myApplication.LogNotificationText = False
myApplication.LogStatusInfo = False
myApplication.EventThrottle = 500
myApplication.NotificationThrottle = 500
myApplication.SubscriptionThrottle = 500
myApplication.ProcessEventsInOrder = False

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

Application Class
Application Members
Microsoft.SqlServer.Management.Nmo Namespace

Other Resources

Specifying Throttles for Events, Subscriptions, and Notifications
SubscriptionThrottle Element (ADF)