Simptomi
Mēģinot pievienot lauku replicētai tabulai Microsoft Dynamics NAV 2009 1. servisa pakotnē (SP1) vai Microsoft Dynamics NAV 5.0 SP1, tiek parādīts kļūdas ziņojums, kas līdzīgs šim:
Piekļūstot Table_Name tabulai, radās šāda SQL Server kļūda vai kļūdas:
650,"42000",[Microsoft][ODBC SQL Server draiveris][SQL Server]Varat norādīt tikai readpasta bloķēšanu no atdalīšanas līmeņa READ COMMITTED vai REPEATABLE READ. SQL: ALTER TABLE "NAVDB"." dbo"." CRONUS International Ltd_$MyTable" ADD "field4" VARCHAR(10) NOT NULL CONSTRAINT "$ndodefault$625437302$4" DEFAULT ''
Piezīmes.
-
Table_Name ir tās tabulas faktiskā nosaukuma vietturis, kuru vēlaties izmantot lauka pievienošanai.
-
Šī problēma rodas datorā, kurā darbojas Microsoft SQL Server 2008 un kurā ir instalēta Microsoft Dynamics NAV vide. Turklāt šī problēma rodas tikai tad, ja microsoft SQL Server replicēšana ir iespējota kādā no Microsoft Dynamics NAV tabulām.
Cēlonis
Šī problēma rodas tāpēc, ka replicētas tabulas shēmu nevar mainīt lietojumprogrammā Microsoft SQL Server 2008, ja atbilstošā transakcija ir iestatīta izmantot SERIALIZABLE atdalīšanas līmeni. Tas ir jauns microsoft SQL Server 2008 ierobežojums, kas nepastāvēja iepriekšējās Microsoft SQL Server versijās. Tomēr Microsoft Dynamics NAV noklusējuma konfigurācija izmanto SERIALIZABLE atdalīšanas līmeni, lai mainītu tabulas.
Risinājums
Lai novērstu šo problēmu, konfigurējiet Microsoft Dynamics NAV 5.0 SP1 un Microsoft Dynamics NAV 2009 SP1 un izmantojiet atkārtojamo lasīšanas atdalīšanas līmeni serverī Microsoft SQL Server, nevis SERIALIZABLE atdalīšanas līmeni.
Lai iegūtu papildinformāciju par to, kā mainīt Microsoft Dynamics NAV izmantoto atdalīšanas līmeni, skatiet tālāk norādītos zināšanu bāzes (Knowledge Base — KB) rakstus un ar to saistītos labojumfailus: