An access violation error message is logged in the SQL Server error log after you upgrade to SQL Server 2008: "Access Violation occurred reading address 00000000"

SYMPTOMS
After you upgrade an existing installation of Microsoft SQL Server to Microsoft SQL Server 2008, one or more SQL databases may not start. Additionally, SQL Server logs the following access violation error message in the SQL Server error log file:
* Exception Address = 7C82F5B4 Module(ntdll+0002F5B4)
* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
* Access Violation occurred reading address 00000000
CAUSE
This problem occurs if the discretionary access control list (DACL) for the SQL database file is not compressed and contains a blank space that is large enough to contain an access control entry (ACE).
RESOLUTION
To resolve this problem, use Windows Explorer to change the file permissions for each SQL database file that encounters the problem that is mentioned in the "Symptoms" section. When you apply changes to the file permissions for the SQL database file, Windows Explorer compresses the DACL. When the DACL is compressed, blank spaces are removed.

For example, you can change the file permissions for a SQL database file by adding a new user, applying file permissions to the new user, and then removing the new user. To do this, follow these steps:
  1. Open Windows Explorer. To do this, click Start, point to All Programs, point to Accessories, and then click Windows Explorer.
  2. Locate the SQL database file that you want to change the file permissions.
  3. Right-click the SQL database file, click Properties, and then click the Security tab.
  4. To add a new user and apply file permissions to the new user, click Add. Type the name of the user for whom you want to apply permissions, and then click OK. By default, when you add a new user, the user will have the following permissions:
    • Read and Execute
    • Read
  5. Click Apply, and then click OK.
  6. Right-click the SQL database file, click Properties, and then click the Security tab.
  7. To remove the new user from the DACL of the SQL database file, select the user that you added in step 4, and then click Remove.
  8. Click Apply, and then click OK.
Properties

Article ID: 955831 - Last Review: 01/07/2009 17:46:23 - Revision: 1.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard

  • kbexpertiseinter kbsurveynew kbtshoot kbprb kberrmsg KB955831
Feedback