On a recent SQL migration, we had to obviously move SQL server 2008 R2 databases from one instance on the consolidated server, to another instance on a new SQL FCI of 2016 version.
Scripting out and scripting back in the logins, executed smoothly but a thing! A login, scripted in the new SQL server as hashed, showed up as DISABLED, with no chance to enable it, unless resetting its password.
Login: Userxxx
CREATE LOGIN [Userxxx] WITH PASSWORD = 0x01008BD56DCC3FC0A8E3D6A614CC3DF13C235FBE2ED9C6C055BB HASHED, SID = 0xE8AF94AF971FB540A196A368EC2B5303, DEFAULT_DATABASE = [master], CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF
Every time we were trying to enable that login, it was giving us the below error:
Cannot enable a login that has an empty password. (Microsoft SQL Server, Error: 15510)
The solution was simple after reading the description.
We proceeded altering the password, by adding something simple like 1234 (there was no complexity need at that point of time), then, set the account enabled.
As soon as the account was enabled, we edited the password to none and saved it.
Everything worked smoothly afterwards.