ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)

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

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

Transact-SQL 语法约定

语法

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

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 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 目录视图中查看有关数据库范围凭据的信息。

授予共享访问签名 (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

后续步骤