The CHECK_POLICY and CHECK_EXPIRATION options cannot be turned OFF when MUST_CHANGE is ON

In addition to the dreaded SQL Server Error: User Group or Role Already Exists in the Current Database error, you may also get this error when creating new logins after a database move:

Alter failed for login ‘somelogin’.

An exception occurred while executing a Transact-SQL statement or batch.

The CHECK_POLICY and CHECK_EXPIRATION options cannot be turned OFF when MUST_CHANGE is ON. (Microsoft SQL Server, Error: 15128)

The fix for this is to change the password.  You can do this via script like so:

USE Master
GO
ALTER LOGIN [somelogin] WITH PASSWORD = ‘samepassword’
GO
ALTER LOGIN [somelogin] WITH
      CHECK_POLICY = OFF,
      CHECK_EXPIRATION = OFF;

That’s all there is to it.  I found this post useful while researching this issue.

blog comments powered by Disqus