SQL Server管理オブジェクト(SMO)プログラミングを使用して、有効期限が切れたパスワードでログインのパスワードを変更することはできますか?
勤務時間中に何度も、このメッセージを運用サーバーから受け取りました。 SQL Serverで「sa」レベルの特権を持っています。
Login.ChangePassword メソッドを使用できます。
public void ChangePassword(
string newPassword,
bool unlock,
bool mustChange
)
T-SQLを使用してパスワードを変更することもできます。
USE [master]
GO
ALTER LOGIN [test] WITH PASSWORD=N'123456'
GO
パスワードの有効期間を設定できます:
ADとGPOでも設定できます。
Julienの回答 、あなたはプロアクティブにすることができますを補完して、特に DaysUntilExpiration
of LOGINPROPERTY
例2日で期限切れになるすべてのログインをデータベースサーバーから取得します。
SELECT name as LoginName,
create_date as LoginCreateDate,
modify_date as LoginModifiedDate,
is_policy_checked ,
is_expiration_checked ,
-- returns the number of days until the password expires.
LOGINPROPERTY(name, 'DaysUntilExpiration') DaysUntilExpiration,
LOGINPROPERTY(name, 'PasswordLastSetTime') PasswordLastSetTime,
LOGINPROPERTY(name, 'IsExpired') IsExpired,
LOGINPROPERTY(name, 'IsMustChange') IsMustChange
From sys.sql_logins
--- optional filter
-- where LOGINPROPERTY(name, 'DaysUntilExpiration') >= 2