【问题标题】:SQL Server TDE - how to tell when complete?SQL Server TDE - 如何判断何时完成?
【发布时间】:2012-12-04 00:48:11
【问题描述】:

在使用 SQL 2008 TDE 时,有没有办法判断数据库何时完全加密?即,

ALTER DATABASE mydb SET ENCRYPTION ON

我能想到的唯一方法是继续尝试分离 mydb。在所有页面都加密之前,它不会分离。但是,我想要一种不涉及分离的更清洁的方式?

谢谢。

【问题讨论】:

    标签: sql-server-2008 encryption tde


    【解决方案1】:

    似乎可以在sys.dm_database_encryption_keys 中找到此信息。

    encryption_state = 3表示数据库和日志是加密的。 encryption_state = 2 表示正在进行加密,在这种情况下您可能还需要查看 percent_complete 列。

    【讨论】:

    • 谢谢!就是这样。我还为需要此信息的其他人找到了这篇文章:msdn.microsoft.com/en-us/library/bb677274.aspx
    • 有趣:percent_complete 在加密状态更改之前很久就达到 100。那么是在达到 100% 时完成,还是在 encryption_state 发生变化时完成?
    • @Neilw - 不确定它在那个时间间隔内做了什么。不过,我会假设 encryption_state 发生变化。
    • 我尝试加密一个 50GB 的数据库。它在大约 4 分钟内完成了 100%。但是 encryption_state 直到大约十分钟才变为 3。
    【解决方案2】:

    旧的,但我会把它放在这里。注意“percent_complete”

    选择 DB_NAME(database_id) 数据库名称, 加密状态加密状态, 百分比完成, key_algorithm 关键算法, key_length 密钥长度, encryptor_type 加密类型 FROM sys.dm_database_encryption_keys;

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 2013-01-10
      • 1970-01-01
      相关资源
      最近更新 更多