我一直在阅读有关 SQL Server 加密的多个资源,每个人的做法基本相同,但没有人解释为什么我们在 SQL Server 中使用非对称密钥。我的意思是当我们遵循“适当的”程序并首先对称加密数据,然后是非对称密钥或证书时,如此 MSDN 层次结构:
因此,如果我有数据,首先我会使用对称密钥对其进行加密,以提高速度并避免在受到威胁时重新加密。然后我们使用第二层加密保护该密钥。
现在让我们假设我使用密码保护第二个密钥。在这种情况下,证书、非对称密钥或对称密钥有什么优势?在我看来,我们从未使用这种策略使用证书或非对称密钥的公共方面,因为我们只使用解密方面。那么不应该对我们选择的三种方法中的哪一种不可知吗?我们可以撤销对所有三种密钥类型的访问权限并授予使用所有三种密钥的权限。为什么不使用另一个对称密钥?
我在这里看到的唯一区别是您可以使用 DMK 保护 Cert 或 Asym 密钥,因此用户无需输入密码。这使得访问更容易,但代价是失去了强制用户输入第二个密码的安全性。
这是正确的理解吗?
最初使用 5GB+ 填充数据库以避免大型事务日志时的标准流程是什么?根据我的理解,日志文件会在初始加载后跳转到较大的大小,并且从那时起磁盘空间不会减少。定期事务日志备份将释放文件中的空间,但文件仍会很大。
那么是否建议将目标数据库设置为简单备份,加载数据,使用 CHECKPOINT 截断日志,然后将数据库设置为完全备份模式?
此外,我知道可以对日志执行收缩文件操作,但有人说永远不要使用它,其他人似乎建议将其作为解决方案。有什么想法吗?