Application.LogBeforeDeliveryAttempts Property

Gets or sets a Boolean value that specifies whether the distributor makes an entry in the distribution log before delivering a notification.

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

Syntax

'Declaration
Public Property LogBeforeDeliveryAttempts As Boolean
public bool LogBeforeDeliveryAttempts { get; set; }
public:
property bool LogBeforeDeliveryAttempts {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_LogBeforeDeliveryAttempts ()

/** @property */
public void set_LogBeforeDeliveryAttempts (boolean value)
public function get LogBeforeDeliveryAttempts () : boolean

public function set LogBeforeDeliveryAttempts (value : boolean)

Property Value

true if pre-delivery logging is enabled; otherwise false.

Remarks

Updated text:5 December 2005

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

When this property is true, Notification Services creates a row for each notification in the NSDistributionLog table before sending the notification. The distributor then logs pre-delivery information, including the notification ID, notification class, distributor, and delivery request time.

Notification logging has a negative impact on application performance because Notification Services logs information one notification at a time. Unless you use notification log data for all notifications, set this value to false. Notification Services still logs notification text and status for failed notifications.

To view log data, use the NS<NotificationClassName>NotificationDistribution View.

Example

The following examples show how to set all application execution settings, including logging behavior:

// 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
LogStatusInfo
LogNotificationText

Other Resources

Configuring Distributor Logging
LogBeforeDeliveryAttempts Element (ADF)