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

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 560|回复: 0
打印 上一主题 下一主题

SQLSERVER2008 彻底删除透明加密

[复制链接]
跳转到指定楼层
楼主
发表于 2023-2-17 19:25:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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,之后,再看,就没有了。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-20 10:31 , Processed in 0.081726 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表