ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
更改数据库作用域凭据的属性。
语法
ALTER DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
参数
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 目录视图中查看有关数据库范围凭据的信息。
授予共享访问签名 (SAS) 的权限以用于 PolyBase 外部表时,请选择“容器”和“对象”作为允许的资源类型。 如果未授予,则在尝试访问外部表时可能会收到错误 16535 或 16561。
权限
需要对凭据拥有 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