Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Operasi database membutuhkan waktu lama untuk menyelesaikan, atau memicu galat saat log transaksi memiliki banyak berkas virtual log

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 2028436
Gejala
Dalam lingkungan SQL Server 2008, Anda mungkin mengalami gejala berikut ini:
  • Satu atau lebih database membutuhkan waktu lama untuk menyelesaikan pemulihan selama startup SQL Server.
  • Ketika Anda melakukan pemulihan database, dibutuhkan waktu lama untuk menyelesaikan.
  • Upaya untuk melampirkan pangkalan data memerlukan waktu lama untuk menyelesaikan.
  • Ketika Anda mencoba untuk menyiapkan database pencerminan, Anda mengalami pesan galat 1413, 1443 dan 1479, menunjukkan waktu habis.
  • Anda mengalami galat terkait kehabisan memori seperti 701 ketika Anda mencoba untuk memulihkan data.

Saat Anda memeriksa log galat SQL Server, Anda akan memperhatikan bahwa jumlah waktu yang signifikan menghabiskan 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 analisis spid22s database 'lot_of_vlfs' (16) adalah 0% selesai (tetap sekitar 0 detik). Tahap 1 dari 3. Ini adalah informasi pesan hanya. Pengguna tidak ada tindakan diperlukan.

Penyebab
Selama tahap awal proses pemulihan database, SQL Server melakukan penemuan semua berkas Log Virtual ada di semua berkas Log transaksi. Daftar semua berkas Log Virtual yang dibuat. Proses ini dapat memakan waktu lama tergantung pada jumlah berkas Log Virtual yang ada di pangkalan data khusus. Database dapat berakhir dengan terlalu banyak Berkas Log Virtual jika pertemuan Log transaksi sering auto-berkembang dengan pertumbuhan terjadi selama kenaikan ukuran sangat kecil.

Biasanya Anda mulai mengalami masalah yang disebutkan di bagian "Gejala" saat jumlah berkas Log Virtual berada dalam kisaran beberapa ratusan ribu.
Pemecahan masalah
Anda dapat menggunakan metode dari blog berikut ini untuk menemukan jumlah berkas Virtual Log di pangkalan data tertentu:
Bagaimana struktur file log dapat mempengaruhi waktu pemulihan database

Anda mungkin harus tetap jumlah total berkas Log Virtual di bawah jumlah yang wajar, seperti 10.000.

Anda dapat mengkonfigurasi berkas log transaksi untuk memuat hanya sejumlah terbatas berkas Virtual Log dengan menggunakan metode berikut ini:
  1. Menyusutkan berkas log transaksi, mengembangkan berkas ke ukuran yang diperlukan secara manual menggunakan TSQL mengubah DATABASE <database name="">memodifikasi berkas (nama = 'nama file Logis transaksi log', ukuran = <required size="">)</required> </database>
  2. Membangun kembali berkas log transaksi dan kemudian secara manual mengembangkan berkas log transaksi ke ukuran yang diperlukan:
    1. Jika pangkalan data sebelumnya mematikan bersih (dengan tidak ada pengguna atau transaksi yang terbuka), Anda dapat menggunakan opsi ATTACH_REBUILD_LOG untuk membuat DATABASE untuk membuat berkas log transaksi baru.
    2. Jika database baca/tulis memiliki satu berkas log yang saat ini tidak tersedia, dan jika database mematikan bersih [dengan tidak ada pengguna atau buka transaksi] sebelum operasi lampirkan, untuk MENYERTAKAN opsi untuk membuat DATABASE secara otomatis membuat berkas log dan update file utama.

Setelah Anda mengkonfigurasi tata letak berkas log transaksi, tinjau dan membuat perubahan yang diperlukan untuk mengembangkan otomatis pengaturan untuk berkas log transaksi untuk menghindari mengalami masalah yang sama di masa mendatang.

Catatan Sebelum Anda melakukan operasi ini, pastikan bahwa Anda memiliki cadangan restorable sah apabila Anda mengalami beberapa masalah nanti.

2524743 MEMPERBAIKI: Pemulihan membutuhkan waktu lebih lama daripada yang diharapkan untuk pangkalan data di SQL Server 2008 atau di lingkungan SQL Server 2008 R2

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

2653893 MEMPERBAIKI: Dibutuhkan waktu lama untuk memulihkan pangkalan data SQL Server 2008 R2

979042 MEMPERBAIKI: Database pimpinan tidak dipulihkan jika database memiliki sejumlah besar berkas virtual log di SQL Server 2005 atau SQL Server 2008

2882905 Pesan informasi 9017 dicatat ketika Anda memulai contoh SQL Server atau memulihkan atau melampirkan pangkalan data

Informasi lebih lanjut
Untuk informasi lengkap tentang berkas log virtual, lihat Pemesanan daring topik berikut ini: Arsitektur fisik Log transaksi

Untuk informasi selengkapnya tentang masalah ini, lihat yang berikut ini:

Bagaimana struktur file log dapat mempengaruhi waktu pemulihan database
Log transaksi VLFs - terlalu banyak atau terlalu sedikit?
1413 galat saat memulai pencerminan pangkalan data-berapa banyak berkas virtual log terlalu banyak?

Juga berhati-hatilah atas masalah yang diketahui dengan log transaksi tumbuh:

2633151 Berkas log transaksi pangkalan data SQL Server tidak tumbuh dengan nilai pengembangan berkas konfigurasi

Catatan Pelajari tentang perubahan penting VLF pembuatan algoritma di SQL Server 2014:


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

peranti penangkap lunak aturanJudul aturanPenjelasan aturanVersi produk terhadap aturan dievaluasi
SQL Server 2008 R2 Penganalisis praktik terbaik (SQL Server 2008 R2 BPA)




Database dengan jumlah VLF ada yang tinggi





SQL Server 2008 R2 Penganalisis praktik terbaik (SQL Server 2008 R2 BPA) menyediakan aturan untuk mendeteksi situasi di mana pangkalan data berisi sejumlah besar Berkas Log Virtual. SQL Server 2008 R2 BPA mendukung SQL Server 2008 dan SQL Server 2008 R2.

Jika Anda menjalankan alat BPA dan mengalami galat dengan judul Database Engine - database dengan jumlah tinggi VLF ada, maka Anda perlu untuk memverifikasi jumlah berkas Log Virtual untuk pangkalan data yang terpengaruh dan mengkonfigurasi berkas log transaksi.
SQL Server 2008
SQL Server 2008 R2






SQL Server 2012 Penganalisis praktik terbaik (SQL Server 2012 BPA)



Database dengan jumlah VLF ada yang tinggi




SQL Server 2012 Penganalisis praktik terbaik (SQL Server 2012 BPA) menyediakan aturan untuk mendeteksi situasi di mana pangkalan data berisi sejumlah besar Berkas Log Virtual.

Jika Anda menjalankan alat BPA dan mengalami galat dengan judul Database Engine - database dengan jumlah tinggi VLF ada, maka Anda perlu untuk memverifikasi jumlah berkas Log Virtual untuk pangkalan data yang terpengaruh dan mengkonfigurasi berkas log transaksi.
SQL Server 2012








Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 2028436 - Tinjauan Terakhir: 08/05/2015 20:28:00 - Revisi: 6.0

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, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbmt KB2028436 KbMtid
Tanggapan