适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric SQL 数据库
更改数据库作用域凭据的属性。
语法
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。 机密 可能出于其他目的是可选的。
警告
SAS 密钥值可能以 ?
(问号)开头。 使用 SAS 密钥时,必须删除前导 ?
。 否则会阻止操作。
备注
当数据库作用域凭据发生更改时,identity_name 和 secret 的值都将重置。 如果未指定可选 SECRET 参数,则存储的机密的值将设置为 NULL
。
使用服务主密钥对密码进行加密。 如果重新生成服务主密钥,则需要使用新服务主密钥对该密码重新加密。
可在 sys.database_scoped_credentials 目录视图中查看有关数据库范围凭据的信息。
授予共享访问签名 (SAS) 的权限以用于 PolyBase 外部表时,请选择“容器”和“对象”作为允许的资源类型。 如果未授予,则尝试访问外部表时,可能会收到错误 16535 或 16561。
权限
需要对凭据拥有 ALTER
权限。
示例
答: 更改数据库作用域凭据的密码
以下示例更改存储在数据库范围内凭据中的机密。 数据库范围的凭据包含 Windows 登录名及其密码。 使用子句将新密码添加到数据库范围的凭据 SECRET
。
ALTER DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = '<login>',
SECRET = '<storng password>';
GO
B. 删除凭据的密码
以下示例将删除名为 Frames
的数据库作用域凭据中的密码。 数据库范围的凭据包含 Windows 登录名和密码。 执行语句后,数据库范围的凭据将具有 NULL
密码,因为未指定 SECRET 选项。
ALTER DATABASE SCOPED CREDENTIAL Frames WITH IDENTITY = '<login>';
GO