【发布时间】:2020-08-27 00:07:42
【问题描述】:
我有一个需要导入 SQL Server 的大文件。文件包含个人信息列(如 first_name、phone_number)。目前我正在使用 BCP 工具将大文件导入 SQL Server。下一步,我将使用数据库密钥对列进行加密,如下所示。
CREATE TABLE users (
first_name VARCHAR(4000)
)
CREATE CERTIFICATE db_cert1
WITH SUBJECT = 'Encrypt PII data';
GO
CREATE SYMMETRIC KEY db_symkey1
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE db_cert1;
GO
BEGIN TRY
UPDATE users
SET first_name = CAST(EncryptByKey(KEY_GUID('db_symkey1'),[first_name]) AS VARCHAR(MAX))
END TRY
BEGIN CATCH
DELETE FROM users;
END CATCH
我的表中有 100 列和 10 列需要加密和数百万行的敏感列。目前它很慢(由于行数和 VARCHAR(MAX/4000))
有没有更好的方法来实现这一点? BCP 是否提供开箱即用的解决方案?
【问题讨论】:
标签: sql-server database encryption import bcp