KB2300689 – RJEŠENJE: Sigurnosnu kopiju baze podataka ne možete vratiti na drugu instancu SQL Server ako onemogućite prozirno šifriranje podataka prije stvaranja sigurnosne kopije u sustavu SQL Server 2008 ili SQL Server 2008 R2

Primjenjuje se na
SQL Server 2008 Service Pack 2 SQL Server 2008 R2

Microsoft distribuira popravke za Microsoft SQL Server 2008 i Microsoft SQL Server 2008 R2 kao jednu datoteku koja se može preuzeti. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim izdanjem popravaka za SQL Server 2008 ili SQL Server 2008 R2.

Simptomi

Razmotrite sljedeći scenarij:

  • Transparentno šifriranje podataka koristite u bazi podataka u sustavu SQL Server 2008 ili Microsoft SQL Server 2008 R2.
  • Onemogućili ste šifriranje za bazu podataka.
  • Odmah nakon onemogućivanja šifriranja sigurnosno kopirate bazu podataka.
  • Pomoću sigurnosne kopije pokušate vratiti bazu podataka na drugoj instanci sustava SQL Server.

U ovom scenariju operacija vraćanja ne uspije i prikazuje se poruka o pogrešci slična sljedećoj:

Napomena

System.Data.SqlClient.SqlError: datoteka "<naziv> baze podataka_log" nije se pravilno pokrenula. Dodatne pojedinosti potražite u zapisnicima o pogreškama. (Microsoft.SqlServer.Smo)

No zapisnik o pogreškama nema detalja.

Ako uklonite ključ za šifriranje baze podataka prije nego što sigurnosno kopirate bazu podataka, prilikom pokušaja vraćanja baze podataka prikazat će vam se sljedeća poruka o pogrešci:

Napomena

System.Data.SqlClient.SqlError: nije moguće pronaći certifikat poslužitelja s otiskom prsta "0xCB62FF76463A6BF86E8F769B541BA6483AFC2FF2". (Microsoft.SqlServer.Smo)

Rješenje

Kumulativni podaci o ažuriranju

SQL Server 2008 Service Pack 1

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 10 za SQL Server 2008 Service Pack 1. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem

2279604 Paket kumulativnog ažuriranja 10 za SQL Server 2008 Service Pack 1Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008. Microsoft preporučuje da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

970365 Međuverzije SQL Server 2008 koje su izdane nakon objave servisnog paketa Service Pack 1 SQL Server 2008 stvaraju se hitni popravci sustava Microsoft SQL Server 2008 za određene servisne pakete SQL Server. Na instalaciju servisnog paketa SQL Server 2008 Service Pack 1 morate primijeniti hitni popravak servisnog paketa SQL Server 2008 Service Pack 1. Prema zadanim postavkama svi hitni popravci koji se nalaze u servisnom paketu za SQL Server uvrštavaju se u sljedeći servisni paket za SQL Server.

SQL Server 2008 Service Pack 2

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 1 za SQL Server 2008 Service Pack 2. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem

2289254 Kumulativno ažuriranje 1 za SQL Server 2008 Service Pack 2Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2402659 Međuverzije SQL Server 2008 koje su izdane nakon objave servisnog paketa SQL Server 2008 Service Pack 2

SQL Server 2008 R2

Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 4. Dodatne informacije o nabavi paketa kumulativnog ažuriranja za SQL Server 2008 R2 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2345451 Paket kumulativnog ažuriranja 4 za SQL Server 2008 R2 Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravaka za SQL Server 2008 R2. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

981356 međuverzije SQL Server 2008 R2 koje su izdane nakon izdanja sustava SQL Server 2008 R2

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Koraci za reproduciranje problema

  1. Stvorite glavni ključ. Slijedi primjer koda koji stvara glavni ključ:

    use master
    Create Master Key encryption by password = 'Password01!';
    go
    
  2. Stvorite ili nabavite certifikat zaštićen glavnim ključem. Slijedi primjer koda kojim se stvara certifikat zaštićen glavnim ključem:

    create certificate cert_testDB_encryptDEK  authorization dbo
    with subject='Certificate to encrypt the DEK of testDB'
    
  3. Stvorite novu bazu podataka, stvorite ključ za šifriranje baze podataka, a zatim zaštitite ključ certifikatom. Slijedi primjer koda koji stvara novu bazu podataka, stvara ključ za šifriranje baze podataka, a potom štiti ključ pomoću certifikata:

    create Database testDB
    use testDB
    Create database encryption key 
    with algorithm=AES_128
    encryption by server certificate cert_testDB_encryptDEK  
    
    
  4. Postavite bazu podataka tako da koristi šifriranje. Slijedi primjer koda koji bazu podataka postavlja tako da koristi šifriranje:

    Alter database testDB set encryption on 
    
    
  5. Onemogućite šifriranje za bazu podataka. Slijedi primjer koda koji onemogućuje šifriranje za bazu podataka:

    Alter database testDB set encryption off 
    
    
  6. Sigurnosno kopirajte bazu podataka, a zatim sigurnosnu kopiju vratite na drugu verziju sustava SQL Server.

Reference

Dodatne informacije o transparentnom šifriranju podataka (TDE) potražite na sljedećem web-mjestu mreže MSDN (Microsoft Developer Network):

Opće informacije o TDE-u Dodatne informacije o modelu inkrementalnog servisiranja za SQL Server potražite u članku iz Microsoftove baze znanja pod brojem

935897 Tim za SQL Server dostupan je model inkrementalnog servisiranja za isporuku hitnih popravaka za prijavljene probleme

Dodatne informacije o shemi imenovanja za ažuriranja sustava SQL Server potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

822499 Nova shema imenovanja za pakete ažuriranja softvera za Microsoft SQL Server Dodatne informacije o terminologiji ažuriranja softvera potražite u članku iz Microsoftove baze znanja pod brojem

824684 Opis standardne terminologije, koja se koristi za opis Microsoftovih softverskih ažuriranja