在《三步配置Always Encrypted安全功能》一文中,我们已经介绍如何创建了包含加密列的表,接下来我们可以使用SQL Server导入导出向导来复制该表的数据,然后进一步验证一下数据副本是否是加密状态。
要对“dbo.Contact_AlwaysEncryptedDemo ”表实现导入数据操作,请先打开导入导出向导。在欢迎界面点击“下一步”。在选择数据源界面(如图4)进行如下配置:
数据源:在下拉列表中选择SQL Server Native Client 11.0。
服务器名称:输入源数据所在SQL Server实例的名称。
认证:选择所连接数据源的认证模式。
数据库:选择源数据所在数据库。例如,本例中我们选择的是“OULTANDER”数据库。
图4:选择数据源页面
点击下一步进入“选择目标”页面(如图5)。本页配置内容如下:
数据源:在下拉列表中选择.NET Framework针对SqlServer的数据提供器。
设置列加密属性为“启用”。
配置其它相关属性(例如:数据源,初始目录和认证相关关键字)。
图5:选择目标页
点击下一步就到了“选择表副本或查询”页面。本页你有两种选择。你可以选择复制表和视图,也可以选择在指定数据源执行查询语句得到的结果集。这里我将从表“dbo.Contact”复制所有数据到“dbo.Contact_AlwaysEncryptedDemo”表。
在“选择源表和视图”页面(图6)中,选择“dbo.Contact ”表作为源表,选择“dbo.Contact_AlwaysEncryptedDemo”表作为目标表,然后点击“下一步”按钮。
点击“下一步”按钮来到“保存和运行包”页面(如图7)。选中“立即运行”复选框,然后点击“下一步”按钮。
图7:保存和运行包页面
下一步将导向配置完成页面(如图8),在该页面你可以看到你做的所有选择。点击完成运行任务包。
图8:完成向导页面
如果想验证数据是否已加密,我们可以查询加密表。本例中,我查询“dbo.Contact_AlwaysEncryptedDemo”表的时候,系统会返回结果(图9),其中加密列数据会显示为二进制数据(图9)。
图9 查询“dbo.Contact_AlwaysEncryptedDemo”表返回的结果。