암호화 된 데이터베이스를 다른 서버로 복원


10

SQLServer 2008에서 실행되는 제품을 사용하고 있습니다. 당연히이 제품을 제공하는 회사는 SQLServer 지원을 제공하지 않습니다. 제품을 설치할 때 데이터베이스를 암호화하기 위해 비밀번호를 지정했습니다. 다른 서버에서 테스트하기 위해 제품의 다른 사본을 실행하고 싶습니다. 데이터베이스를 다른 서버로 복원하고 해당 다른 서버에 제품을 설치했습니다. 설치시 동일한 암호를 입력 한 후 기본 서버에서 백업을 복원했습니다. 그러나 오류 메시지가 나타납니다.

System.Data.SqlClient.SqlException: An error occurred during decryption.

제품에서. SQLServer Management Studio를 사용하여 테이블에 액세스 할 수 있습니다.

나는 이것을 시도했다 :

첫 번째 서버에서 :

CREATE CERTIFICATE cert1 WITH SUBJECT = 'Certificate for my stuff'

BACKUP CERTIFICATE  cert1 TO FILE = 'd:\backup\cert1.dat' 
WITH PRIVATE KEY 
(
ENCRYPTION BY PASSWORD = 'mypassword',
FILE = 'd:\backup\cert1_privatekey.dat'
)

두 번째 서버에서 :

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'mypassword'

CREATE CERTIFICATE cert1 FROM FILE = 'd:\cert1.dat'
WITH PRIVATE KEY
(
FILE = 'd:\cert1_privatekey.dat',
DECRYPTION BY PASSWORD = 'mypassword'
)

나는 또한 두 번째 서버에서 이것을 시도했다 :

alter MASTER KEY regenerate with enCRYPTION BY PASSWORD='password'

그러나 그것은 비대칭 키에 대한 오류 메시지를 주었다.

첫 번째 서버에서 두 번째 서버로 백업을 어떻게 복원 할 수 있습니까?

최신 정보:

데이터베이스에는 비대칭 및 대칭 키도 있습니다. 비대칭 키를 사용하여 대칭 키를 열면 동일한 오류가 발생하므로 작동하지 않는 이유가 있습니다. 어떻게 든 키를 사용할 수있는 방식으로 전송되지 않습니다.

답변:


8

내가 미러링 및 TDE에 대한 블로그 항목을.

보조 서버에서 DB를 가져 오는 데 시간이 걸렸습니다. 코드 줄이 필요했습니다.

 OPEN MASTER KEY DECRYPTION BY PASSWORD = 'SomePassword'
 ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
 GO

비밀번호는 마스터 키 파일을 암호화하는 데 사용한 비밀번호와 동일합니다. 두 번째 SQL Server에서 명령을 실행 한 후 모든 것이 훌륭하게 재생되었습니다. 다음 은 또한 db.stackexchange 게시물입니다.


해당 블로그 항목이 유용합니다. "마스터"대신 복사하고 싶은 특정 데이터베이스를 사용한다는 점을 제외하고는 따랐습니다. "이전 마스터 키로 암호화 된 비대칭 키 'asym_something'을 해독하는 동안 오류가 발생했습니다. FORCE 옵션을 사용하여이 오류를 무시하고 작업을 계속할 수 있지만 이전 마스터 키로 해독 할 수없는 데이터가 표시됩니다. 사용할 수 없게됩니다. " 파일에서 마스터 키를 복원 할 때 내가 그것을 강제해야합니까? (이것은 데이터베이스를 복원 한 이후에, 귀하의 지침은 나중에 복원됩니다.)
paulmorriss

1
고마워요, 알아내는 데 시간이 오래 걸렸습니다. eek, 나는 당신이 그것을 강제 해야하는지 확신하지 못합니다. 내가 이해하는 방식으로 "키"는 각 서버의 MASTER 데이터베이스와 연결되어 있습니다. 데이터베이스에 연결된 유일한 것은 마스터 키로 서명 된 인증서입니다. 따라서 server1에서 마스터 키를 작성하고 백업 한 후 서버 2에서 키를 복원해야합니다. 그런 다음 데이터베이스의 인증서 위로 이동하십시오. 다른 사람이 그 주제를 밝힐 수 있기를 바랍니다.
RateControl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.