возникли проблемы при попытке восстановить зашифрованную базу данных - PullRequest
2 голосов
/ 16 августа 2011

Я пытаюсь скопировать зашифрованную базу данных с сервера по умолчанию на мой сервер для целей тестирования

, но у меня возникают проблемы с этим, потому что я никогда не делал этого, поэтому я собираюсь объяснить свою процедуру и ошибки, которые я получил

сначала я создаю главный ключ:

USE master
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='DB-PaSSw0rD'
GO

на данный момент все в порядке:
Команда (и) успешно выполнена.

затем я создаю сертификат, импортируя сертификат, созданный на сервере по умолчанию:

CREATE CERTIFICATE TDECERT
FROM FILE = 'C:\temp\TDECert.cer'
WITH PRIVATE KEY (FILE = 'C:\temp\TDECertKey.pvk' , 
DECRYPTION BY PASSWORD ='pAssW0rD')
GO

, но я получаю:
Сообщение 15581, уровень 16, состояние 1, строка 1

Пожалуйста, создайте мастер-ключ в базе данных или откройте мастер-ключ в сеансе перед выполнением этой операции.

, чтобы решить эту проблему, я пытаюсь открыть мастер-ключ:

OPEN MASTER KEY DECRYPTION BY PASSWORD ='DB-PaSSw0rD'
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY

но я получаю: Не могу найти симметричный ключ "мастер-ключ", потому что он не существует или у вас нет разрешения.

затем разрешите эту секундупроблема, я пытаюсь предоставить ему доступ:

GRANT CONTROL ON CERTIFICATE :: TDECERT To Administrator

но я получаю:
Не удается найти сертификат 'TDECERT', поскольку он не существует или у вас нет разрешения.

Заранее благодарим за ваше время

1 Ответ

3 голосов
/ 17 августа 2011

проблема решена

все, что мне нужно было сделать, это добавить

ИСПОЛЬЗОВАНИЕ master

до

CREATE CERTIFICATE TDECERT
FROM FILE = 'C:\temp\TDECert.cer'
WITH PRIVATE KEY (FILE = 'C:\temp\TDECertKey.pvk' , 
DECRYPTION BY PASSWORD ='pAssW0rD')
GO

и больше ничего не нужно

это просто!

...