azure-sql-managed-instance - Azure SQL 托管实例上的 TDE
问题描述
默认情况下,MI 上未启用 TDE。我通过在 db 属性中将加密设置为 true 来手动启用 TDE。数据库的加密大约需要 20 分钟,下面是 sys.dm_database_encryption_keys 表的输出。
我们如何验证是否在托管实例中启用了 TDE?由于 Azure 既不提供对 MI 的自动备份的访问,我也无法在 MI 中打开 TDE 时手动进行备份。
想要访问自动备份(7 天备份功能)并验证文件是否可以恢复。提供程序。
希望备份在我的数据库上启用 TDE 时被加密,那么如何解密这些备份,因为 Azure 没有提供任何解密密钥。
解决方案
使用以下查询查找加密数据库:
select name, is_encrypted from sys.databases
您不能直接访问备份文件;但是,您可以运行时间点恢复来验证是否可以将任何以前的备份恢复为新数据库(您在每个数据库的门户上都有恢复按钮,或者您可以使用 PowerShell 参见 - https://blogs.msdn。 microsoft.com/sqlserverstorageengine/2018/06/28/point-in-time-restore-of-a-database-on-azure-sql-managed-instance-using-azurerm-sql-powershell-library/)
时间点还原是还原加密自动备份的唯一方法,Azure 会在还原时自动解密备份。您无法从 SQL Server 上的 MI 还原备份,因为 MI 的版本始终高于 SQL Server。因此,即使您取消了备份文件,您也无法在 SQL Server 上使用它,如果您想在 Managed Instance 上恢复它,MI 会找到密钥。
推荐阅读
- javascript - 如何使这段代码从项目中删除类名,并使用 getElementsByClassName 并使这个手风琴按我想要的方式工作?
- google-apps-script - 如何在 Google Script 上下文中保存 HTML 下拉列表值?
- ios - IB Designables:无法呈现和更新自动布局状态 - 代理崩溃
- javascript - 提供给“ReactiveComponent”的“object”,预期的“function”
- sql-server - 检查点和事务提交之间的关系是什么
- specflow - 在 specflow 中读取表数据时,未获取开始时的零
- c# - 如何让页眉跳过第一页
- powershell - inoke-webrequest 中的问题以更新我的 chromecast 固件
- spring - 在Tomcat中部署项目时一次又一次地创建删除的列?
- python - 如何遍历嵌套的子节点