This script can be used to remove transparent database encryption on all the user databases.
If the database size is big the decryption process may time and you need increase the time in the WAITFOR DELAY option in the code.
This script can be used to remove transparent database encryption on all the user databases.
If the database size is big the decryption process may time and you need increase the time in the WAITFOR DELAY option in the code.
--Remove Database Encryption Key(DEK) for all user databases DECLARE @sql varchar(2000), @dbname varchar(64), @progress INT DECLARE apply_tde CURSOR FOR SELECT d.name FROM sys.databases d INNER JOIN sys.dm_database_encryption_keys dek ON d.name=DB_NAME(dek.database_id) AND dek.encryption_state=3 AND d.database_id >4 OPEN apply_tde FETCH NEXT FROM apply_tde INTO @dbname WHILE @@FETCH_STATUS <> -1 BEGIN SELECT @sql = 'USE [master] ALTER DATABASE [@dbname] SET ENCRYPTION OFF' SELECT @sql = REPLACE(@sql,'@dbname',@dbname) PRINT 'Encryption Removal started --'+@sql EXEC (@sql) SELECT @progress=COUNT(*) FROM sys.dm_database_encryption_keys WHERE encryption_state=5 IF @progress >0 BEGIN WAITFOR DELAY '00:02' END SELECT @sql ='USE [@dbname] DROP DATABASE ENCRYPTION KEY' SELECT @sql = REPLACE(@sql,'@dbname',@dbname) PRINT 'Encryption Removal finished --'+@sql EXEC (@sql) FETCH NEXT FROM apply_tde into @dbname END CLOSE apply_tde DEALLOCATE apply_tde GO -- Remove the certificate and master key USE [master] --Drop Certificate DROP CERTIFICATE AZ_TDE_PRD --Drop Master Key DROP MASTER KEY SELECT DB_NAME(database_id) AS 'Database Name' ,create_date AS 'Create Date' ,set_date AS 'Set Date' ,(CASE WHEN Encryption_State='0' THEN 'No Database Encryption' WHEN Encryption_State='1' THEN 'Unencrypted' WHEN Encryption_State='2' THEN 'Encryption In Progress' WHEN Encryption_State='3' THEN 'Encrypted' WHEN Encryption_State='4' THEN 'Key Change In Progress' WHEN Encryption_State='5' THEN 'Decryption In Progress' WHEN Encryption_State='6' THEN 'Protection Change In Progress' END) AS 'Encryption State' ,key_algorithm AS 'Algorithm Used' ,key_length AS 'Key Length' ,encryptor_thumbprint AS 'Encryptor Thumbprint' ,percent_complete AS 'Percent Complete' ,encryptor_type AS 'Encryptor Type' FROM sys.dm_database_encryption_keys GO