Príznaky
Pri pokuse o pridanie poľa do replikovanej tabuľky v službe Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) alebo v službe Microsoft Dynamics NAV 5.0 SP1 sa zobrazí chybové hlásenie podobné nasledujúcemu:
Pri prístupe k tabuľke Table_Name sa vyskytla nasledujúca chyba alebo chyby SQL Servera:
650,"42000",[Microsoft][Ovládač SQL Servera ODBC][SQL Server]Uzamknutie READPAST môžete určiť iba v úrovni izolácie READ COMMITTED alebo REPEATABLE READ. SQL: ALTER TABLE "NAVDB"." dbo"." CRONUS International Ltd_$MyTable" ADD "pole4" VARCHAR(10) NOT NULL CONSTRAINT "$ndodefault$625437302$4" DEFAULT ''
Poznámky
-
Table_Name je zástupný objekt pre skutočný názov tabuľky, ktorú chcete použiť na pridanie poľa.
-
Tento problém sa vyskytuje v počítači so systémom Microsoft SQL Server 2008, v ktorom je nainštalované prostredie Microsoft Dynamics NAV. Okrem toho sa tento problém vyskytuje iba v prípade, že je v jednej tabuľke služby Microsoft Dynamics NAV povolená replikácia microsoft SQL Servera.
Príčina
Tento problém sa vyskytuje, pretože nie je možné zmeniť schému replikovanej tabuľky v Microsoft SQL Serveri 2008, ak je príslušná transakcia nastavená na použitie úrovne izolácie SERIALIZABLE. Ide o nové obmedzenie pre Microsoft SQL Server 2008, ktoré neexistovalo v starších verziách Microsoft SQL Servera. Predvolená konfigurácia služby Microsoft Dynamics NAV však používa na zmenu tabuliek úroveň izolácie SERIALIZABLE.
Riešenie
Ak chcete vyriešiť tento problém, nakonfigurujte Microsoft Dynamics NAV 5.0 SP1 a Microsoft Dynamics NAV 2009 SP1 na použitie úrovne izolácie REPEATABLE READ v Microsoft SQL Serveri namiesto úrovne izolácie SERIALIZABLE.
Ďalšie informácie o tom, ako zmeniť úroveň izolácie používanú v službe Microsoft Dynamics NAV, nájdete v nasledujúcich článkoch vedomostnej databázy Knowledge Base (KB) a súvisiacich rýchlych opravách: