Pemeliharaan Log Transaksi pada basis data Mirror

10

Versi SQL Server: 2008 R2 Enterprise SP2

Saya mencoba untuk menangani pemeliharaan SQL Server kami dan saya menemukan sesuatu yang saya pikir salah. Kami memiliki satu contoh produksi dengan masing-masing 3 basis data yang dicerminkan di luar kantor ke mesin virtual DR.

Sambil melihat contoh DR saya perhatikan bahwa file LDF sangat besar, lebih dari 35GB untuk database yang banyak digunakan.

Saya mengerti bahwa ini mungkin karena database cermin berada dalam mode Pemulihan penuh dan bahwa log tidak pernah dicadangkan, mereka hanya akan terus tumbuh sampai kehabisan ruang drive.

Kami sedang melakukan pencadangan log pada basis data utama, dan pertanyaan saya adalah apa saja yang didapatkan dengan melakukan pencadangan log di cermin?

Setidaknya satu cadangan database lengkap dari mirror harus diselesaikan sebelum melakukan backup log, dalam hal ini apakah ada opsi khusus yang perlu digunakan karena itu adalah mirror?

Sekali lagi ini adalah rekomendasi pemeliharaan log transaksi pada database MIRROR .

Terima kasih atas masukannya

Jeremie Grund
sumber

Jawaban:

5

Kami sedang melakukan pencadangan log pada basis data utama, dan pertanyaan saya adalah apa saja yang didapatkan dengan melakukan pencadangan log di cermin?

Anda tidak dapat melakukan pencadangan log pada database mirror.

Setidaknya satu cadangan database lengkap dari mirror harus diselesaikan sebelum melakukan backup log, dalam hal ini apakah ada opsi khusus yang perlu digunakan karena itu adalah mirror?

Anda tidak dapat melakukan backup database lengkap pada database mirror.

Ambil contoh ini: Saya punya Server1yang menampung basis data utama AdventureWorks2012, dan saya punya Server2yang berisi cermin. Inilah yang terjadi ketika saya mencoba menjalankan backup pada database mirror (on Server2):

use master;
go

backup database AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.bak';
go

Msg 954, Level 14, State 1, Line 2
Basis data "AdventureWorks2012" tidak dapat dibuka. Ini bertindak sebagai database cermin .
Msg 3013, Level 16, Status 1, Baris 2
DATABASE CADANGAN diakhiri secara tidak normal.

backup log AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.trn';
go

Msg 954, Level 14, Negara Bagian 1, Baris 1
Basis data "AdventureWorks2012" tidak dapat dibuka. Ini bertindak sebagai database cermin .
Msg 3013, Level 16, Status 1, Baris 1
LOG CADANGAN berakhir secara tidak normal.

Lihatlah FAQ Pencerminan Database ini oleh Robert Davis . Saya akan mengutip dia mengenai operasi ini dan pemeliharaan log transaksi database mirror:

Saat Anda mencadangkan log pada prinsipal, file log virtual (unit individu dalam file log) ditandai sebagai dapat ditulis ulang. VLF yang sama ditandai sebagai dapat ditulis ulang di file log cermin juga. Status VLF dicerminkan pada database .

Jadi begitulah. Jika Anda memiliki cadangan log transaksi pada prinsipal maka perilaku penggunaan kembali log yang sama akan dicerminkan ke database mitranya.

Thomas Stringer
sumber
Saya benci ketika ada artikel di luar sana yang menjawab pertanyaan saya yang tepat dan saya tidak menemukannya. Ini masuk akal, ketika saya mengambil alih log tidak didukung dan tumbuh sangat besar pada kepala sekolah sehingga setelah saya mulai cadangan reguler saya menyusutkan log tetapi tidak berpikir untuk melakukan ini di cermin. Terima kasih!
Jeremie Grund
1
Sebuah pertanyaan tambahan adalah apakah mungkin untuk mengecilkan log transaksi cermin yang sudah ditumbuhi sekarang karena kita memiliki cadangan log transaksi reguler pada prinsipal?
Jeremie Grund
@ JeremieGrund Salah satu cara untuk melakukan ini adalah dengan failover ke database yang dicerminkan dan melakukan menyusut di sana. Ujilah dengan seksama dalam lingkungan non-produksi untuk memastikan ia memiliki perilaku yang Anda inginkan / harapkan.
Thomas Stringer
0

@JeremieGrund - Jika arsitektur file fisik basis data sama (nama & lokasi drive data & log), maka jika Anda mengecilkan file log pada prinsipal, perintah shrink akan dikirim ke mirror dan melakukan hal yang sama di mirror. Jadi dengan cara ini file mirror log Anda dapat dipertahankan .. Jika arsitektur file tidak identik maka Anda harus mengikuti Saran Thomas Stringer ..

kranthi
sumber