Resolve Corrupted Notification Services Performance Counters (827963)



The information in this article applies to:

  • Microsoft SQL Server 2000 Notification Services 2.0.2114.0
  • Microsoft SQL Server 2000 Notification Services 2.0 SP1

SYMPTOMS

This article discusses the steps to take when Microsoft SQL Server Notification Services performance counters become corrupted. There are several possible reasons for the corruption, including a corrupt entry in the registry and problems in other performance monitor DLLs. This corruption causes your application event log to fill up with error events that are related to the performance counters. Event ID 9057 errors are most commonly logged, and event IDs 4093, 4098, and 5500-5504 errors also occasionally appear.

The following events may be logged in the application event log:
Event IDEvent Description
9057The specified performance counter could not be accessed.
4093The generator quantum performance counters could not be updated.
4098The rule firing notification performance counters could not be updated.
5500An error occurred updating the performance counters for this application. The counters may currently be out of date, but should be updated on the next performance query interval.
5501The performance monitor failed to get event counter values to update the performance counters.
5502The performance monitor failed to get subscription counter values to update the performance counters.
5503The performance monitor failed to get subscriber counter values to update the performance counters.
5504The performance monitor failed to get notification counter values to update the performance counters.

RESOLUTION

To resolve the corrupted SQL Server Notification Services performance counters, you must reregister the Notification Services service on your computer. To do so, follow these steps:
  1. Open a command prompt.
  2. Locate the Bin folder for the Microsoft SQL Server Notification Services service. The typical location of this folder is C:\Program Files\Microsoft SQL Server Notification Services\v2.0.xxxx.x\Bin folder.
  3. Run the following command to stop the SQL Server Notification Services service:
    net stop NS$<Instance_name>
  4. After the SQL Server Notification Services service is successfully stopped, run the following command to unregister the instance of SQL Server Notification Services that is running on your computer:
    nscontrol unregister -name <Instance_name>

    Note You may have to restart your computer before you register the SQL Server Notification Services.
  5. Run the following command to reregister the instance of SQL Server Notification Services:
    nscontrol register -name <Instance_name> -service <Additional arguments>

    Note Specify the same command-line arguments that you specified when you originally registered the instance of SQL Server Notification Services. For example, if you use SQL Server security, you must specify the -sqlusername command-line argument and the -sqlpassword command-line argument. For more information, see the "NSControl Register" in SQL Server Notification Services Books Online.
  6. Run the following command to start the SQL Server Notification Services service:
    net start NS$<Instance_name>

You may have to repeat these steps several times or reboot your computer between running NSControl Unregister and NSControl Register to resolve the problem. If these steps do not stop the entries in the application log, there is a Microsoft .NET Framework fix that might resolve the problem.

If you have the .NET Framework version 1.0 and the .NET Framework version 1.1 installed side-by-side on the affected server, obtain the .NET Framework fix that is detailed in the following article in the Microsoft Knowledge Base:

813350 FIX: "Category Not Found" Error Message When You Run a New Visual Studio .NET Application in a Side-by-Side Environment

After you obtain this fix, follow these steps:
  1. Use the following command to stop each instance of SQL Server Notification Services:
    net stop ns$instance_name
  2. Apply the .NET Framework fix.
  3. Use the following command to restart each instance of SQL Server Notification Services:
    net start ns$instance_name
    

REFERENCES

For more information about how to register SQL Server Notification Services, visit the following Microsoft Web site:For more information about events, visit the following Microsoft Web site:

Modification Type:MajorLast Reviewed:10/28/2003
Keywords:kbEventLog kbCommandLine kbService kbSysAdmin kbhowto KB827963 kbAudDeveloper