Operasi database tertentu mengambil durasi sangat lama untuk menyelesaikan atau mengalami kesalahan sewaktu log transaksi telah banyak file virtual log

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2028436 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

GEJALA

Anda mungkin mengalami masalah berikut:
  1. Satu atau lebih database mengambil waktu yang sangat lama untuk menyelesaikan pemulihan selama Persiapan SQL Server
  2. Bila Anda melakukan gulung balik database, dibutuhkan waktu yang sangat lama untuk menyelesaikan
  3. Upaya untuk melampirkan database membutuhkan waktu sangat lama untuk menyelesaikan
  4. Ketika Anda mencoba untuk setup database mirroring Anda pesan galat perjumpaan 1413, 1443 dan 1479 menunjukkan timeout.
  5. Anda mengalami kehabisan memori terkait kesalahan seperti 701 ketika Anda mencoba untuk gulung balik database

Ketika Anda memeriksa SQL Server log galat, Anda melihat bahwa sejumlah besar waktu yang dihabiskan sebelum fase analisis proses pemulihan database.
2010-05-08 14:42:38.65 spid22s memulai database 'lot_of_vlfs'.
2010-05-08 14:46:04.76 spid22s analisis database 'lot_of_vlfs' (16) adalah 0% lengkap (sekitar 0 detik tetap). Tahap 1 dari 3. Ini adalah informasi pesan hanya. Tidak ada pengguna tindakan diperlukan.

PENYEBAB

Selama tahap-tahap awal proses pemulihan database, SQL Server proforms sebuah penemuan semua file-file Log Virtual hadir di semua file catatan transaksi. Daftar semua file-file Log Virtual dibangun. Proses ini dapat mengambil waktu yang sangat lama tergantung pada jumlah Virtual file Log yang hadir dalam database khusus. Database dapat berakhir dengan sejumlah besar file Log Virtual jika pertemuan Log transaksi sering auto-tumbuh dengan pertumbuhan yang terjadi untuk secara bertahap ukuran yang sangat kecil.

Biasanya Anda mulai hadap atas masalah-masalah yang disebutkan di bagian gejala ketika nomor Virtual file-file Log adalah dalam kisaran beberapa ratusan ribu.

PEMECAHAN MASALAH

Anda dapat menggunakan metode dari blog berikut untuk menemukan nomor Virtual file-file Log dalam Database tertentu:
Bagaimana struktur file log dapat mempengaruhi waktu pemulihan database
Anda mungkin perlu untuk menjaga jumlah Virtual file Log bawah sejumlah wajar seperti 10.000.

Anda dapat mengkonfigurasi file catatan transaksi mengandung hanya sejumlah terbatas Virtual file Log menggunakan metode berikut:
  1. Mengecilkan file catatan transaksi, tumbuh file untuk ukuran besar yang diinginkan secara manual menggunakan TSQL mengubah DATABASE <database name="">MEMODIFIKASI FILE (nama = 'nama file logis transaksi login', ukuran = <required size="">)</required> </database>
  2. Membangun kembali file catatan transaksi dan kemudian tumbuh file catatan transaksi kepada ukuran yang diperlukan secara manual
    1. Jika database sebelumnya shutdown bersih [dengan tidak ada pengguna atau buka transaksi], Anda dapat memanfaatkan ATTACH_REBUILD_LOG untuk pilihan untuk membuat DATABASE untuk membuat file catatan transaksi yang baru.
    2. Jika database baca/tulis memiliki satu berkas log yang saat ini tidak tersedia, dan jika database ditutup bersih [dengan tidak ada pengguna atau buka transaksi] sebelum operasi melampirkan, untuk MELAMPIRKAN pilihan untuk membuat DATABASE secara otomatis membangun kembali berkas log dan update file utama.

Setelah Anda mengkonfigurasi tata letak berkas log transaksi, meninjau dan membuat perubahan yang diperlukan untuk auto-tumbuh pengaturan untuk file catatan transaksi untuk menghindari hadap atas masalah yang sama di masa depan.

Catatan Sebelum Anda melakukan salah satu operasi ini, pastikan bahwa Anda memiliki cadangan restorable berlaku dalam kasus Anda mengalami beberapa masalah kemudian.

2524743 FIX: Pemulihan mengambil lebih lama daripada yang diharapkan untuk database SQL Server 2008 atau di lingkungan SQL Server 2008 R2

2455009 FIX: Kinerja lambat ketika Anda memulihkan database jika ada banyak VLFs di dalam log transaksi di SQL Server 2005, di SQL Server 2008 atau di SQL Server 2008 R2

2653893 FIX: Diperlukan waktu lama untuk memulihkan database di SQL Server 2008 R2

979042 FIX: Database utama adalah tidak sembuh jika database memiliki sejumlah besar file virtual log dalam SQL Server 2005 atau SQL Server 2008

INFORMASI LEBIH LANJUT

Untuk informasi lengkap tentang file Virtual Log, lihat topik Books Online: Transaksi Log fisik arsitektur
Diskusi pada masalah ini:
Bagaimana struktur file log dapat mempengaruhi waktu pemulihan database
Log transaksi VLFs - terlalu banyak atau terlalu sedikit?
1413 kesalahan ketika mulai Database Mirroring-berapa banyak file virtual log terlalu banyak?

Juga perhatikan masalah yang dikenal dengan semakin log transaksi:

2633151 file catatan transaksi database SQL Server tidak tumbuh dengan nilai pertumbuhan dikonfigurasi file


Untuk informasi lebih lanjut tentang produk atau alat-alat yang secara otomatis memeriksa kondisi ini pada contoh Anda dari SQL Server dan versi produk SQL Server, lihat Daftar Tabel berikut:

Perkecil tabel iniPerbesar tabel ini
Aturan peranti penangkap lunakAturan judulAturan deskripsiVersi produk yang aturan dievaluasi
SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA)




Database dengan jumlah tinggi VLF hadir





SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA) menyediakan aturan untuk mendeteksi situasi di mana database berisi sejumlah besar Virtual file-file Log. SQL Server 2008 R2 BPA mendukung SQL Server 2008 dan SQL Server 2008 R2.

Jika Anda menjalankan alat BPA dan menemukan Error dengan judul Database Engine - database dengan jumlah tinggi VLF hadir, maka Anda perlu memverifikasi nomor Virtual file-file Log untuk database terpengaruh dan mengkonfigurasi file catatan transaksi.
SQL Server 2008
SQL Server 2008 R2






Praktek terbaik SQL Server 2012 Analyzer (SQL Server 2012 BPA)



Database dengan jumlah tinggi VLF hadir




SQL Server 2012 terbaik praktek Analyzer (SQL Server 2012 BPA) menyediakan aturan untuk mendeteksi situasi di mana database berisi sejumlah besar Virtual file-file Log.

Jika Anda menjalankan alat BPA dan menemukan Error dengan judul Database Engine - database dengan jumlah tinggi VLF hadir, maka Anda perlu memverifikasi nomor Virtual file-file Log untuk database terpengaruh dan mengkonfigurasi file catatan transaksi.
SQL Server 2012








Properti

ID Artikel: 2028436 - Kajian Terakhir: 24 Mei 2012 - Revisi: 3.0
Berlaku bagi:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Standard
Kata kunci: 
kbmt KB2028436 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 2028436

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com