OPEN MASTER KEY (Transact-SQL)

打开当前数据库的数据库主密钥。

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

语法

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password' 

参数

  • 'password'
    对数据库主密钥加密的密码。

注释

如果数据库主密钥使用服务主密钥进行加密,则在需要此数据库主密钥进行解密或加密时,它将自动打开。在这种情况下,不必使用 OPEN MASTER KEY 语句。

当数据库第一次附加到新的 SQL Server 实例时,数据库主密钥(由服务主密钥加密)的副本尚未存储在服务器中。必须使用 OPEN MASTER KEY 语句解密数据库主密钥。一旦数据库主密钥解密后,通过使用 ALTER MASTER KEY 语句向服务器提供数据库主密钥(使用服务主密钥加密)的副本,即可拥有将来启用自动解密的选项。此选项将在 ALTER MASTER KEY (Transact-SQL) 中讨论。

通过使用带 DROP ENCRYPTION BY SERVICE MASTER KEY 选项的 ALTER MASTER KEY 语句,可从自动密钥管理中排除特定数据库的数据库主密钥。然后,必须显式打开带密码的数据库主密钥。

如果数据库主密钥在其中显式打开的事务回滚,则此密钥将保持打开。

权限

需要对数据库具有 CONTROL 权限。

示例

以下示例将打开使用密码加密的 AdventureWorks2008R2 数据库的数据库主密钥。

USE AdventureWorks2008R2;
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';
GO