ALTER CREDENTIAL (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

更改凭据的属性。

重要

“应执行操作”为最佳做法;“必须执行操作”用于完成任务Transact-SQL 语法约定

语法

ALTER CREDENTIAL credential_name WITH IDENTITY = 'identity_name'  
    [ , SECRET = 'secret' ]  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

自变量

credential_name
指定将要更改的凭据的名称。

IDENTITY = 'identity_name'
指定从服务器外部进行连接时要使用的帐户名称。

SECRET = 'secret'
指定发送身份验证所需的机密内容。 secret 是可选项。

重要

Azure SQL 数据库仅支持 Azure Key Vault 和共享访问签名标识。 不支持 Windows 用户标识。

备注

当凭据发生更改时,identity_name 和 secret 的值都将重置。 如果未指定可选参数 SECRET 的值,则存储的密码值将设置为 NULL。

使用服务主密钥对密码进行加密。 如果重新生成服务主密钥,则需要使用新服务主密钥对该密码重新加密。

可以在 sys.credentials 目录视图中查看有关凭据的信息。

权限

需要 ALTER ANY CREDENTIAL 权限。 如果该凭据是系统凭据,则要求具有 CONTROL SERVER 权限。

示例

A. 更改凭据的密码

以下示例将更改存储在名为 Saddles 的凭据中的密码。 该凭据包含 Windows 登录名 RettigB 及其密码。 使用 SECRET 子句将新密码添加到凭据。

ALTER CREDENTIAL Saddles WITH IDENTITY = 'RettigB',   
    SECRET = 'sdrlk8$40-dksli87nNN8';  
GO  

B. 删除凭据的密码

以下示例将删除名为 Frames 的凭据中的密码。 该凭据包含 Windows 登录名 Aboulrus8 和密码。 因为未指定 SECRET 选项,所以执行该语句后,凭据的密码为空。

ALTER CREDENTIAL Frames WITH IDENTITY = 'Aboulrus8';  
GO  

另请参阅

凭据(数据库引擎)
CREATE CREDENTIAL (Transact-SQL)
DROP CREDENTIAL (Transact-SQL)
ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)
CREATE LOGIN (Transact-SQL)
sys.credentials (Transact-SQL)