Encryption “始终加密”中使用的SQL Server列主密钥/列加密密钥的数量是否有限制?

Encryption “始终加密”中使用的SQL Server列主密钥/列加密密钥的数量是否有限制?,encryption,sql-server-2016,capacity,always-encrypted,Encryption,Sql Server 2016,Capacity,Always Encrypted,对于某些容量设计需求,我对有关SQL Server加密密钥(主密钥和列密钥)数量限制的定性数字感兴趣 查看SQL Server参考的各种最大容量规范——令人惊讶的是——没有给出任何官方文档 有人有主意吗 对不起。。。恐怕我错过了一些东西 以下参考列出了不同数量对象的物理限制: SQL Server的最大容量规格 例如: 每个表的列数限制为1024。 每个表的非聚集索引限制为999 等等 类似地,我想知道在给定的数据库中可以维护多少用于“始终加密”的CMK-s和CEK-s。 这些数字没有在那里给

对于某些容量设计需求,我对有关SQL Server加密密钥(主密钥和列密钥)数量限制的定性数字感兴趣

查看SQL Server参考的各种最大容量规范——令人惊讶的是——没有给出任何官方文档

有人有主意吗

对不起。。。恐怕我错过了一些东西

以下参考列出了不同数量对象的物理限制:

SQL Server的最大容量规格

例如: 每个表的列数限制为1024。 每个表的非聚集索引限制为999 等等

类似地,我想知道在给定的数据库中可以维护多少用于“始终加密”的CMK-s和CEK-s。 这些数字没有在那里给出

与给定的答案相反,数据库可以有多个列主加密密钥。 以下查询适用于我的AEdemo数据库

从sys.column\u master\u keys cmk中选择[name]

-名字

-万能钥匙 -科尔马斯特基1 -CMK1

从sys.column\u encryption\u keys cek中选择[name]

-名字

-加密键 -CEK1
-TeamDemoKey

一个数据库只能有一个主密钥;所以你有一个限制。然而,我不相信数据库可以拥有的对象数量是有限制的,而且密钥仍然是一个对象。如果有限制的话,我不会对其中一种数据类型的限制感到惊讶,比如9223372036854775807的bigint或uniqueidentifier,它可以有更多不同的值。更正,对象的数量是有限制的,我错过了它:2147483647,所以int数据类型max value.Encryption密钥不存在于数据库对象表中。相反,它们生活在sysclsobjs中,其中包含各种其他内容,如程序集、备份设备、全文目录、分区函数/方案和文件组。尽管该表的id列的类型为int,但这并不意味着必须支持2^31-1对象的完整范围,尽管这提供了一个绝对上限。例如,每个数据库有32767个文件组的文档限制,远远低于表中允许的数量。简而言之:没有文档我们就不知道了。