Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_TDE_BACKUP_RESTORE 1С:Предприятие и СУБД

Бэкап и восстановление баз с TDE (Transparent Data Encryption) в MSSQL

Обновлено: 26.08.2026 · Официальная документация ↗

Проблемы обслуживания баз с включенным прозрачным шифрованием данных (TDE):

  • Ошибка Cannot find server certificate with thumbprint... (Error 33111 / 3013) при попытке развернуть бэкап на тестовом сервере;
  • Файлы резервных копий шифруются автоматически, делая невозможным их импорт без переноса сертификата;
  • Падение производительности и низкая степень компрессии бэкапов TDE без специальной настройки.

1. Как TDE влияет на резервное копирование

При включенном TDE (Transparent Data Encryption) все страницы данных в файлах MDF и LDF зашифрованы ключом шифрования базы (DEK — Database Encryption Key). При выполнении команды BACKUP DATABASE страницы копируются в файл .bak в зашифрованном виде.

2. Экспорт сертификата TDE с исходного сервера

Для переноса бэкапов на любой другой сервер необходимо выгрузить сертификат, защищающий DEK:

USE [master];
GO

-- Определение имени сертификата, используемого для TDE
SELECT 
    d.name,
    c.name AS CertificateName,
    c.thumbprint
FROM sys.dm_database_encryption_keys dek
JOIN sys.certificates c ON dek.encryptor_thumbprint = c.thumbprint
JOIN sys.databases d ON dek.database_id = d.database_id;

-- Бэкап сертификата и приватного ключа в файлы
BACKUP CERTIFICATE [TDE_Cert_ERP]
TO FILE = 'E:\SecureKeys\TDE_Cert_ERP.cer'
WITH PRIVATE KEY (
    FILE = 'E:\SecureKeys\TDE_Cert_ERP.pvk',
    ENCRYPTION BY PASSWORD = 'ComplexPassword!987'
);
GO

3. Импорт сертификата на целевой (приемный) сервер

Выполните на целевом инстансе перед началом восстановления:

USE [master];
GO
-- Создание Master Key экземпляра (если отсутствует)
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE name = '##MS_DatabaseMasterKey##')
BEGIN
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'TargetMasterKeyPassword!123';
END
GO

-- Импорт сертификата TDE
CREATE CERTIFICATE [TDE_Cert_ERP]
FROM FILE = 'E:\SecureKeys\TDE_Cert_ERP.cer'
WITH PRIVATE KEY (
    FILE = 'E:\SecureKeys\TDE_Cert_ERP.pvk',
    DECRYPTION BY PASSWORD = 'ComplexPassword!987'
);
GO

4. Восстановление зашифрованной базы на новом сервере

RESTORE DATABASE [ERP_1C]
FROM DISK = N'E:\Backup\ERP_1C_TDE.bak'
WITH MOVE N'ERP_1C_Data' TO N'D:\Data\ERP_1C.mdf',
MOVE N'ERP_1C_Log' TO N'L:\Logs\ERP_1C.ldf',
REPLACE, STATS = 10;
GO
💡 Практика специалистов: Шифрование TDE также автоматически шифрует системную базу tempdb на всем экземпляре SQL Server. Учитывайте возможное увеличение нагрузки на CPU (в пределах 3-7%) для всех баз на данном инстансе.

Частые вопросы (FAQ)

Как правильно сжимать бэкапы баз с включенным TDE?

В команде BACKUP необходимо явно указать параметр MAXTRANSFERSIZE >= 65536: BACKUP DATABASE [ERP_1C] TO DISK = '...' WITH COMPRESSION, MAXTRANSFERSIZE = 1048576, CHECKSUM. Без этого сжатие зашифрованных страниц работать не будет.

Шифрует ли TDE файлы бэкапа журнала транзакций (.trn)?

Да, журналы транзакций баз с TDE автоматически шифруются тем же ключом DEK, поэтому для их восстановления также требуется наличие сертификата TDE на целевом сервере.

Поддерживается ли TDE в редакции Standard?

Начиная с SQL Server 2019, технология TDE стала доступна в редакции Standard (ранее требовалась редакция Enterprise).

Можно ли снять TDE шифрование с базы перед созданием бэкапа?

Да: ALTER DATABASE [ERP_1C] SET ENCRYPTION OFF. Но учтите, что расшифровка терабайтной базы займет много часов и создаст огромную нагрузку на дисковую подсистему.

Полезные материалы
Рекомендуем