ALTER ASYMMETRIC KEY (Transact-SQL)

更新日期: 2006 年 12 月 12 日

更改非对称密钥的属性。

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

语法

 ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>  <alter_option> ::=     <password_change_option>     |      REMOVE PRIVATE KEY  <password_change_option> ::=     WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )  <password_option> ::=     ENCRYPTION BY PASSWORD = 'password'     |     DECRYPTION BY PASSWORD = 'old_password'

参数

  • Asym_Key_Name
    非对称密钥在数据库中所使用的名称。
  • REMOVE PRIVATE KEY
    从非对称密钥中删除私钥,但不删除公钥。
  • WITH PRIVATE KEY
    更改私钥的保护。
  • ENCRYPTION BY PASSWORD ='password'
    指定用于保护私钥的新密码。将检查密码的复杂性。如果省略该选项,则使用数据库主密钥对私钥进行加密。
  • DECRYPTION BY PASSWORD ='password'
    指定当前用于保护私钥的旧密码。如果私钥使用数据库主密钥进行加密,则不需要指定旧密码。

备注

如果没有 ENCRYPTION BY PASSWORD 选项所需的数据库主密钥,并且未提供任何密码,则该操作将失败。有关如何创建数据库主密钥的信息,请参阅 CREATE MASTER KEY (Transact-SQL)

您可以按下表所示,指定 PRIVATE KEY 选项,然后使用 ALTER ASYMMETRIC KEY 更改私钥的保护。

更改其保护 密码加密 密码解密

旧密码到新密码

需要

需要

密码到主密钥

省略

需要

主密钥到密码

需要

省略

必须首先打开数据库主密钥,然后才能使用它来保护私钥。有关详细信息,请参阅 OPEN MASTER KEY (Transact-SQL)

若要更改非对称密钥的所有权,请使用 ALTER AUTHORIZATION

权限

如果要删除私钥,则要求对非对称密钥具有 CONTROL 权限。

示例

A. 更改私钥的密码

以下示例更改用于保护非对称密钥 PacificSales09 的私钥的密码。新密码为 85423sdvcx7987$$2ooo

ALTER ASYMMETRIC KEY PacificSales09 
    WITH PRIVATE KEY (
    DECRYPTION BY PASSWORD = 'bmsA$dk7i82bv55foajsd9764',
    ENCRYPTION BY PASSWORD = '85423sdvcx7987$$2ooo');
GO

B. 从非对称密钥中删除私钥

以下示例从 PacificSales19 中删除私钥,只保留公钥。

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;
GO

C. 从私钥中删除密码保护

以下示例从私钥中删除密码保护,然后使用数据库主密钥来保护该私钥。

OPEN MASTER KEY;
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (
    DECRYPTION BY PASSWORD = 'bmsA$dk7i82bv55foajsd9764' );
GO

请参阅

参考

CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)

其他资源

加密层次结构

帮助和信息

获取 SQL Server 2005 帮助