Gejala
Saat Anda menjalankan operasi DDL seperti membuat indeks atau memotong tabel di SQL Server 2016, operasi mungkin diblokir jika ada transaksi DDL lain yang berjalan di database yang sama.
Resolusi
Masalah pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut:
Rekomendasi: Menginstal pembaruan kumulatif terbaru untuk SQL Server
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Kami menyarankan Anda mengunduh dan menginstal pembaruan kumulatif terbaru untuk SQL Server:
Informasi Selengkapnya
Saat DDL membuat atau menghapus tabel atau indeks, DDL perlu menyisipkan atau menghapus id kumpulan baris tabel atau indeks dari sysrowsets, yang harus menampung kunci X tingkat baris pada entri. Ketika ini dilakukan di dalam transaksi, kunci X akan ditahan selama durasi transaksi.
Ketika Tuple Mover menemukan buffer penghapusan yang dapat dihapus, Tuple Mover perlu melakukan iterasi pada sysrowset untuk menemukan tabel atau indeks yang ada. Untuk membaca setiap baris dari sysrowset, ia perlu menahan kunci tingkat baris S pada entri yang saat ini dibaca. Proses penemuan berhenti ketika Tuple Mover menemukan kumpulan baris pertama yang dapat dikerjakan. Pada titik ini Tuple Mover akan melakukan pekerjaan sebenarnya untuk membilas buffer penghapusan, tetapi untuk memastikan bahwa rowset yang ditemukan masih valid, ia akan menahan kunci SCH-S pada semua rowset yang dievaluasi selama proses penemuan hingga menyelesaikan pekerjaannya.
Sysrowsets diurutkan oleh id rowset, sehingga dapat terjadi bahwa Tuple Mover memindai beberapa rowset yang ada yang tidak memiliki tindakan untuk dilakukan, tetapi masih akan menahan kunci SCH-S dan tiba di entri di sysrowsets yang tidak dapat memperoleh kunci S tingkat baris, karena saat ini sedang diubah oleh transaksi jangka panjang yang memegang kunci X pada baris. Pada titik ini, DDL yang melibatkan perubahan id rowset diblokir di belakang kunci SCH-S Tuple Mover.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.