Saya memiliki masalah yang sama dan saya yakin telah menyelesaikannya, tetapi saya belum dapat mengujinya sepenuhnya untuk mengonfirmasi.
Saya percaya masalah ini terkait dengan jumlah VLF yang Anda miliki di file log Anda dan bukan ukurannya. Jika Anda memiliki logfile besar, kemungkinan ia tumbuh secara organik melalui peristiwa pertumbuhan otomatis dan itu bukan pertumbuhan yang direncanakan secara disengaja. Jika demikian, Anda mungkin memiliki ribuan VLF di dalam file log.
Berikut ini permintaan untuk melihat berapa banyak VLF yang Anda miliki yang saya gunakan dari sini :
Create Table #stage(
FileID int
, FileSize bigint
, StartOffset bigint
, FSeqNo bigint
, [Status] bigint
, Parity bigint
, CreateLSN numeric(38));
Create Table #results(
Database_Name sysname
, VLF_count int
);
Exec sp_msforeachdb N'Use ?;
Insert Into #stage
Exec sp_executeSQL N''DBCC LogInfo(?)'';
Insert Into #results
Select DB_Name(), Count(*)
From #stage;
Truncate Table #stage;'
Select *
From #results
Order By VLF_count Desc;
Drop Table #stage;
Drop Table #results;
Untuk penjelasan lebih lanjut tentang VLF apa yang melihat tautan ini .
Saya percaya masalahnya adalah bahwa dengan begitu banyak VLF dibutuhkan SQL server lama untuk menilai keadaan mereka dan kemudian membawa database keluar dari pemulihan. Jika Anda mengecilkan file log Anda ke ukuran terkecil yang Anda bisa, sering kali ukuran VLF pertama yang dibuat dalam file log, maka Anda dapat langsung dengan sengaja menumbuhkannya lagi dan dengan demikian membuatnya membuat jumlah VLF yang tepat (sesuatu yang kurang dari 16).
Setelah ini selesai saya yakin Anda akan dapat melihat bahwa database Anda keluar dari pemulihan lebih cepat.
Saya belum memiliki kesempatan untuk menguji kegagalan atas contoh produksi kami setelah saya menyelesaikan masalah VLF kami sendiri sehingga saya akan sangat ingin tahu jika Anda dapat mengonfirmasi ini adalah penyebab utama masalah ini. Secara eksperimental saya telah melihat waktu yang diperlukan untuk memulihkan lingkungan pementasan kami berkurang secara dramatis karena ini, semoga saja begitu.