KB2300689 - PERBAIKI: Anda tidak dapat memulihkan cadangan database pada instans lain SQL Server jika Anda menonaktifkan enkripsi data transparan sebelum membuat cadangan di SQL Server 2008 atau di SQL Server 2008 R2

Berlaku Untuk
SQL Server 2008 Service Pack 2 SQL Server 2008 R2

Microsoft mendistribusikan perbaikan Microsoft SQL Server 2008 dan Microsoft SQL Server 2008 R2 sebagai satu file yang dapat diunduh. Karena perbaikan bersifat kumulatif, setiap rilis baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 atau SQL Server 2008 R2 sebelumnya.

Gejala

Pertimbangkan skenario berikut:

  • Anda menggunakan enkripsi data transparan pada database di SQL Server 2008 atau di Microsoft SQL Server 2008 R2.
  • Anda menonaktifkan enkripsi untuk database.
  • Anda mencadangkan database segera setelah menonaktifkan enkripsi.
  • Anda mencoba memulihkan database di instans SQL Server lain menggunakan cadangan.

Dalam skenario ini, operasi pemulihan gagal, dan Anda menerima pesan kesalahan yang menyerupai seperti berikut:

Catatan

System.Data.SqlClient.SqlError: File "<nama> database_log" gagal diinisialisasi dengan benar. Periksa log kesalahan untuk detail selengkapnya. (Microsoft.SqlServer.Smo)

Namun, log kesalahan tidak memiliki detail.

Jika Anda menghapus kunci enkripsi untuk database sebelum mencadangkan database, Anda akan mendapatkan pesan kesalahan berikut saat mencoba memulihkan database:

Catatan

System.Data.SqlClient.SqlError: Tidak dapat menemukan sertifikat server dengan sidik jari '0xCB62FF76463A6BF86E8F769B541BA6483AFC2FF2'. (Microsoft.SqlServer.Smo)

Resolusi

Informasi pembaruan kumulatif

SQL Server 2008 Paket Layanan 1

Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 10 untuk SQL Server 2008 Paket Layanan 1. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2279604 Paket pembaruan kumulatif 10 untuk SQL Server 2008 Paket Layanan 1Note Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Microsoft menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

970365 Build SQL Server 2008 yang dirilis setelah SQL Server 2008 Paket Layanan 1 dirilis, hotfix Microsoft SQL Server 2008 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan hotfix SQL Server 2008 Paket Layanan 1 ke penginstalan SQL Server 2008 Paket Layanan 1. Secara default, hotfix apa pun yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

SQL Server 2008 Paket Layanan 2

Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 1 untuk SQL Server 2008 Paket Layanan 2. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2289254 Pembaruan kumulatif 1 untuk SQL Server Paket Layanan 2008 2Note Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Kami menyarankan Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2402659 Build SQL Server 2008 yang dirilis setelah SQL Server 2008 Paket Layanan 2 dirilis

SQL Server 2008 R2

Perbaikan untuk masalah ini pertama kali dirilis di Pembaruan Kumulatif 4. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2345451 Paket Pembaruan Kumulatif 4 untuk SQL Server 2008 R2 Catatan Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 sebelumnya. Kami menyarankan Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

981356 Build SQL Server 2008 R2 yang dirilis setelah SQL Server 2008 R2 dirilis

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Langkah-langkah untuk mereproduksi masalah

  1. Buat kunci master. Berikut ini adalah contoh kode yang membuat kunci master:

    use master
    Create Master Key encryption by password = 'Password01!';
    go
    
  2. Buat atau dapatkan sertifikat yang dilindungi oleh kunci master. Berikut ini adalah contoh kode yang membuat sertifikat yang dilindungi oleh kunci master:

    create certificate cert_testDB_encryptDEK  authorization dbo
    with subject='Certificate to encrypt the DEK of testDB'
    
  3. Buat database baru, buat kunci enkripsi database, lalu lindungi kunci dengan sertifikat. Berikut ini adalah contoh kode yang membuat database baru, yang membuat kunci enkripsi database, lalu yang melindungi kunci menggunakan sertifikat:

    create Database testDB
    use testDB
    Create database encryption key 
    with algorithm=AES_128
    encryption by server certificate cert_testDB_encryptDEK  
    
    
  4. Atur database untuk menggunakan enkripsi. Berikut ini adalah contoh kode yang mengatur database untuk menggunakan enkripsi:

    Alter database testDB set encryption on 
    
    
  5. Nonaktifkan enkripsi untuk database. Berikut ini adalah contoh kode yang menonaktifkan enkripsi untuk database:

    Alter database testDB set encryption off 
    
    
  6. Cadangkan database, lalu pulihkan cadangan di versi SQL Server lainnya.

Referensi

Untuk informasi selengkapnya tentang Enkripsi Data Transparan (TDE), kunjungi situs web Jaringan Pengembang Microsoft (MSDN) berikut:

Informasi umum tentang TDE Untuk informasi selengkapnya tentang Model Pelayanan Tambahan untuk SQL Server, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

935897 Model Pelayanan Tambahan tersedia dari tim SQL Server untuk memberikan perbaikan atas masalah yang dilaporkan

Untuk informasi selengkapnya tentang skema penamaan untuk pembaruan SQL Server, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

822499 Skema penamaan baru untuk paket pembaruan perangkat lunak Microsoft SQL Server Untuk informasi selengkapnya tentang terminologi pembaruan perangkat lunak, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft