Details | |
Product: | SQL Server Notification Services |
Event ID: | 8013 |
Source: | NotificationServices |
Version: | 2.0.9999.9 |
Message: | An error occurred while the Vacuumer stored procedure was running. Run the stored procedure to complete the data removal process. |
Explanation | |
An excess of obsolete events, notifications, and quanta in the database leads to performance degradation. This error occurs when vacuuming is overwhelmed by too much obsolete data.
When this event is logged during a scheduled vacuuming interval defined in the ADF, vacuuming is retried up to five times. If this event is logged five times during a vacuuming interval, then there is a problem that must be investigated. The body of the event log entry contains details on the cause of the error. |
|
User Action | |
First check that vacuuming is scheduled during periods of low system activity, such as at night or on the weekend. If the vacuuming schedule is incorrect, update the <vacuumschedule> element in the ADF, and then update the application using NSControl Update.
If the application must remain online and enabled, and therefore cannot be updated, then perform vacuuming manually by running the NSVacuum stored procedure in the application database.</vacuumschedule> |
Category: SQL Server Notification Services
This application is using too many files.
Details | |
Product: | SQL Server Notification Services |
Event ID: | 7408 |
Source: | NotificationServices |
Version: | 2.0.9999.9 |
Message: | This application is using too many files. |
Explanation | |
This error occurs when you define more than 1000 file delivery channels in your configuration file.
In your configuration file you can specify an arbitrary number of delivery channels. Each delivery channel uses one delivery protocol. One standard delivery protocol is the File delivery protocol, which appends notifications to a single big file. Notification Services keeps a running list of files used by the File delivery protocol. This list has a maximum size of 1000 for each instance of Notification Services. |
|
User Action | |
First inform Microsoft of this error. The limit of 1000 files used by the File delivery protocol is a coded limit with this version of Notification Services, but there may be a substantial customer need for a larger limit.
Then consider one or more of the following alternatives: Consolidate some of the files used by the File delivery protocol. If your Notification Services instance has more than one application, each with its own unique files, separate your applications into multiple Notification Service instances. The limit of 1000 files applies to the Notification Services instance, so if you have two instances you can write up to 2000 files, and so on. If you cannot use multiple Notification Services instances, consider writing a custom delivery protocol. Your protocol need not have a limit on the number of files written. For information about how to develop custom components, see Notification Services Books Online. |
Related:
The body format must have the value ‘text’ or ‘html’.
Details | |
Product: | SQL Server Notification Services |
Event ID: | 7304 |
Source: | NotificationServices |
Version: | 2.0.9999.9 |
Message: | The body format must have the value ‘text’ or ‘html’. |
Explanation | |
This error occurs when the SMTP delivery protocol is in use but the BodyFormat field has been given a faulty value in the ADF.
In the /NotificationClasses/NotificationClass/Protocols section of the ADF, each notification class is configured to use one or more delivery protocols. Each delivery protocol uses its own set of fields when delivering a notification. If you use the SMTP delivery protocol, you can optionally specify the BodyFormat field, which tells the SMTP delivery protocol whether the e-mail message body is plain text or HTML. If you do not explicitly specify a value for BodyFormat, the value ‘text’ is used by default. If you do specify a value, it must be either ‘text’ or ‘html’. It looks similar to the following if you want a fixed value across all e-mail messages: <field><fieldname>BodyFormat</fieldname><sqlexpression>’Html'</sqlexpression></field> Or, if you want to vary the BodyFormat value from one message to the next, you can do something similar to this: <field><fieldname>BodyFormat</fieldname><sqlexpression>NotificationBodyFormat</sqlexpression></field> In this case you need to have a field in your <notificationclass> element called NotificationBodyFormat, and this field must have a valid format for each notification.</notificationclass> |
|
User Action | |
First identify the faulty BodyFormat field in the ADF and fix it. Then stop the service, run NSControl Update, and start the service again. |
Related:
The notification could not be formatted by the delivery protocol.
Details | |
Product: | SQL Server Notification Services |
Event ID: | 7242 |
Source: | NotificationServices |
Version: | 2.0.9999.9 |
Message: | The notification could not be formatted by the delivery protocol. |
Explanation | |
This error occurs whenever the custom Http extension protocol implementation throws an exception while preparing the message to be posted. It is thrown by the FormatEnvelope method in the custom protocol.
The event log entry contains the name of the Http protocol. |
|
User Action | |
Debug your custom protocol implementation, looking for errors such as the name of a field specified incorrectly. Add enough information in the exception that you throw from within your custom protocol to help you determine the cause of the problem.
As a last resort, you can attach a debugger to the NSService.exe process and place breakpoints in your custom protocol code. If you did not write the custom protocol, contact the developer of the custom protocol. |
Related:
The protocol provider could not be loaded because the assembly or class name is not valid.
Details | |
Product: | SQL Server Notification Services |
Event ID: | 7241 |
Source: | NotificationServices |
Version: | 2.0.9999.9 |
Message: | The protocol provider could not be loaded because the assembly or class name is not valid. |
Explanation | |
This error occurs when you have a custom Http extension. In the delivery channel section of the instance configuration file, you specify the name of the file containing the implementation of the custom protocol and the class that implements the protocol. If either of these is incorrect, this error is logged.
The event log entry contains the inner exception, which indicates which component was not found, the file containing the protocol or the class. |
|
User Action | |
If the file was not found, ensure that the ProtocolProviderAssemblyName value points to the correct file. If the class was not found, ensure that the name of the class specified in ProtocolProviderClassName has the correct case, and that it has the correct fully qualified class name in the following form:
<namespace>.<classname></classname></namespace> |