Article ID: 246328 - Last Review: October 2, 2006 - Revision: 6.2 PRB: SQL performance counters may be missing after MDAC installation on a clusterThis article was previously published under Q246328 On This PageSYMPTOMS
On a clustered SQL Server, the SQL performance counters may be missing on the primary node of an active/passive or active/active cluster despite the existence of the SQL counters in the following registry keys:
hklm\software\microsoft\windows nt\current version\perflib\009 hklm\system\currentcontrolset\services\mssqlserver\performance CAUSE
For SQL perfmon counters to show up, the named pipe client-side network libraries, Dbnmpntw.dll and Sqlctr60.dll in the case of SQL Server 6.5 and Sqlctr70.dll in SQL Server 7.0, should be bound to Vernel32.dll, and binding takes place during the SQL cluster installation. On MDAC installation, a new copy of the library is copied to the %windir% folder. Since the %windir% comes first in the Windows NT path variable, the new Dbnmpntw.dll that is not bound to Vernel32.dll is used, and SQL perfmon counters fail to appear. This problem can occur on SQL Server 6.5 and SQL Server 7.0, and most likely after an installation of a new service pack when MDAC is installed first each time.
WORKAROUND
Make sure Dbnmpntw.dll is bound to Vernel32 and Sqlctr70.dll/Sqlctr60.dll are bound to Vernel32.dll and Vdvapi32.dll using "quick view." If not, follow these steps:
SQL Server 7.0:
SQL Server 6.5:
MORE INFORMATION
If the perfmon counters do not appear when SQL Server is clustered, you could uncluster SQL Server to see if they appear when it is unclustered. But if the counters do not appear when they are unclustered, refer to the following article in the Microsoft Knowledge Base: 227662
(http://support.microsoft.com/kb/227662/
)
PRB: SQL Performance Monitor counters missing
SQL Server Performance Counters on Clustered SQL ServersSQL Server Performance Monitor counters for the Virtual Server are not present when SQL Server 7.0 is set up with a virtual SQL Server configuration and the passive node has control of the resources. The counters will not be available again to the primary node until the whole cluster is shutdown and restarted. Even then, availability is sporadic.The SQL Server extension counters must be found when the system initially starts. Since the counters DLL file is located in the \\Mssql\Binn directory for SQL Server 6.5 by default, the counters are never found when the initial system startup takes place because the cluster drive in which SQL Server is installed is not accessible until the MSCS resources are all online. SQL Server 7.0 already places these counters in the %Systemroot%\System32\ directory so that they are available. To make the Sqlctr60.dll file available, place a copy of the Sqlctr60.dll file in the %Systemroot%\System32 directory. The Sqlctr70.dll file is placed in this directory by default. For more information about SQL Server performance counters, click the following article number to view the article in the Microsoft Knowledge Base: 127207
(http://support.microsoft.com/kb/127207/
)
Missing objects and counters in Performance Monitor
WARNING: If you use the following article, read it and compare it to other sections in this Microsoft Knowledge Base article that discuss rebuilding the SQL Server registry entries.
227662
(http://support.microsoft.com/kb/227662/
)
PRB: SQL Performance Monitor counters missing
In summary, performance counters on clustered SQL Servers are not always available. When performance counters are available, they are usually only on the primary node if no failover has occurred.
| Article Translations
|
Back to the top
