KB2300689 - DÜZELTME: SQL Server 2008 veya SQL Server 2008 R2'de yedeklemeyi oluşturmadan önce saydam veri şifrelemesini devre dışı bırakırsanız, veritabanının yedeğini başka bir SQL Server örneğine geri yükleyemezsiniz

Uygulandığı Öğe
SQL Server 2008 Service Pack 2 SQL Server 2008 R2

Microsoft, Microsoft SQL Server 2008 ve Microsoft SQL Server 2008 R2 düzeltmelerini indirilebilir tek bir dosya olarak dağıtır. Düzeltmeler birikmeli olduğundan, her yeni sürüm önceki SQL ServerSQL Server 2008 veya SQL ServerSQL Server 2008 R2 düzeltme sürümünde yer alan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir.

Belirtiler

Aşağıdaki senaryoyu ele alalım:

  • SQL Server 2008 veya Microsoft SQL Server 2008 R2'deki bir veritabanında saydam veri şifrelemesi kullanıyorsunuz.
  • Veritabanının şifrelemesini devre dışı bırakırsınız.
  • Şifrelemeyi devre dışı bıraktıktan hemen sonra veritabanını yedeklersiniz.
  • Yedeği kullanarak, veritabanını başka bir SQL Server örneğinde geri yüklemeye çalışırsınız.

Bu senaryoda, geri yükleme işlemi başarısız olur ve aşağıdakine benzer bir hata iletisi alırsınız:

Not

System.Data.SqlClient.SqlError: "<veritabanı adı>_log" dosyası doğru başlatılamadı. Daha fazla ayrıntı için hata günlüklerini inceleyin. (Microsoft.SqlServer.Smo)

Ancak, hata günlüğünde hiçbir ayrıntı yoktur.

Veritabanını yedeklemeden önce veritabanının şifreleme anahtarını kaldırırsanız, veritabanını geri yüklemeye çalıştığınızda aşağıdaki hata iletisini alırsınız:

Not

System.Data.SqlClient.SqlError: '0xCB62FF76463A6BF86E8F769B541BA6483AFC2FF2' parmak izine sahip sunucu sertifikası bulunamıyor. (Microsoft.SqlServer.Smo)

Çözüm

Toplu güncelleştirme bilgileri

SQL ServerSQL Server 2008 Service Pack 1

Bu soruna yönelik düzeltme ilk olarak SQL Server 2008 Service Pack 1 için Toplu Güncelleştirme 10'da yayımlanmıştır. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

SQL Server 2008 Service Pack 1 için 2279604 Toplu Güncelleştirme Paketi 10Not: Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 düzeltme sürümüne eklenmiş olan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

970365 SQL Server 2008 Service Pack 1 yayımlandıktan sonra yayımlanan SQL Server 2008 derlemeleri Belirli SQL Server hizmet paketleri için Microsoft SQL Server 2008 düzeltmeleri oluşturulmuştur. Bir SQL ServerSQL Server 2008 Service Pack 1 yüklemesine bir SQL ServerSQL Server 2008 Service Pack 1 düzeltmesi uygulamanız gerekir. Varsayılan olarak, bir SQL ServerSQL Server hizmet paketinde sağlanan tüm düzeltmeler, bir sonraki SQL ServerSQL Server hizmet paketine dahil edilir.

SQL ServerSQL Server 2008 Service Pack 2

Bu soruna yönelik düzeltme ilk olarak SQL Server 2008 Service Pack 2 için Toplu Güncelleştirme 1'de yayımlanmıştır. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

2289254 SQL Server 2008 Service Pack 2 için Toplu Güncelleştirme 1Not: Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 düzeltme sürümüne eklenmiş olan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

2402659 SQL Server 2008 Service Pack 2 yayınlandıktan sonra yayımlanan SQL Server 2008 derlemeleri

SQL Server 2008 R2

Bu soruna yönelik düzeltme ilk olarak Toplu Güncelleştirme 4'te yayınlandı. SQL Server 2008 R2 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

SQL Server 2008 R2 için 2345451 Toplu Güncelleştirme Paketi 4 Not Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 R2 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

981356 SQL Server 2008 R2 yayınlandıktan sonra yayımlanan SQL Server 2008 R2 derlemeleri

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Sorunu yeniden oluşturma adımları

  1. Bir ana anahtar oluşturun. Aşağıda, ana anahtar oluşturan bir kod örneği verilmiştir:

    use master
    Create Master Key encryption by password = 'Password01!';
    go
    
  2. Ana anahtarla korunan bir sertifika oluşturun veya edinin. Aşağıda, ana anahtarla korunan bir sertifika oluşturan bir kod örneği verilmiştir:

    create certificate cert_testDB_encryptDEK  authorization dbo
    with subject='Certificate to encrypt the DEK of testDB'
    
  3. Yeni bir veritabanı oluşturun, bir veritabanı şifreleme anahtarı oluşturun ve sonra anahtarı sertifikayla koruyun. Aşağıda yeni bir veritabanı oluşturan, bir veritabanı şifreleme anahtarı oluşturan ve ardından sertifika kullanarak anahtarı koruyan bir kod örneği verilmiştir:

    create Database testDB
    use testDB
    Create database encryption key 
    with algorithm=AES_128
    encryption by server certificate cert_testDB_encryptDEK  
    
    
  4. Veritabanını şifreleme kullanacak şekilde ayarlayın. Aşağıdaki örnekte, veritabanını şifreleme kullanacak şekilde ayarlayan bir kod örneği verilmiştir:

    Alter database testDB set encryption on 
    
    
  5. Veritabanı için şifrelemeyi devre dışı bırakın. Aşağıda, bir veritabanı için şifrelemeyi devre dışı bırakan bir kod örneği verilmiştir:

    Alter database testDB set encryption off 
    
    
  6. Veritabanını yedekleyin ve sonra yedeği başka bir SQL Server sürümünde geri yükleyin.

Başvurular

Saydam Veri Şifrelemesi (TDE) hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) web sitesini ziyaret edin:

TDE hakkında genel bilgiler SQL Server için Artımlı Hizmet Modeli hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

935897 Bildirilen sorunlara yönelik düzeltmeler sağlamak için SQL Server ekibi tarafından bir Artımlı Bakım Modeli sağlanır

SQL Server güncelleştirmelerin adlandırma şeması hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

822499 Microsoft SQL Server yazılım güncelleştirme paketleri için yeni adlandırma şemasıYazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması