DBMS/SQL Server (MS-SQL)

[SQL Server / MS-SQL] Msg 15581, 이 작업을 수행하기 전에 데이터베이스에서 마스터 키를 만들거나 세션의 마스터 키를 여십시오.

RYEAN 2021. 7. 7. 17:12
반응형


 

1. 오류 발생


 

 

2. 오류 원인


DB 를 이관 후, 암호화된 복호화하려고 할 때 위 오류로,

나의 경우에는, 아래 명령어가 있는 프로시져를 실행하려니 위 오류가 발생했다.

OPEN SYMMETRIC KEY sym_encryption_test DECRYPTION BY ASYMMETRIC KEY asym_encryption_test

 

 

3. 오류 해결


(1) 이관 전 사용했던 MASTER KEY 암호를 아는 경우

 - 아래의 명령어를 통해 변경해주면 된다.

ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '마스터 키 암호';

 

(2) 이관 전 사용했던 MASTER KEY 암호를 모르는 경우

  - 해당 암호화 키를 삭제 후 재생성을 해줘야 한다.

-- 대칭키 삭제
DROP SYMMETRIC KEY sym_encryption_test;

-- 비대칭키 삭제
DROP ASYMMETRIC KEY asym_encryption_test;

-- 마스터키 삭제
DROP MASTER KEY;

-- 마스터키 재생성
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '새로운 MASTER KEY 암호'

-- 비대칭키 재생성
CREATE ASYMMETRIC KEY asym_encryption_test WITH ALGORITHM = RSA_2048;

-- 대칭키 재생성
CREATE SYMMETRIC KEY sym_encryption_test WITH ALGORITHM = AES_256 ENCRYPTION BY ASYMMETRIC KEY asym_encryption_test;

 

이와 같이 해결!

 

반응형