1

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

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

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

  • копия незакрепленный template_db к DB1

  • присоединять DB1

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

  • генерировать @password

  • CREATE DATABASE шифровального ключа ... ENCRYPTION серверного СЕРТИФИКАТ «+ @ CERTIFICATE_NAME + ... (в хранимой процедуре в DB1)

  • очереди на прозрачном шифровании базы данных для DB1 с помощью сертификат1. (N'ALTER БАЗА ДАННЫХ '+ @ db_name + N' SET ШИФРОВАНИЕ ВКЛ ')

  • N'BACKUP СЕРТИФИКАТ '+ @ CERTIFICATE_NAME + N' TO FILE = ''' + @ certificate_file_path + N ''» с PRIVATE KEY ( FILE = '' '+ @ private_key_file_path + N' '', ENCRYPTION BY PASSWORD = '' '+ @ пароля + N' ''»

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

Любые идеи? Благодарю.

+1

Я не могу проголосовать за ваш ответ, потому что мне не хватает репутации. Спасибо, что опубликовали его! Это была моя проблема, мне нужно было выделить основную базу данных для резервного копирования сертификата, который там был сохранен. –

ответ

1

Мы попробовали снова, выполнив BACKUP CERTIFICATE в мастер-БД, и он работал на этот раз.