Error message in the SQL Server Errorlog file after you upgrade SQL Server 2000 to SQL Server 2005 on a server that is running Windows Server 2003: "Unable to update password policy"

Article translations Article translations
Article ID: 936892 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

On a server that is running Windows Server 2003, you upgrade from Microsoft SQL Server 2000 to Microsoft SQL Server 2005. However, an access violation occurs during the startup of the SQL Server service. Additionally, the following error message is logged in the SQL Server Errorlog file:
DateTime spid4s * Exception Address = 78144D3A Module(MSVCR80+00014D3A)
DateTime spid4s * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
DateTime spid4s * Access Violation occurred reading address 00000006
Unable to update password policy
Messages that resemble the following are logged in the SQLSetup0005_ServerName_SQL.log file:
Service MSSQL$InstanceName with parameters '-m SqlSetup -r -T4022 -T4010' is being started at DateTime
MSI (s) (80:A4) [12:46:36:153]: Running as a service.
Failed to start service MSSQL$InstanceName. Error code 17185
Service failed unexpectedly (17185)
Error Code: 0x80074321 (17185)
Windows Error Text: Source File Name: sqlsetuplib\service.cpp
Compiler Timestamp: DateTime
Function Name: sqls::Service::Start
Source Line Number: 301
This problem occurs when SQL Server 2005 is trying to recover the resource database.

This problem occurs if the following conditions are true:
  • The syslogins table in SQL Server 2000 has a SQL Server login.
  • The password of the SQL Server login does not comply with the password policy in Windows Server 2003.

WORKAROUND

To work around this problem, use one of the following methods.

Note We recommend that you use Method 1. Use Method 2 only as a temporary workaround for migration purposes.

Method 1: Update the password of the SQL Server login to comply with the password policy in Windows Server 2003

Note You may not know the specific SQL Server login whose password does not comply with the password policy. In this case, you must repeat step 1 through step 4 to examine each SQL Server login until you find the problematic SQL Server login.
  1. Start the SQL Server service by using trace flag 4606.
    1. Open SQL Server Configuration Manager.
    2. Click SQL Server 2005 Services, and then double-click SQL Server (InstanceName).
    3. In the SQL Server (InstanceName) Properties dialog box, click the Advanced tab.
    4. On the Advanced tab, add the following text at the end of the existing string in the Startup Parameters box:
      -T4606
    5. Click OK.
    6. Right-click SQL Server (InstanceName), and then click Start.
  2. Update the password of the SQL Server login.
    1. Open SQL Server Management Studio, and then connect to the instance of SQL Server 2005.
    2. Click New Query.
    3. In the query window, run the following statement:
      ALTER LOGIN [LoginName] WITH PASSWORD = 'NewPWD'
      Notes
      • LoginName represents the name of the SQL Server login that causes the problem.
      • NewPWD represents the new password that complies with the password policy in Windows Server 2003.
  3. Remove trace flag 4606 from the startup parameters for the SQL Server service.
    • Open SQL Server Configuration Manager.
    • Click SQL Server 2005 Services, and then double-click SQL Server (InstanceName).
    • In the SQL Server (InstanceName) Properties dialog box, click the Advanced tab.
    • On the Advanced tab, remove the following text from the existing string in the Startup Parameters box:
      -T4606
    • Click OK.
  4. Right-click SQL Server (InstanceName), and then click Restart.

Method 2: Disable the password policy enforcement feature for the SQL Server login

Note Use Method 2 only as a temporary workaround for migration purposes until you update the password.

Important These steps may increase your security risk. These steps may also make the computer or the network more vulnerable to attack by malicious users or by malicious software such as viruses. We recommend the process that this article describes to enable programs to operate as they are designed to or to implement specific program capabilities. Before you make these changes, we recommend that you evaluate the risks that are associated with implementing this process in your particular environment. If you decide to implement this process, take any appropriate additional steps to help protect the system. We recommend that you use this process only if you really require this process.
  1. Start the SQL Server service by using trace flag 4606.
    1. Open SQL Server Configuration Manager.
    2. Click SQL Server 2005 Services, and then double-click SQL Server (InstanceName).
    3. In the SQL Server (InstanceName) Properties dialog box, click the Advanced tab.
    4. On the Advanced tab, add the following text at the end of the existing string in the Startup Parameters box:
      -T4606
    5. Click OK.
    6. Right-click SQL Server (InstanceName), and then click Start.
  2. Open SQL Server Management Studio, and then connect to the instance of SQL Server 2005.
  3. Click New Query.
  4. In the query window, run the following statement:
    ALTER LOGIN [LoginName] WITH CHECK_POLICY = OFF
  5. Remove trace flag 4606 from the startup parameters for the SQL Server service.
    • Open SQL Server Configuration Manager.
    • Click SQL Server 2005 Services, and then double-click SQL Server (InstanceName).
    • In the SQL Server (InstanceName) Properties dialog box, click the Advanced tab.
    • On the Advanced tab, remove the following text from the existing string in the Startup Parameters box:
      -T4606
    • Click OK.
  6. Right-click SQL Server (InstanceName), and then click Restart.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Properties

Article ID: 936892 - Last Review: October 26, 2007 - Revision: 1.1
APPLIES TO
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Keywords: 
kbexpertiseadvanced kbtshoot kbprb KB936892

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com