Databáze baseline model store

V AX2012 R2 je model store databáze oddělena od databáze s business daty. Pro účely upgradu existuje ještě jedna databáze – baseline model store. Konfigurace AOS v registrech Windows proto obsahuje klíče pro tři databázové servery:

  • dbserver
  • ModelDBServer
  • ModelDBServer_baseline

(Jsou uložené v HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dynamics Server\6.0\02\{jméno konfigurace}\.)

Ale pokud otevřete Microsoft Dynamics AX 2012 Server Configuration, uvidíte pouze jedno pole pro jméno databázového serveru:

Pokud změníte hodnotu v poli Server name, oba rozbalovací seznamy databází správně pracují s novým databázovým serverem. Jenže… aktualizují se pouze dva klíče v registrech: dbserver a ModelDBServer. ModelDBServer_baseline zůstane beze změny, tudíž se AX pokusí číst baseline model store z původního serveru. Pokud jste databáze přesunuli na jiný server (jako jsme to udělali my), žádná taková databáze už na původním serveru neexistuje.

AOS nastartuje i s takovouhle konfigurací, ale baseline model store nebude k dispozici – nebudete moci porovnat objekty se staršími verzemi, detekce konfliktů vrstev nebude fungovat, nebudete moci nahrát AOD soubory do baseline… Naštěstí můžete najít užitečné zprávy v prohlížeči události (na stroji s AOS):

Object Server 01:  SQL diagnostics: [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user ‘OurDomain\AosServiceAccount’.. Connect information was: Userid = [], Database = [R2DevBaseLine], Server = [DbServerA], DSN = [], Other = []

Object Server 02:  The database DbServerA\ is not recognized as a model store.

DBServerA je původní server, ne ten aktuální nastavený v konfiguraci AOS – to je celkem jasně naznačuje, kde věci selhaly.

Jediné řešení je změnit hodnotu ModelDBServer_baseline přímo v registrech.

Podobný problém může existovat i v AX2012 (bez R2), ale to jsem netestoval.