Thursday, January 22, 2009

Performance counter shared memory setup failed with error -1. Reinstall sqlctr.ini for this instance, and ensure that the instance login account has c

Another Error Encountered and Solution to that....

Error Message Logged During SQL Server Startup:
Performance counter shared memory setup failed with error -1. Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions.

Error in mapping SQL Server performance object/counter indexes to object/counter names. SQL Server performance counters are disabled.

Solution 1:
This is a typical error when you change the service account of sqlserver to a new account.
The following rights need to be added (manualy) to the new account via Local security Policy:
Log on as Service
Log on as a batch job
Locks pages in memory
Act as part of the operating system
Bypass traverse checking
Replace a process level token

Note1: Being local administrator on the machiene is not enough
Note2: For a non local administrator you also need access to read the registry and read-write access on all sql server files
Note3: If you fill in the correct sql service account in the installation procedure, all this is done automatically.
Note4: When the service account is changed using SQL Configuration Manager, all this is done automatically.

Solution 2:
Reinstalling SQL Server counters using unlodctr/lodctr may fix the problem but there is no guarantee for success. The following article describes how to manually rebuild your performance counter library values:
http://support.microsoft.com/?kbid=300956

Solution 3:
Had a similar situation and found the Remote Registry Service must be running while SQL Server is loading.

No comments:

Post a Comment

Please do not spam!