Pindahkan file log tanpa membuat basis data offline


14

Saya perlu memindahkan file log database ke partisi baru tanpa membuat database offline.

Cara normal untuk melakukan ini adalah dengan melepaskan DB, pindahkan file log kemudian pasang kembali db.

Apakah mungkin untuk melakukan ini tanpa membuat database itu sendiri offline dan jika demikian bagaimana caranya?


Jawaban:


16

Tidak ada cara untuk melakukan ini dengan database online.

Saat Anda memindahkan file database ( ALTER DATABASE ... MODIFY FILE), Anda bahkan mendapatkan pesan berikut:

File "YourFile" telah dimodifikasi dalam katalog sistem. Jalur baru akan digunakan saat database dimulai .


Cara normal untuk melakukan ini adalah dengan melepaskan DB, pindahkan file log kemudian pasang kembali db.

Itu bukan cara "normal" atau diterima saya akan melakukannya. Untuk memindahkan file database, saya melakukan hal berikut:

  1. Jalankan perintah ALTER DATABASE untuk mengubah lokasi file
  2. Bawalah database secara offline
  3. Pindahkan file secara fisik ke lokasi baru yang ditentukan pada langkah # 1
  4. Bawa database secara online

Lihat referensi ini di TechNet: Pindahkan Database Pengguna


3

Menurut referensi pada TechNet Pindahkan Pengguna Database dari jawaban Thomas Stringer , jika Anda ingin memindahkan file tanpa menghentikan seluruh contoh SQL Server (mengikuti "Prosedur Relokasi yang Direncanakan"), urutannya harus:

ALTER DATABASE database_name SET OFFLINE;
... move the file(s) to new location
ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' );
ALTER DATABASE database_name SET ONLINE;

Perhatikan OFFLINE terlebih dahulu; setelah itu pindahkan file dan beri tahu SQL Server tentang lokasi baru.

Jika Anda perlu menurunkan seluruh contoh SQL Server (lihat prosedur untuk "Relokasi untuk Pemeliharaan Disk Terjadwal"), yang terbaik adalah memodifikasi lokasi file terlebih dahulu sehingga ketika instance dimulai kembali, tidak ada masalah menemukan file di lokasi baru.


1

Saya tahu ini adalah pertanyaan lama tetapi tidak bisakah Anda menambahkan file log kedua (yang kemudian digunakan oleh DB alih-alih yang asli) di lokasi baru kemudian mengecilkan / menghapus yang asli?

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.