ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库 是Azure SQL 托管实例 是Azure Synapse Analytics 是并行数据仓库

更改数据库作用域凭据的属性。

主题链接图标 Transact-SQL 语法约定

语法

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

备注

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

参数

credential_name
指定要更改的数据库作用域凭据的名称。

IDENTITY =' identity_name'
指定从服务器外部进行连接时要使用的帐户名称。 要从 Azure Blob 存储导入文件,标识名称必须是 SHARED ACCESS SIGNATURE。 有关共享访问签名的详细信息,请参阅使用共享访问签名 (SAS)

SECRET =' secret'
指定发送身份验证所需的机密内容。 从 Azure Blob 存储导入文件时需要 secret。 在其他用途中,secret 可能是可选的。

警告

SAS 密钥值可以“?”(问号)开头。 使用 SAS 密钥时,必须删除前导“?”。 否则会阻止操作。

备注

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

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

可在 sys.database_scoped_credentials 目录视图中查看有关数据库范围凭据的信息。

权限

需要对凭据拥有 ALTER 权限。

示例

A. 更改数据库作用域凭据的密码

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

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

B. 删除凭据的密码

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

ALTER DATABASE SCOPED CREDENTIAL Frames WITH IDENTITY = 'Aboulrus8';  
GO  

另请参阅

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