PRB: "Event ID (1001) in Source (SQLCTR70) Could Not Be Found" (196657)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q196657

SYMPTOMS

You may find the following error message in the Windows NT event log:
The description for Event ID (1001) in Source (SQLCTR70) could not be
found. It contains the following insertion string(s): Specified counter
not found in shared memory..

This may indicate problems with the SQL Server 7.0 Performance Monitor counters.

WORKAROUND

To work around this problem, you must remove and reinstall the SQL Server 7.0 Performance Monitor counters. To do this, perform the following steps:
  1. Open a command prompt.
  2. Run the following command to unload the SQL Server 7.0 Performance Monitor counters:

    unlodctr mssqlserver

  3. Close and re-open Performance Monitor; the SQL Server counters should now have been removed from the object list.
  4. Run the following command from the command prompt to load the SQL Server 7.0 Performance Monitor counters again:

    lodctr c:\mssql7\binn\sqlctr.ini

  5. Close and re-open Performance Monitor; the SQL Server 7.0 counters should now appear in the object list.
  6. If the SQL Server 7.0 counters still do not appear in the object list, close Performance Monitor and stop SQL Server 7.0. Then restart SQL Server 7.0 and open Performance Monitor again.

MORE INFORMATION

For more information on the lodctr command, type the following from a command prompt:

c:\mssql7\binn\lodctr \?


For more information on the unlodctr command, type the following from a command prompt:

c:\mssql7\binn\unlodctr \?


Also note that when SQL Server is not running, the SQL Server counters are not available. This is by design, because any instance names, and so on, are not known when SQL Server is not running.

SQL Server Performance Counters on Clustered SQL Servers

SQL 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 Sqlctr65.dll file available, place a copy of the Sqlctr65.dll file in the %Systemroot%\System32 directory. The Sqlctr70.dll file is placed in this directory by default.

For additional information about SQL Server performance counters, click the article numbers below to view the articles in the Microsoft Knowledge Base:

127207 Missing Objects and Counters in Performance Monitor

246328 PRB: SQL Performance Counters May be Missing After MDAC Installation on a Cluster

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 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.

Modification Type:MinorLast Reviewed:3/14/2005
Keywords:kbprb KB196657