Gejala
Ketika mencoba menambahkan bidang ke tabel yang direplikasi di Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1) atau di Microsoft Dynamics NAV 5.0 SP1, Anda menerima pesan kesalahan yang terlihat seperti berikut ini:
Kesalahan atau kesalahan SQL Server berikut terjadi saat mengakses tabel Table_Name:
650,"42000",[Microsoft][ODBC SQL Server Driver][SQL Server]Anda hanya dapat menentukan kunci READPAST dalam tingkat isolasi BACA COMMITTED atau REPEATABLE READ. SQL: ALTER TABLE "NAVDB"." dbo"." CRONUS International Ltd_$MyTable" TAMBAHKAN "bidang4" VARCHAR(10) NOT NULL CONSTRAINT "$ndodefault$625437302$4" DEFAULT ''
Catatan
-
Table_Name adalah placeholder untuk nama aktual tabel yang ingin Anda gunakan untuk menambahkan bidang.
-
Masalah ini terjadi di komputer yang menjalankan versi Microsoft SQL Server 2008 dan telah menginstal lingkungan Microsoft Dynamics NAV. Selain itu, masalah ini hanya terjadi jika Microsoft SQL Server Replikasi diaktifkan di salah satu tabel Microsoft Dynamics NAV.
Penyebab
Masalah ini terjadi karena Anda tidak dapat mengubah skema tabel yang direplikasi di Microsoft SQL Server 2008 jika transaksi yang relevan ditetapkan untuk menggunakan tingkat isolasi SERIALIZABLE. Ini adalah batasan baru untuk Microsoft SQL Server 2008 yang tidak ada di versi lama Microsoft SQL Server. Namun, konfigurasi default Microsoft Dynamics NAV menggunakan tingkat isolasi SERIALIZABLE untuk mengubah tabel.
Pemecahan Masalah
Untuk mengatasi masalah ini, konfigurasi Microsoft Dynamics NAV 5.0 SP1 dan Microsoft Dynamics NAV 2009 SP1 untuk menggunakan tingkat isolasi READ BERULANG di Microsoft SQL Server bukan tingkat isolasi SERIALIZABLE.
Untuk informasi selengkapnya tentang cara mengubah tingkat isolasi yang digunakan oleh Microsoft Dynamics NAV, kunjungi artikel Pangkalan Pengetahuan (KB) berikut ini dan hotfix yang terkait: