Jika database terlepas dari instance secara permanen, apakah ada tugas pembersihan yang harus dilakukan?
10
Jika database terlepas dari instance secara permanen, apakah ada tugas pembersihan yang harus dilakukan?
Jawaban:
Jika Anda melepaskan basis data dari sebuah instance, Anda perlu melakukan penghapusan file-level OS. Pendekatan yang lebih aman adalah dengan menjatuhkan database.
Apa yang saya sarankan adalah mengambil cadangan final dari database setelah Anda memasukkannya ke mode Read Only (karena ini akan memastikan tidak ada aktivitas yang terjadi selama cadangan), setelah itu hapus dari sistem Anda melalui perintah Drop Database .
Set lengkap perintah akan terlihat mirip dengan yang berikut:
Setelah ini, Anda akan ingin mencari Pekerjaan yang menjalankan skrip terhadap basis data. Saya akan menyarankan Anda hanya menunggu untuk melihat apa yang gagal (setelah itu Anda dapat skrip / menghapus pekerjaan) karena ada banyak cara pekerjaan dapat referensi database (tidak semuanya mudah untuk diidentifikasi).
Terakhir, Anda ingin menghapus semua pengguna dari instance yang hanya memiliki akses ke database ini. Skrip ini harus mengidentifikasi siapa pengguna itu, meskipun versi Max jauh lebih bersih (saya tidak menyadari dia memposting pendekatan sampai setelah saya mengedit jawaban saya untuk memasukkan ini):
sumber
Saya telah mengangkat jawaban John; Saya hanya ingin menambahkan beberapa detail tentang item lain yang mungkin ingin Anda bersihkan.
Pekerjaan dan peringatan SQL Server Agent mungkin merujuk pada database. Membersihkannya akan mencegah kesalahan yang tidak perlu dilaporkan.
Hapus semua login yang dibuat khusus untuk database. T-SQL berikut ini akan mengidentifikasi calon yang masuk yang mungkin Anda selidiki untuk melihat apakah mereka sedang digunakan. Kode mengidentifikasi login yang tidak dirujuk oleh basis data apa pun.
Perangkat cadangan mungkin ada untuk database itu. Meskipun menghapusnya tidak sepenuhnya diperlukan, jika mereka tidak digunakan, mereka harus pergi untuk menghilangkan potensi kebingungan di masa depan.
Pemicu tingkat server dapat merujuk database.
Cari paket perawatan yang merujuk pada basis data - ini akan gagal jika tidak diperbarui untuk menghapus database yang hilang.
sumber
Semua poin utama telah dibahas. Di bawah ini adalah 2 sen saya:
Melepaskan basis data tidak pernah merupakan solusi permanen karena memang dimaksudkan untuk digunakan untuk memindahkan file basis data di dalam server atau ke server lain. Menghapus database secara permanen dapat dilakukan dengan opsi Hapus di SSMS atau perintah database DROP seperti yang disebutkan di atas.
Biasanya basis data yang sengaja disimpan offline dan terus menghasilkan Lansiran adalah yang kami lepaskan dan simpan hingga dapat dihapus secara permanen (Dihapus).
Tugas pra-lepas: Jalankan
sp_helpdb dbname
untuk mengetahui lokasi file.Tugas pembersihan:
Selain Login, Agen Pekerjaan, Pemicu dan poin yang telah disebutkan oleh Max, 2 ini juga dapat dilihat.
sumber