Microsoft KB Archive/928322

= SQL Server performance counters may not appear when you use System Monitor to monitor the performance counters on a remote computer that is running SQL Server 2000 =

Article ID: 928322

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Personal Edition

-



SYMPTOMS
Consider the following scenario. A remote computer is running Microsoft SQL Server 2000. You run the System Monitor utility (Perfmon.exe) to monitor SQL Server performance counters on the remote computer that is running Microsoft SQL Server 2000. The remote instance of SQL Server 2000 is restarted. In this scenario, SQL Server counters may not appear in System Monitor.

Note You may experience similar behavior after a failover of the instance of SQL Server occurs in a SQL Server 2000 failover clustering environment.



CAUSE
This problem occurs when you perform one of the following actions:
 * You collect the SQL Server performance counter information from a remote server.
 * You specify the virtual server name of a clustering SQL Server.

When you do this, you connect to the Remote Registry service. The Remote Registry service uses the Svchost.exe process. The Remote Registry service runs on a server that is running the remote instance of SQL Server 2000. In this case, the server is a node in the failover clustering environment. Immediately after you connect to the Remote Registry service, the SQL Server performance counter DLL is loaded into the Remote Registry service process. If the remote instance of SQL Server 2000 is not running when the DLL loads, the SQL Server performance counters will be missing. This behavior occurs because the DLL tries to connect to SQL Server. If the connection attempt fails, the DLL stops trying to collect the performance counters.



RESOLUTION
To resolve this problem, follow these steps:
 * 1) Run the Tlist.exe utility or the Tasklist.exe utility together with the –m command-line switch on the target instance of SQL Server or on the cluster node. When you do this, you can determine whether the SQL Server performance counter (Sqlctr80.dll) is loaded in the Svchost.exe process. For example, type one of the following commands at the command prompt:
 * 2) * tlist.exe -m sqlctr80.dll
 * 3) * tasklist.exe -m sqlctr80.dll
 * 4) If Sqlctr80.dll is loaded in the Remote Registry service, make sure that the remote instance of SQL Server is running. Then, recycle the Remote Registry service. To do this, type the following commands at the command prompt:
 * 5) * net stop remoteregistry
 * 6) * net start remoteregistry



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
If SQL Server 2000 is running as a clustering instance, you may specify a SQL Server virtual server name in System Monitor. When you run System Monitor on an active node and then specify the name of the active node in System Monitor, the performance counter DLL is loaded into the System Monitor process. Therefore, the performance counters appear even if they do not appear when you specify the virtual server name.

Keywords: kbtshoot kbprb KB928322

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.