ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric SQL 数据库

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

Transact-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