OPEN MASTER KEY (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 权限。
示例
以下示例将打开使用密码加密的 AdventureWorks 数据库的数据库主密钥。
USE AdventureWorks;
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';
GO