Aggiornamento : @AmitBanerjee - Senior Program Manager per il gruppo di prodotti Microsoft SQL Server ha confermato che MS esaminerà il problema in quanto si tratta di un difetto.
Qualcuno ha riscontrato problemi durante il ripristino dei backup eseguiti su SQL Server 2016 con TDE abilitato e utilizzando MAXTRANSFERSIZE
> 65536 (nel mio caso, ho scelto 65537 in modo da poter comprimere il database TDE ) e CHECKSUM
?
Di seguito è una riproduzione:
--- 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
Prendi il backup completo solo della copia .. fallo due volte ..
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
Ora fai un verifyonly
...
restore verifyonly from disk = 'D:\temporary-short-term\test_restore_KIN_test_restore_1.bak'
Messaggio di errore :
Messaggio 3241, livello 16, stato 40, riga 11 La famiglia di supporti sul dispositivo "D: \ temporary-short-term \ test_restore_KIN_test_restore_1.bak" è formata in modo errato. SQL Server non può elaborare questa famiglia di supporti. Messaggio 3013, livello 16, stato 1, riga 11 VERIFY DATABASE si sta chiudendo in modo anomalo.
Risultati (1 = ON, 0 = OFF) con diverse combinazioni:
+-------------------------+-------------+----------+--------+
| 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 |
+-------------------------+-------------+----------+--------+
Il problema si verifica su:
Microsoft SQL Server 2016 (RTM-CU1) (KB3164674) - 13.0.2149.0 (X64) 11 luglio 2016 22:05:22 Copyright (c) Microsoft Corporation Enterprise Edition (64 bit) su Windows Server 2012 R2 Standard 6.3 (Build 9600 :)
FORMAT
sovrascriverà anche l'intestazione e non succede quando si usaFORMAT
. Tuttavia, questo è un mistero perché l'intestazione del backup (o il backup nel suo insieme) viene danneggiato durante l'utilizzoMAXTRANSFERSIZE
eCHECKSUM
insieme a INIT. Questo non è mai accaduto nelle versioni precedenti ma in quelle non c'eraMAXTRANSFERSIZE
. Grazie per la tua risposta. Terrà questo aperto se qualcuno ha più informazioni.