Обновление : @AmitBanerjee - старший менеджер программы для группы продуктов Microsoft SQL Server подтвердил, что MS рассмотрит проблему, поскольку она является дефектом.
Кто-нибудь сталкивался с проблемой восстановления резервных копий, сделанных на SQL Server 2016 с включенным TDE и использованием MAXTRANSFERSIZE
> 65536 (в моем случае я выбрал 65537, чтобы я мог сжать базу данных TDE ) и CHECKSUM
?
Ниже приводится репродукция:
--- create database
create database test_restore
go
-- create table
create table test_kin (fname char(10))
go
-- Enable TDE
use master
GO
CREATE CERTIFICATE test_restore WITH SUBJECT = 'test_restore_cert'
GO
SELECT name, pvt_key_encryption_type_desc, * FROM sys.certificates WHERE name = 'test_restore'
GO
use test_restore
go
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE test_restore
GO
alter database test_restore set encryption ON
Возьмите полную копию только резервную копию .. сделайте это дважды ..
backup database test_restore
to disk = 'D:\temporary-short-term\test_restore_KIN_test_restore_1.bak' -- change as per your location !!
with init, stats =10 -- overwrite ..using INIT !!
, maxtransfersize = 65537
, compression
,CHECKSUM
Теперь сделай verifyonly
...
restore verifyonly from disk = 'D:\temporary-short-term\test_restore_KIN_test_restore_1.bak'
Сообщение об ошибке :
Сообщение 3241, уровень 16, состояние 40, строка 11 Семейство носителей на устройстве 'D: \ временное-краткосрочное \ test_restore_KIN_test_restore_1.bak' сформировано неправильно. SQL Server не может обработать это семейство носителей. Сообщение 3013, уровень 16, состояние 1, строка 11, VERIFY DATABASE завершается ненормально.
Результаты (1 = ВКЛ, 0 = ВЫКЛ) с различными комбинациями:
+-------------------------+-------------+----------+--------+
| MAXTRANSFERSIZE (65537) | COMPRESSION | CHECKSUM | RESULT |
+-------------------------+-------------+----------+--------+
| 1 | 1 | 1 | FAIL |
| 1 | 1 | 0 | PASS |
| 1 | 0 | 1 | FAIL |
| 0 | 0 | 0 | PASS |
| 0 | 1 | 1 | PASS |
| 0 | 1 | 0 | PASS |
+-------------------------+-------------+----------+--------+
Проблема происходит на:
Microsoft SQL Server 2016 (RTM-CU1) (KB3164674) - 13.0.2149.0 (X64) 11 июля 2016 г. 22:05:22 Авторское право (c) Microsoft Corporation Enterprise Edition (64-разрядная версия) на Windows Server 2012 R2 Standard 6.3 (сборка 9600) :)
FORMAT
заголовок будет также перезаписывать, и это не происходит при использованииFORMAT
. Тем не менее, это загадка, почему заголовок резервной копии (или резервная копия в целом) поврежден при использованииMAXTRANSFERSIZE
иCHECKSUM
вместе с INIT. Это никогда не случалось на более низких версиях, но в тех не былоMAXTRANSFERSIZE
. Спасибо за Ваш ответ. Будет держать это открытым, если у кого-то есть больше информации.