SQL Server 2016始终加密 - 无法加密多个存储过程和视图引用的列

时间:2017-07-23 21:27:52

标签: sql-server sql-server-2016 always-encrypted

我正在尝试使用SQL Server Management Studio加密varchar(empcode)和bigint列,这些列由多个存储过程和视图引用。 (在SQL Server 2016上使用始终加密)

它给我一个错误SQL 71501 - >

(对象1)具有未解析的对象(对象2)

我如何克服这些问题?

由于

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的SSMS?如果它早于17.0,我建议您尝试使用最新版本(https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms)。

根据您的描述,我怀疑您使用的是SSMS 16.x.此问题的可能根本原因是您的存储过程具有外部依赖性(在其他数据库中的对象上)或具有破坏​​的依赖性。在SSMS 16.x中,Always Encrypted向导对整个数据库中的所有依赖项进行全面验证,包括不依赖于您尝试加密的表的对象。我们已经在SSMS 17中解决了这个问题,只是将验证限制为包含要加密的列的表,并且在遇到验证错误时向导不会再出错。相反,它会完成加密并产生警告,以便您稍后调查/解决问题。

谢谢,

的Jakub