Jawaban:
Anda dapat memindahkan file MDF ke server lain untuk membuatnya online.
Dalam lingkungan pengembangan / pementasan, kadang-kadang berguna untuk membuat basis data offline untuk memastikan bahwa Anda tersambung ke instance database yang tepat dalam aplikasi dan bahwa Anda tidak memiliki string koneksi yang didongkrak di suatu tempat.
Yang mengatakan, dalam situasi ini adalah ide yang jauh lebih baik untuk memiliki nama database yang berbeda untuk lingkungan yang berbeda dan proses build yang secara otomatis akan mengkonfigurasi string koneksi Anda ...
Demikian pula, saya suka mengambil offline database untuk jangka waktu tertentu sebelum menonaktifkan mereka dalam (tidak begitu) dari kemungkinan bahwa untuk beberapa alasan mereka perlu kembali online. Saya telah beberapa kali digigit oleh para dev yang memiliki kaitan yang tidak saya ketahui ke dalam salah satu basis data saya ketika saya ingin menyingkirkannya. Mengambilnya offline jauh lebih drastis dan memakan waktu lebih sedikit daripada menghapusnya dan mengembalikannya jika perlu.
Hal lain adalah sebagai pengamanan darurat. Saya harus melakukan ini sebelumnya. Terkadang bug jahat ditemukan di aplikasi Anda yang, meskipun tidak berbahaya, masih akan merusak data di database Anda. Membuat basis data offline adalah cara cepat untuk menghentikan pendarahan sampai Anda mengidentifikasi bug. Anda kemudian dapat membawanya kembali online untuk menilai kerusakan dalam database.
Sementara beberapa jawaban di sini mungkin memberi Anda beberapa ide mengenai apa yang dapat Anda lakukan dengan database yang memiliki akses terbatas, tidak banyak yang bisa dilakukan dengan database yang offline. Anda tidak dapat memperbarui, meningkatkan, menambah atau menghapus data, dll.
Alasan utama saya, yang harus saya jual ke DBA lebih sering daripada yang ingin saya sebutkan ...
"SAN perlu diperbaiki ... dan tidak, aku tidak bisa hanya menukar drive, backplane / controller salah."
Contoh DB berperilaku sangat buruk ketika disk mereka pergi.
Jadi, saya menutup instance SQL sebelum mengambil SAN offline, dan kemudian mengembalikannya satu per satu sehingga mereka tidak memperebutkan sumber daya - contoh pertama mengambil semua sumber daya klaster dan menjadi simpul DB Aktif, contoh berikutnya dijalankan sebagai node Pasif.
Ada banyak alasan mengapa Anda perlu melakukan ini ..
Sebagai contoh,
consider changing or upgrading the actual database program/binary...
consider changing or upgrading the schema or tables..
consider changing or upgrading index's..
Poin paling penting ..
Is taking a backup.. to get a perfect snapshot in time..
(di beberapa DB, Anda hanya membuat kunci di semua tabel)