powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ключ, который требуется для данной операции, поврежден.
8 сообщений из 8, страница 1 из 1
Ключ, который требуется для данной операции, поврежден.
    #39789000
IronKancler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста в чем проблема

USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '******';
GO

Use Master
GO
CREATE CERTIFICATE DBCert
WITH SUBJECT = 'DB Backup Encryption Certificate';
GO
BACKUP CERTIFICATE DBCert TO FILE = 'd:\temp\DBCert'
GO

BACKUP MASTER KEY TO FILE = 'd:\temp\MasterKey'
ENCRYPTION BY PASSWORD = '***********'

На другом компе:

RESTORE MASTER KEY FROM FILE = 'D:\temp\MasterKey'
DECRYPTION BY PASSWORD = '*************'
ENCRYPTION BY PASSWORD = '*************
GO
CREATE CERTIFICATE DBCert
FROM FILE = 'D:\temp\DBCert''

GO
--Восстанавливаю базу
USE master
GO
RESTORE DATABASE [DB_20190320_1311] FROM DISK = N'D:\temp\DB_copy_only_20190320_1307.bak' WITH FILE = 1, NOUNLOAD, STATS = 5
---------------------------------------------------

и получаю ошибку

Сообщение 15507, уровень 16, состояние 30, строка 2
Ключ, который требуется для данной операции, поврежден.
Сообщение 3013, уровень 16, состояние 1, строка 2
RESTORE DATABASE прервано с ошибкой.
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789003
IronKancler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бэкап делал так

BACKUP DATABASE [DB] TO DISK = N'D:\temp\DB_copy_only_20190320_1307' WITH ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = DBCert), COPY_ONLY, NOFORMAT, NOINIT, NAME = N''DB-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789046
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IronKancler,

Код: sql
1.
OPEN MASTER KEY DECRYPTION BY PASSWORD =  '******'
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789048
IronKancler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OPEN MASTER KEY DECRYPTION BY PASSWORD = '****'
Выполнилось

База по прежнему не восстанавливается
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789049
IronKancler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вижу такие примеры восстановления сертификата

CREATE CERTIFICATE DBCert
FROM FILE = 'D:\tmp\DBCert'
WITH PRIVATE KEY
(
FILE = 'D:\temp\DB.key' ,
DECRYPTION BY PASSWORD = '*******'
)


Но я не создавал ключей (DB.key) - может как то с этим связана ошибка?
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789061
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IronKancler,

а вы еще бэкап сертификата сделали только с открытым ключем.

у вас для восстановления:
а) должен сущесвовать мастер ключ базы мастер
б) должен быть импортирован сертификат который использовался для шифрования бэкапа

если схематично то что то типа того:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '******';
GO 
create certificate cert with subject ='backup cert';
go
backup certificate cert to file ='C:\cert.cer' with private key (file = 'c:\cert.pvk', encryption by password = '123456');
go
backup database some_db_for_backup ...  with encryption (algorithm = aes_256, server certificate = cert);



на втором сервере:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
use master;

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '111';--если ключа БД еще нет
go

create certificate cert from file = 'c:\cert.cer' with private key (file = 'c:\cert.pvk', decryption by password = '123456');
go

OPEN MASTER KEY DECRYPTION BY PASSWORD =  '111';
go

restore database ...
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789075
IronKancler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix. Спасибо большое.

Все верно я сделал бэкап только с открытым ключем

+При восстановлении нужно писать OPEN MASTER KEY DECRYPTION BY PASSWORD

Спасибо!
...
Рейтинг: 0 / 0
Ключ, который требуется для данной операции, поврежден.
    #39789081
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IronKanclerfelix. Спасибо большое.

Все верно я сделал бэкап только с открытым ключем

+При восстановлении нужно писать OPEN MASTER KEY DECRYPTION BY PASSWORD

Спасибо!

вы можете не писать данную инструкцию если у вас мастер ключ БД шифруется мастер ключем службы.

посмотреть это можно в sys.databases
Код: sql
1.
select is_master_key_encrypted_by_server , name from sys.databases
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ключ, который требуется для данной операции, поврежден.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]