Не могу найти сертификат - PullRequest
3 голосов
/ 15 января 2011

Мы получаем ошибку T-SQL (SQL Server 2008 R2) в сертификате резервного копирования: ERROR_NUMBER 15151, SEVERITY 16, СОСТОЯНИЕ 1, ПРОЦЕДУРА -, ЛИНИЯ 8, СООБЩЕНИЕ: Невозможно найти сертификат «certificate1», поскольку он не существует или у вас нет разрешения.

Мы можем увидеть сертификат в master.sys.certificates.

Наш псевдокод:

  • скопировать неприкрепленный template_db в db1

  • attach db1

  • создать сертификат1 (в хранимой процедуре в master db)

  • сгенерировать @ пароль

  • КЛАВИША СОЗДАНИЯ КОДА БАЗЫ ДАННЫХ… ШИФРОВАНИЕ СЕРТИФИКАТОМ СЕРВЕРА '+ @ сертификата_имя +… (в хранимой процедуре в db1)

  • включить Прозрачное шифрование базы данных для db1 с использованием certificate1. (N'ALTER DATABASE '+ @ db_name + N' SET ENCRYPTION ON ')

  • СЕРТИФИКАТ РЕЗЕРВНОГО КОПИРОВАНИЯ + имя сертификата + N TO FILE = '' '+ @ certificate_file_path + N' '' С ЧАСТНЫМ КЛЮЧОМ ( FILE = '' '+ @ private_key_file_path + N' '', ШИФРОВАНИЕ ПО ПАРОЛЮ = '' '+ @ пароль + N' '' '

Чтобы попытаться обойти ошибку, мы каждый раз тестировали три способа с кодом BACKUP CERTIFICATE в разных базах данных, включая db1 и master. Все получают ту же ошибку.

Есть идеи? Спасибо.

1 Ответ

2 голосов
/ 20 января 2011

Мы попробовали еще раз, запустив BACKUP CERTIFICATE в главной БД, и на этот раз все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...