重庆思庄Oracle、Redhat认证学习论坛

标题: SQLSERVER2008 彻底删除透明加密 [打印本页]

作者: 郑全    时间: 2023-2-17 19:25
标题: SQLSERVER2008 彻底删除透明加密

1.检查当前是否有透明加密
    select DB_NAME(database_id),encryption_state
     from sys.dm_database_encryption_keys

db_name     encryption_state
tempdb        3
SDPACS        3

encryption_state:
   0=没有数据库加密密钥
   1=未加密
   2=加密中
   3=加密
   4=密钥变化中
   5=解密中
   6=保护改变中

select name,is_master_key_encrypted_by_server
  from sys.databases;

name                                is_master_key_encrypted_by_server
master                        1
tempdb                        0
model                        0
msdb                                0
ReportServer                0
ReportServerTempDB        0
SDPACS                        0

除MASTER为1外,其他都为0

2.关闭TDE(透明数据加密)
  USE master;
  GO
  ALTER DATABASE SDPACS SET ENCRYPTION OFF;
  GO

3.删除数据库加密密钥

  use SDPACS
  drop database encryption key;
  go

  这个时候,可能会报在使用中。检查状态,状态要为1才行。
    select DB_NAME(database_id),encryption_state
     from sys.dm_database_encryption_keys

db_name     encryption_state
tempdb        3
SDPACS        1

    一般看到的状态为5的比较多。多等一下即可。或者重启SQLSERVER服务即可,一般该操作在访问比较少的情况下操作。

4.从主数据库中删除TDE证书

select name,pvt_key_encryption_type,pvt_key_encryption_type_desc  from sys.certificates;
  找到证书名字

USE master
Go
DROP CERTIFICATE DEKCertificate;
Go



5. 删除主密钥

USE master
Go
DROP MASTER KEY;
GO

检查发现 tempdb 还加密中
  select DB_NAME(database_id),encryption_state
     from sys.dm_database_encryption_keys

db_name     encryption_state
tempdb        3

重启数据库,会自动重建tempdb,之后,再看,就没有了。







欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2