Güncelleştirme : @AmitBanerjee - Microsoft SQL Server Ürün Grubu Kıdemli Program Yöneticisi, MS'in bir kusur olduğu için soruna bakacağını doğruladı .
Herkes TDE etkin SQL Server 2016 alınan yedekleri geri yükleme ve MAXTRANSFERSIZE
> 65536 kullanarak sorunla karşılaştı (benim durumumda, ben TDE veritabanını sıkıştırmak böylece 65537 seçtim ) ve CHECKSUM
?
Aşağıda bir repro var:
--- 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
Sadece tam kopya yedek al .. iki kere yap
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
Şimdi bir verifyonly
...
restore verifyonly from disk = 'D:\temporary-short-term\test_restore_KIN_test_restore_1.bak'
Hata mesajı :
Msg 3241, Seviye 16, Durum 40, Satır 11 'D: \ geçici-kısa süreli \ test_restore_KIN_test_restore_1.bak' cihazındaki medya ailesi yanlış oluşturulmuş. SQL Server bu medya ailesini işleyemiyor. Msg 3013, Seviye 16, Durum 1, Satır 11 VERİTABANI DOĞRULA anormal olarak sona eriyor.
Farklı kombinasyonlara sahip sonuçlar (1 = AÇIK, 0 = KAPALI):
+-------------------------+-------------+----------+--------+
| 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 |
+-------------------------+-------------+----------+--------+
Sorun şu şekilde olur:
Microsoft SQL Server 2016 (RTM-CU1) (KB3164674) - 13.0.2149.0 (X64) 11 Tem 2016 22:05:22 Telif Hakkı (c) Windows Server 2012 R2 Standard 6.3 (Derleme 9600) üzerinde Microsoft Corporation Enterprise Edition (64 bit) :)
FORMAT
üstbilginin üzerine de yazılır ve kullanılırken gerçekleşmezFORMAT
. Yine de bu, INIT ile birlikteMAXTRANSFERSIZE
veCHECKSUM
birlikte kullanıldığında yedekleme başlığının (veya bir bütün olarak yedeklemenin) bozulmasının neden olduğu bir gizemdir . Bu daha düşük versiyonlarda hiç olmadı, ama bu versiyonlarda hiç yoktuMAXTRANSFERSIZE
. Cevabınız için teşekkürler. Birisi daha fazla bilgiye sahipse bunu açık tutacaktır.