在 SQL Server 中创建主密钥

Arj*_*Arj 5 t-sql sql-server encryption database-security

我正在尝试实现一个加密列,如下面的MSDN 示例所示。除了第一行之外,我理解大部分代码:

--If there is no master key, create one now. 
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
Run Code Online (Sandbox Code Playgroud)

当我在本地计算机上的 AdventureWorks 数据库上运行它时,密钥已经存在,这很好;我的示例在我的机器上运行良好并正确加密/解密。然而,在该代码中,任何时候都 没有提及任何内容symmetric_key_id101

是否有101某种对称密钥的保留 ID?

aF.*_*aF. 5

如此处所示,thesymmetric_key_id 101idDatabase Master Key

数据库主密钥的数量仅受您拥有的数据库数量的限制 - 每个数据库可以有一个主密钥,其 ID 为 101。