SqlConnection.ChangePassword メソッド

定義

SQL Server パスワードを変更します。

オーバーロード

名前 説明
ChangePassword(String, SqlCredential, SecureString)

SqlCredential オブジェクトに示されているユーザーの SQL Server パスワードを変更します。

ChangePassword(String, String)

接続文字列に示されているユーザーの SQL Server パスワードを、指定した新しいパスワードに変更します。

ChangePassword(String, SqlCredential, SecureString)

SqlCredential オブジェクトに示されているユーザーの SQL Server パスワードを変更します。

public:
 static void ChangePassword(System::String ^ connectionString, System::Data::SqlClient::SqlCredential ^ credential, System::Security::SecureString ^ newSecurePassword);
public static void ChangePassword(string connectionString, System.Data.SqlClient.SqlCredential credential, System.Security.SecureString newSecurePassword);
static member ChangePassword : string * System.Data.SqlClient.SqlCredential * System.Security.SecureString -> unit
Public Shared Sub ChangePassword (connectionString As String, credential As SqlCredential, newSecurePassword As SecureString)

パラメーター

connectionString
String

サーバーに接続するのに十分な情報を含む接続文字列。 接続文字列では、Integrated Security = trueUserId、または Passwordのいずれかの接続文字列キーワードを使用しないでください。または ContextConnection = true.

credential
SqlCredential

SqlCredential オブジェクト。

newPasswordnewSecurePassword
SecureString

新しいパスワードを示す文字列を指定します。 newPassword は読み取り専用である必要があります。 また、パスワードは、サーバーに設定されているパスワード セキュリティ ポリシー (たとえば、特定の文字の最小長と要件) にも準拠している必要があります。

例外

接続文字列には、UserIdPassword、または Integrated Security=trueの任意の組み合わせが含まれています。

-または-

接続文字列には、Context Connection=trueが含まれています。

-または-

newSecurePassword (または newPassword) が 128 文字を超える。

-または-

newSecurePassword (または newPassword) は読み取り専用ではありません。

-または-

newSecurePassword (または newPassword) は空の文字列です。

パラメーター (connectionStringcredential、または newSecurePassword) の 1 つが null です。

こちらもご覧ください

適用対象

ChangePassword(String, String)

接続文字列に示されているユーザーの SQL Server パスワードを、指定した新しいパスワードに変更します。

public:
 static void ChangePassword(System::String ^ connectionString, System::String ^ newPassword);
public static void ChangePassword(string connectionString, string newPassword);
static member ChangePassword : string * string -> unit
Public Shared Sub ChangePassword (connectionString As String, newPassword As String)

パラメーター

connectionString
String

必要なサーバーに接続するのに十分な情報を含む接続文字列。 接続文字列には、ユーザー ID と現在のパスワードが含まれている必要があります。

newPassword
String

設定する新しいパスワード。 このパスワードは、サーバーに設定されているパスワード セキュリティ ポリシー (最小長、特定の文字の要件など) に準拠している必要があります。

例外

接続文字列には、統合セキュリティを使用するオプションが含まれています。

または

newPassword が 128 文字を超えています。

connectionString または newPassword パラメーターが null です。

注釈

Windows Server で SQL Server を使用している場合は、クライアント アプリケーションが現在のパスワードと新しいパスワードの両方を指定して既存のパスワードを変更できるようにする機能を利用できます。 アプリケーションは、古いパスワードの有効期限が切れている場合に、初期ログイン時にユーザーに新しいパスワードを求めるなどの機能を実装でき、管理者の介入なしにこの操作を完了できます。

Warning

Microsoftは安全でないパターンであるため、ユーザー名とパスワードを直接指定することはお勧めしません。 可能な場合は、 Azure リソースの管理 ID、SQL Serverの Windows 認証 など、より安全な認証フローを使用します。

ChangePassword メソッドは、指定された connectionString パラメーターで指定されたユーザーの SQL Server パスワードを、newPassword パラメーターで指定された値に変更します。 接続文字列に統合セキュリティのオプション ("Integrated Security=True" または同等のオプション) が含まれている場合は、例外がスローされます。

パスワードの有効期限が切れたことを確認するには、Open メソッドを呼び出すと、SqlExceptionが発生します。 接続文字列に含まれるパスワードをリセットする必要があることを示すために、例外の Number プロパティには状態値 18487 または 18488 が含まれています。 最初の値 (18487) はパスワードの有効期限が切れたことを示し、2 番目の値 (18488) はログイン前にパスワードをリセットする必要があることを示します。

このメソッドは、サーバーへの独自の接続を開き、パスワードの変更を要求し、完了するとすぐに接続を閉じます。 この接続は、SQL Server 接続プールから取得されたり、SQL Server 接続プールに返されたりしません。

こちらもご覧ください

適用対象