Nach etwas Knobeln habe ich es selbst hinbekommen.
Die Lösung ist nicht das Konto zu entsperren, sondern den Haken bei "Kennwortrichtlinien erzwingen" herauszunehmen, mit OK zu bestätigen und wieder hineinzusetzen. Dies bewirkt, dass die Werte für IsLocked und BadPasswordCount auf Null gesetzt werden, während sich PasswordHash nicht ändert. Das Kennwort bleibt also erhalten.
Nimmt man hingegen den Haken bei "Anmeldung ist gesperrt" heraus verhält es sich genau umgekehrt. Das Kennwort wird geändert und die Counter bleiben bestehen.
Mit diesem Script kann man sich die Counter ansehen:
USE [master]
DECLARE @name nchar(100)
SET @name ='account'
SELECT
LOGINPROPERTY( @name, 'IsLocked' )
AS IsLocked,
LOGINPROPERTY( @name, 'BadPasswordCount' )
AS BadPasswordCount,
LOGINPROPERTY( @name, 'PasswordHash' )
AS PasswordHash
GO
Mit diesem Script lässt sich das Konto bequem entsperren, ohne dass das Passwort geändert wird:
USE [master]
ALTER LOGIN account WITH CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
ALTER LOGIN account WITH CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO
Der Vollständigkeit halber noch:
Ein gesperrter SQL-Account verursacht "Fehler 18456, Status 8" in den Protokollen des SQL-Servers.
Viel Spaß beim Nachkochen,
LG 004