Saya memiliki Inisialisasi File Instan yang diaktifkan di SQL Server kami, jadi bagian 'kosong' dari file database tidak diunggulkan sebelum dialokasikan. Pemahaman saya adalah ini berarti bahwa file tersebut dapat berisi data yang 'dihapus'.
Jadi sekarang saya ingin mengirim salinan database (mungkin file cadangan) di luar perusahaan. Tapi ada semua data 'dihapus' yang berpotensi sensitif yang ada di dalam file. Sekarang saya ingin nol bagian file yang tidak terpakai.
Apakah itu mungkin? Saya membayangkan saya bisa membuat database baru dan menyalin semuanya, atau mungkin mengembalikan salinan database ke server lain tanpa Inisialisasi File Instan diaktifkan dan kemudian menjadi agresif dengan perintah ShrinkFile untuk menghapus sebagian besar atau semua bagian yang tidak terpakai dari file database , tetapi adakah metode yang kurang manual dan memakan waktu? Idealnya sebuah perintah untuk memberi tahu SQL pada nol file seperti yang akan dilakukan jika Inisialisasi File Instan tidak diaktifkan.
Jawaban:
CADANGAN SQL Server hanya mencadangkan luasan yang sedang digunakan untuk menyimpan data. Cakupan yang tidak digunakan ditinggalkan oleh cadangan. Ketika halaman digunakan untuk data, itu akan diformat untuk digunakan sesuai kebutuhan, sehingga halaman itu akan bebas dari data lama.
Karena itu, yang harus Anda lakukan adalah membuat cadangan basis data dan memulihkannya di tempat lain. File yang dipulihkan akan memiliki ukuran yang sama dengan database asli, tetapi luasan yang tidak digunakan akan dibuat menggunakan kemampuan server target. Ini dapat diinisialisasi penuh atau langsung diinisialisasi menggunakan blok disk pada server target.
Namun, karena luasan adalah tingkat di mana cadangan terjadi, halaman yang tidak digunakan sejauh mungkin masih berpotensi mengekspos beberapa data ketika dipulihkan pada server lain. Tidak sebanyak yang bisa diekspos di server sumber, karena luasan yang tidak digunakan tidak dipulihkan.
sumber
Sudahkah Anda mempertimbangkan untuk mengembalikan salinannya, mengaktifkan TDE yang akan memaksanya keluar, lalu menonaktifkan TDE lagi? Saya belum menguji ini tetapi saya pikir itu akan berhasil, kita harus mengujinya.
Hal lain juga, sudahkah Anda mempertimbangkan untuk mengembalikan salinannya dengan IFI dinonaktifkan, membuat grup grup baru dengan file-file baru, mempresentasikannya, membangun kembali indeks berkerumun dan lainnya pada filegroup baru, kemudian menjatuhkan filegroup yang ada (Jika itu adalah filegroup utama Anda harus mengecilkannya karena Anda tidak dapat menghapus yang utama)
sumber