SqlConnection.ChangePassword 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更改 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 = true、UserId或 Password;或 ContextConnection = true。
- credential
- SqlCredential
SqlCredential 对象。
- newPasswordnewSecurePassword
- SecureString
新密码。
newPassword 必须是只读的。 密码还必须符合服务器上设置的任何密码安全策略(例如,特定字符的最小长度和要求)。
例外
连接字符串包含 UserId、Password或 Integrated Security=true的任意组合。
-或-
连接字符串包含 Context Connection=true。
-或-
newSecurePassword(或 newPassword)大于 128 个字符。
-或-
newSecurePassword(或 newPassword)不只读。
-或-
newSecurePassword(或 newPassword)是空字符串。
其中一个参数(connectionString、credential或 newSecurePassword)为 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
要设置的新密码。 此密码必须符合服务器上设置的任何密码安全策略,包括最小长度、特定字符的要求等。
例外
connectionString 或 newPassword 参数为 null。
注解
在 Windows Server 上使用 SQL Server 时,可以利用允许客户端应用程序同时提供当前密码和新密码的功能,以更改现有密码。 应用程序可以在初始登录期间提示用户输入新密码(如果旧密码已过期),并且无需管理员干预即可完成此操作。
警告
Microsoft不建议直接提供用户名和密码,因为它是不安全模式。 如果可能,请使用更安全的身份验证流,例如 Azure 资源的托管标识,或 SQL Server 的 Windows 身份验证。
ChangePassword 方法将提供的 connectionString 参数中指示的用户的 SQL Server 密码更改为 newPassword 参数中提供的值。 如果连接字符串包含集成安全性的选项(即“Integrated Security=True”或等效项),则会引发异常。
若要确定密码已过期,调用 Open 方法将引发 SqlException。 若要指示必须重置连接字符串中包含的密码,异常的 Number 属性包含状态值 18487 或 18488。 第一个值 (18487) 指示密码已过期,第二个值 (18488) 指示在登录之前必须重置密码。
此方法打开与服务器自身的连接,请求密码更改,并在连接完成后立即关闭连接。 不会从 SQL Server 连接池中检索或返回此连接。
另请参阅
- 连接字符串 (ADO.NET)
- 连接到数据源(ADO.NET)
- 使用适用于 SQL Server 的 .NET Framework 数据提供程序
- ADO.NET 概述