Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Microsoft mendistribusikan perbaikan Microsoft SQL Server 2005, 2008, dan 2008 R2 sebagai satu file yang dapat diunduh. Karena perbaikannya bersifat kumulatif, setiap rilis baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan R2 SQL Server 2005, 2008, dan 2008 R2 sebelumnya.

Gejala

Pertimbangkan skenario berikut:

  • Anda menginstal Microsoft SQL Server 2005, Microsoft SQL Server 2008 atau Microsoft SQL Server 2008 R2 di komputer.

  • Satu atau beberapa database berada dalam model pemulihan penuh atau massal.

  • Ukuran awal file log transaksi untuk database berukuran kecil. Namun, file transaksi tumbuh besar.

  • Peningkatan pertumbuhan otomatis file log transaksi dikonfigurasi ke ukuran kecil. Misalnya, kenaikan pertumbuhan pertumbuhan otomatis dikonfigurasi menjadi satu megabyte atau satu persen. Atau, Anda membuat file log transaksi meningkat dengan menggunakan pertumbuhan manual yang kecil.

  • File log transaksi tumbuh dengan kenaikan pertumbuhan kecil. Setelah beberapa saat, file log transaksi bersifat besar.

    Misalnya, file log transaksi tumbuh dari seratus megabyte menjadi sepuluh gigabyte. File log transaksi bertambah satu megabyte dalam setiap pertumbuhan.

Dalam skenario ini, Anda mungkin mengalami masalah berikut:

  • Pemulihan database lambat ketika database dimulai jika ada pekerjaan dalam jumlah besar untuk dipulihkan.

    Misalnya, transaksi tertunda untuk waktu yang lama. Atau, banyak transaksi yang berukuran kecil tidak dilakukan ketika SQL Server ditutup atau dimulai ulang. Dalam hal ini, Anda mungkin menerima kesalahan untuk estimasi waktu pemulihan yang lama dalam fase analisis, dalam fase batalkan, atau dalam fase pengulangan. Kesalahan menyerupan berikut ini dan dicatat dalam file log kesalahan SQL Server 2005:

    Analisis database 'mydatabase' (7) adalah 0% lengkap (sekitar 1234 detik tersisa). Ini hanyalah pesan informasi. Tidak diperlukan tindakan pengguna.

  • Pemulihan database lambat ketika file cadangan database lengkap dan urutan log transaksi tambahan dipulihkan jika database dibawa online.

    Catatan Untuk membuat database online selama operasi pemulihan, gunakan sintaks WITH RECOVERY atau opsi WITH STANDBY = <> sintaks.

  • Pemulihan pencerminan database lambat pada server mitra di pasangan pencerminan.

  • Kemajuan agen pembaca log untuk replikasi transaksional lambat untuk operasi berikut:

    • Log transaksi database penerbit diurutkan.

    • Perintah ditambahkan ke dalam database distribusi.

    • Transaksi direplikasi.

  • Kinerja lambat terjadi ketika snapshot database dibuat jika banyak transaksi dicatat atau jika log transaksi tetap aktif untuk waktu yang lama. Masalah ini terjadi karena snapshot harus menjalankan pemulihan dan log transaksi harus dikembalikan.

  • Kinerja lambat terjadi saat Anda menggunakan sintaks DBCC CHECKDB untuk membuat snapshot database tersembunyi yang harus sepenuhnya memulihkan snapshot database untuk menjalankan pemeriksaan konsistensi.

Penyebab

Masalah ini terjadi karena File Log Virtual (VLF) dalam file log transaksi mungkin menyebabkan kinerja lambat ketika SQL Server memindai VLF ini selama operasi berikut:

  • Pemulihan database

  • Pencerminan database

  • Snapshot database

  • Aktivitas pembaca log replikasi transaksional database

Ketika file log transaksi untuk database ditumbuhkan oleh kenaikan kecil selama kondisi pertumbuhan yang ekstrem, ribuan hingga ratusan ribu VLF hadir di dalam satu set file log transaksi (.ldf). Namun, pertumbuhan log yang besar dengan kenaikan besar hanya menciptakan beberapa VLF berdasarkan perbandingan. Misalnya, beberapa mungkin kurang dari 100 VLF.

Catatan VLF adalah pembagian atau segmen yang digunakan secara internal oleh SQL Server dalam file log transaksi.
 

Pemecahan Masalah

Informasi pembaruan kumulatif

SQL Server 2008 R2


Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 6. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:

2489376 Paket Pembaruan Kumulatif 6 untuk SQL Server 2008 R2 Catatan Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan R2 SQL Server 2008 sebelumnya. Kami menyarankan Agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

981356 Build R2 SQL Server 2008 yang dirilis setelah SQL Server 2008 R2 dirilis

SQL Server 2008 Paket Layanan 1

Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 12 untuk SQL Server 2008 Paket Layanan 1.

Catatan Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Microsoft menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

970365 Build SQL Server 2008 yang dirilis setelah SQL Server 2008 Service Pack 1 dirilis hotfix Microsoft SQL Server 2008 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan hotfix Paket Layanan 1 SQL Server 2008 untuk penginstalan SQL Server 2008 Paket Layanan 1. Secara default, hotfix apa pun yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

SQL Server 2008 Paket Layanan 2


Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 2 untuk SQL Server 2008 Paket Layanan 2.

Catatan Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Microsoft menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2402659 Build SQL Server 2008 yang dirilis setelah SQL Server 2008 Service Pack 2 dirilis, hotfix Microsoft SQL Server 2008 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan hotfix SQL Server 2008 Paket Layanan 2 untuk penginstalan SQL Server 2008 Paket Layanan 2. Secara default, hotfix apa pun yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

SQL Server 2005 Paket Layanan 3

Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 13 untuk SQL Server 2005 Paket Layanan 3.

Catatan Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2005 sebelumnya. Microsoft menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

960598 Build SQL Server 2005 yang dirilis setelah SQL Server 2005 Service Pack 3 dirilis, hotfix Microsoft SQL Server 2005 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan hotfix Paket Layanan 3 SQL Server 2005 untuk instalasi SQL Server 2005 Paket Layanan 3. Secara default, hotfix apa pun yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.
 

SQL Server 2005 Paket Layanan 4

Perbaikan untuk masalah ini pertama kali dirilis dalam Pembaruan Kumulatif 1 untuk SQL Server 2005 Paket Layanan 4.

Catatan Karena build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2005 sebelumnya. Microsoft menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini.

Anda harus menerapkan hotfix paket layanan 4 SQL Server 2005 untuk instalasi SQL Server 2005 Paket Layanan 4. Secara default, hotfix apa pun yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Penyelesaian Masalah

Instal hotfix ini dan mulai ulang SQL Server dapat meningkatkan kinerja pemulihan. Misalnya, kinerja mungkin disempurnakan untuk operasi berikut ini setelah Anda menginstal hotfix ini dan memulai ulang SQL Server:

  • Pemulihan database

  • Pencerminan database

  • Snapshot database

  • Aktivitas pembaca log replikasi transaksional database


Jika Anda tidak dapat menginstal hotfix ini, Anda dapat melakukan solusi berikut untuk mengurangi masalah yang sudah ada dan mencegah terjadinya masa mendatang.

Mengurangi masalah yang sudah ada

  • Tunggu hingga operasi pemulihan atau pemulihan selesai

    Jika Anda memiliki database yang tidak dipulihkan yang mengalami kinerja lambat saat Memulihkan atau memulihkan database, Anda mungkin harus menunggu operasi pemulihan atau pemulihan selesai. Misalnya, Anda mungkin melihat status offline atau status pemulihan dalam SQL Server Management Studio (SSMS) untuk database yang tidak dipulihkan. Menghentikan SQL Server biasanya tidak memberikan bantuan untuk pemulihan yang lambat dan mungkin membutuhkan lebih banyak waktu untuk mengulangi fase analisis pemulihan yang sama, fase pengulangan, atau membatalkan fase.

  • Hindari memulihkan urutan log transaksi yang berisi ribuan VLF

    Jika Anda mengalami kinerja yang lambat saat Memulihkan dan memulihkan database dengan menggunakan file cadangan, Anda bisa menghindari memulihkan urutan log transaksi yang berisi ribuan VLF. Untuk mengidentifikasi file cadangan yang paling banyak merekam file log virtual, gunakan pernyataan berikut ini untuk melihat kolom FirstLSN dan LastLSN dalam file cadangan log:
    PULIHKAN HEADERONLY DARI DISK='C:\folder\file.trn'

    Anda dapat memutuskan untuk menghindari pemulihan file cadangan log. Atau, Anda dapat menggunakan pernyataan STOP AT dalam perintah RESTORE untuk menghindari bagian log transaksi yang sangat terfragmentasi. Jika Anda tidak sepenuhnya memulihkan urutan log hingga titik terbaru dalam waktu selama skenario pemulihan kegagalan, kehilangan data terjadi dalam database Anda SQL Server. Kehilangan data ini terjadi karena tidak semua transaksi disimpan. Oleh karena itu, ada keputusan tradeoff bisnis. Anda dapat sepenuhnya memulihkan log transaksi yang sangat terfragmentasi. Namun, operasi ini mungkin memakan waktu berjam-jam. Atau, Anda dapat menggunakan pernyataan STOP AT dalam pemulihan untuk menghentikan pemulihan sebelum bagian log yang sangat terfragmentasi. Namun, setiap transaksi yang hilang yang Anda hilangkan akan hilang.

    Catatan Tanpa menginstal hotfix ini, biasanya tidak ada jalan yang aman untuk pemulihan yang dipercepat setelah Anda memulai ulang SQL Server. SQL Server harus menemukan daftar VLF untuk menganalisis file log, mengulangi transaksi yang telah selesai, lalu membatalkan transaksi yang tidak lengkap untuk menyelesaikan pemulihan agar database online aman. Anda tidak dapat melewatkan transaksi dengan aman selama pemulihan.

Mencegah kemunculan di masa mendatang

  • Mengatur kenaikan otomatis database ke ukuran

    yang sesuai Jika ukuran kenaikan pertumbuhan otomatis terlalu kecil, akan ada banyak File Log Virtual (VLF), dan Anda mungkin mengalami kinerja lambat dalam SQL Server. Jika ukuran kenaikan pertumbuhan otomatis terlalu besar, kueri yang membuat log transaksi tumbuh secara otomatis mungkin harus menunggu lama untuk menyelesaikan pertumbuhan. Oleh karena itu, kesalahan waktu habis mungkin terjadi di SQL Server. Untuk mengatasi masalah ini, Anda dapat mengatur ukuran penambahan pertumbuhan otomatis database ke ukuran yang sesuai.

  • Hilangkan jumlah VLF yang besar, dan gunakan pertumbuhan

    manual Jika banyak VLF berada dalam log transaksi, kurangi ukuran log transaksi, dan buat meningkat sebelum bisnis puncak untuk memenuhi permintaan dengan menggunakan pertumbuhan manual. Misalnya, log transaksi meningkat kembali ke ukuran rata-rata yang wajar dalam penambahan besar atau dalam pertumbuhan manual tunggal. Oleh karena itu, ukuran log transaksi mencapai kapasitas puncak, dan file cadangan log dijadwalkan secara sering dan berkala. Selain itu, log transaksi mungkin terpotong, dan VLF untuk log transaksi dapat digunakan kembali dalam siklus.

  • Cara menyusutkan dan meningkatkan log transaksi secara

    manual Untuk mengoreksi log yang memiliki terlalu banyak VLF, ikuti langkah-langkah ini untuk menciutkan log dan menambahnya lagi secara manual:

    1. Jika database berada dalam model pemulihan penuh atau massal, Anda harus mencadangkan log transaksi agar VLF aktif terpotong dan digunakan kembali. BACKUP LOG databasename TO DISK='C:\folder\log_backupfile.trn'
      Untuk informasi selengkapnya tentang cara mencadangkan file log transaksi dengan menggunakan SSMS, kunjungi situs web Microsoft Developer Network (MSDN) berikut:

      Cara mencadangkan file log transaksi dengan menggunakan SSMSUntuk informasi selengkapnya tentang cara mencadangkan file log transaksi dengan menggunakan pernyataan Transact-SQL, kunjungi situs web MSDN berikut:

      Cara mencadangkan file log transaksi dengan menggunakan pernyataan Transact-SQL

    2. Untuk menentukan nama log transaksi yang logis, jalankan salah satu pernyataan berikut.
      Pernyataan 1
      exec sp_helpfile Pernyataan 2
      pilih * dari sys.sysfiles Untuk mengurangi ukuran file log transaksi ke ukuran yang diinginkan, gunakan kode berikut:DBCC SHRINKFILE(transactionloglogicalfilename, TRUNCATEONLY)

    3. Anda dapat memperbesar ukuran file log transaksi ke ukuran yang sesuai. Kami menyarankan agar Anda membiarkan ukuran file log transaksi tumbuh ke ukuran reguler puncak. Oleh karena itu, peningkatan pertumbuhan otomatis dihindari. Untuk mengatur ukuran log transaksi, gunakan halaman Properti Database di SSMS, atau gunakan sintaks ALTER DATABASE berikut:MODIFIKASI FILE ( NAME = transactionloglogicalfilenae, SIZE=newtotalsize MB)
      Untuk informasi selengkapnya tentang cara memperbesar ukuran database dalam SSMS, kunjungi situs web MSDN berikut ini:

      Cara memperbesar ukuran database dalam SSMSUntuk informasi selengkapnya tentang sintaks UBAH FILE UBAH DATABASE, kunjungi situs web MSDN berikut:

      Informasi umum tentang sintaks ALTER DATABASE MODIFY FILE

Informasi Selengkapnya

Anda dapat memeriksa jumlah segmen VLF dengan meninjau file log kesalahan SQL lalu dengan menemukan nomor urutan log (LSN) di setiap file pencadangan log transaksi. Digit pertama sebelum simbol titik dua dalam LSN terkait dengan jumlah LSN.

Misalnya, angka pertama dalam pesan informasi pertama untuk LSN adalah 1. Namun, angka pertama dalam pesan informasi kedua untuk LSN adalah 100001. Dalam skenario ini, ada 100.000 VLF yang digunakan antara waktu pesan informasi pertama dan pesan informasi kedua. Oleh karena itu, log transaksi terfragmentasi yang dicatat yang memiliki banyak File Log Virtual (VLF) menyerupan berikut ini:
 

{Log telah dicadangkan. Database: mydbname, tanggal pembuatan(waktu): 2010/07/08(12:36:46), LSN pertama: 1:5068:70, LSN terakhir: 1:5108:1, jumlah perangkat dump: 1, informasi perangkat: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}). Ini hanyalah pesan informasi. Tidak diperlukan tindakan pengguna.

Log telah dicadangkan. Database: mydbname, creation date(time): 2010/07/08(15:36:46), LSN pertama: 100001:5108:1, LSN terakhir: 100002:5108:1, jumlah perangkat pembuangan: 1, informasi perangkat: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}). Ini hanyalah pesan informasi. Tidak diperlukan tindakan pengguna.}

Tabel berikut ini menyediakan informasi selengkapnya tentang produk atau alat yang secara otomatis memeriksa kondisi yang dijelaskan di bagian "Gejala" dalam contoh SQL Server Anda dan dalam versi SQL Server di mana aturan dievaluasi.
 

Perangkat lunak aturan

Judul aturan

Deskripsi aturan

Versi produk yang aturannya dievaluasi

Konsultan Pusat Sistem

SQL Server dengan Replikasi Transaksional, Kinerja Agen Pembaca Log dapat terpengaruh karena ukuran log transaksi atau jumlah VLF

Dalam instance advisor SQL Server ini mendeteksi adanya replikasi transaksional dengan jumlah VLF atau ukuran TLOG jauh lebih besar. Kinerja Agen Pembaca Log terpengaruh secara negatif oleh ukuran log transaksi atau jumlah VLF. Kurangi Ukuran Log Transaksi dan jumlah VLF untuk meningkatkan kinerja Agen Pembaca Log.

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012



 

Referensi

Untuk informasi selengkapnya tentang arsitektur fisik log transaksi, kunjungi situs web MSDN berikut:

Informasi umum tentang arsitektur fisik log

transaksi Untuk informasi selengkapnya tentang nomor urutan log (LSN), kunjungi situs web MSDN berikut ini:

Informasi umum tentang nomor

urutan log Untuk informasi selengkapnya tentang kesalahan 1413 ketika pencerminan database dimulai, kunjungi situs web MSDN berikut ini:

Informasi umum tentang kesalahan 1413 saat pencerminan

database dimulai Untuk informasi selengkapnya tentang bagaimana struktur file log dapat memengaruhi waktu pemulihan database, kunjungi situs web MSDN berikut ini:

Bagaimana struktur file log bisa mempengaruhi waktu

pemulihan database Untuk informasi selengkapnya tentang VLF log transaksi, kunjungi situs web MSDN berikut:

Informasi umum tentang file

log transaksi Untuk informasi selengkapnya tentang cara membuat snapshot database, kunjungi situs web MSDN berikut ini:

Cara membuat snapshot databaseUntuk informasi selengkapnya tentang Model Pelayanan Tambahan untuk SQL Server, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:

935897 Model Pelayanan Tambahan tersedia dari tim SQL Server untuk memberikan hotfix untuk masalah yang dilaporkanUntuk informasi selengkapnya tentang skema penamaan untuk pembaruan SQL Server, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:

822499Skema penamaan baru untuk paket pembaruan perangkat lunak SQL Server MicrosoftUntuk informasi selengkapnya tentang terminologi pembaruan perangkat lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×