Bagikan melalui


Prasyarat untuk pengelogan minimal dalam impor massal

Berlaku untuk: SQL Server

Untuk database di bawah model pemulihan penuh, semua operasi penyisipan baris yang dilakukan oleh impor massal sepenuhnya dicatat dalam log transaksi. Impor data besar dapat menyebabkan log transaksi terisi dengan cepat jika model pemulihan penuh digunakan. Sebaliknya, di bawah model pemulihan sederhana atau model pemulihan yang dicatat secara massal, pengelogan minimal operasi impor massal mengurangi kemungkinan bahwa operasi impor massal mengisi ruang log. Pengelogan minimal juga lebih efisien daripada pengelogan penuh.

Catatan

Model pemulihan yang dicatat secara massal dirancang untuk menggantikan model pemulihan penuh untuk sementara waktu selama operasi massal besar.

Persyaratan tabel untuk pengelogan operasi impor massal minimal

Pengelogan minimal mengharuskan tabel target memenuhi kondisi berikut:

  • Tabel tidak sedang direplikasi.

  • Penguncian tabel ditentukan (menggunakan TABLOCK).

    Catatan

    Meskipun penyisipan data tidak dicatat dalam log transaksi selama operasi impor massal yang dicatat minimal, Mesin Database masih mencatat alokasi luas setiap kali tingkat baru dialokasikan ke tabel.

  • Tabel bukan tabel yang dioptimalkan memori.

Apakah pengelogan minimal dapat terjadi untuk tabel juga tergantung pada apakah tabel diindeks dan, jika demikian, apakah tabel kosong:

  • Jika tabel tidak memiliki indeks, halaman data akan dicatat secara minimal.

  • Jika tabel tidak memiliki indeks berkluster tetapi memiliki satu atau beberapa indeks non-kluster, halaman data selalu dicatat secara minimal. Namun, bagaimana halaman indeks dicatat, tergantung pada apakah tabel kosong:

    • Jika tabel kosong, halaman indeks dicatat minimal. Jika Anda mulai dengan tabel kosong dan mengimpor data secara massal dalam beberapa batch, halaman indeks dan data dicatat secara minimal untuk batch pertama, tetapi dimulai dengan batch kedua, hanya halaman data yang dicatat secara minimal.

    • Jika tabel tidak kosong, halaman indeks akan dicatat sepenuhnya.

    • Jika salah satu indeks memiliki IGNORE_DUP_KEY = AKTIF, halaman indeks dan data akan dicatat sepenuhnya.

  • Jika tabel memiliki indeks berkluster dan kosong, halaman data dan indeks dicatat secara minimal. Sebaliknya, jika tabel memiliki indeks terkluster berbasis pohon B dan tidak kosong, halaman data dan halaman indeks keduanya sepenuhnya dicatat terlepas dari model pemulihan. Jika Anda mulai dengan tabel rowstore kosong dan mengimpor data secara massal dalam batch, halaman indeks dan data dicatat secara minimal untuk batch pertama, tetapi dari batch kedua dan seterusnya, hanya halaman data yang dicatat secara massal.

    Catatan

    Dokumentasi menggunakan istilah pohon B umumnya dalam referensi ke indeks. Dalam indeks rowstore, Mesin Database mengimplementasikan pohon B+. Ini tidak berlaku untuk indeks penyimpan kolom atau indeks pada tabel yang dioptimalkan memori. Untuk informasi selengkapnya, lihat panduan arsitektur dan desain indeks SQL Server dan Azure SQL.

  • Untuk informasi tentang pengelogan untuk indeks penyimpan kolom berkluster (CCI), lihat Panduan pemuatan data indeks penyimpan kolom.

Catatan

Ketika replikasi transaksional diaktifkan, operasi INSERT MASSAL sepenuhnya dicatat bahkan di bawah model pemulihan yang dicatat secara massal.

Lihat juga

Langkah berikutnya