sp_enclave_send_keys (Transact-SQL)
适用于: SQL Server 2019 (15.x) 及更高版本 - 仅限 Windows
将数据库中定义的列加密密钥发送到与具有安全 enclave 的 Always Encrypted 一起使用的服务器端安全 enclave。
sp_enclave_send_keys
仅发送已启用 enclave 的密钥,并加密使用随机加密且具有索引的列。 对于常规用户查询,客户端驱动程序为 enclave 提供查询中计算所需的密钥。 sp_enclave_send_keys
发送数据库中定义并用于索引加密列的所有列加密密钥。
sp_enclave_send_keys
提供了一种将密钥发送到 enclave 并填充列加密密钥缓存以执行后续索引操作的简单方法。 使用 sp_enclave_send_keys
启用:
用于重新生成或更改加密数据库列上的索引或统计信息的 DBA(如果 DBA 无权访问列主密钥)。 请参阅使用缓存列加密密钥调用索引操作。
SQL Server 完成对加密列的索引的恢复。 请参阅数据库恢复。
使用用于 SQL Server 的 .NET Framework 数据提供程序将数据大容量加载到加密列的应用程序。
若要成功调用 sp_enclave_send_keys
,需要连接到数据库,为数据库连接启用 Always Encrypted 和 enclave 计算。 还需要有权访问列主密钥、保护列加密密钥、要发送的列加密密钥,并且需要有权访问数据库中的 Always Encrypted 密钥元数据。
语法
sp_enclave_send_keys
[ ; ]
参数
该存储过程没有参数。
返回值
该存储过程没有返回值。
结果集
该存储过程没有结果集。
权限
需要数据库中的 VIEW ANY COLUMN ENCRYPTION KEY DEFINITION
和 VIEW ANY COLUMN MASTER KEY DEFINITION
权限。
示例
EXEC sp_enclave_send_keys;