Actualización : @AmitBanerjee - El Gerente Senior de Programas del Grupo de Productos de Microsoft SQL Server confirmó que MS analizará el problema ya que es un defecto.
¿Alguien ha tenido problemas para restaurar las copias de seguridad realizadas en SQL Server 2016 con TDE habilitado y usando MAXTRANSFERSIZE
> 65536 (en mi caso, he elegido 65537 para poder comprimir la base de datos TDE ) y CHECKSUM
?
A continuación hay una reproducción:
--- 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
Tome copia de seguridad solo copia de seguridad ... hazlo dos veces
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
Ahora haz un verifyonly
...
restore verifyonly from disk = 'D:\temporary-short-term\test_restore_KIN_test_restore_1.bak'
Mensaje de error :
Mensaje 3241, Nivel 16, Estado 40, Línea 11 La familia de medios en el dispositivo 'D: \ temporary-short-term \ test_restore_KIN_test_restore_1.bak' está formada incorrectamente. SQL Server no puede procesar esta familia de medios. Msg 3013, Nivel 16, Estado 1, Línea 11 VERIFICAR BASE DE DATOS está terminando anormalmente.
Resultados (1 = ON, 0 = OFF) con diferentes combinaciones:
+-------------------------+-------------+----------+--------+
| 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 |
+-------------------------+-------------+----------+--------+
El problema ocurre en:
Microsoft SQL Server 2016 (RTM-CU1) (KB3164674) - 13.0.2149.0 (X64) 11 de julio de 2016 22:05:22 Copyright (c) Microsoft Corporation Enterprise Edition (64 bits) en Windows Server 2012 R2 Standard 6.3 (Build 9600 :)
FORMAT
encabezado sobrescribirá también y no sucede cuando se usaFORMAT
. Aún así esto es un misterio como por qué el encabezado de copia de seguridad (o copia de seguridad en su conjunto) resulta dañada cuando se utilizaMAXTRANSFERSIZE
yCHECKSUM
en conjunto, junto con INIT. Esto nunca sucedió en versiones inferiores, pero en aquellas no huboMAXTRANSFERSIZE
. Gracias por tu respuesta. Mantendrá esto abierto si alguien tiene más información.