Příznaky
Při pokusu o spuštění aplikačního objektového serveru (AOS) pro Microsoft Dynamics AX 4.0 se nespustí AOS. Navíc se zobrazí jedna z následujících chybových zpráv:
Chyba 100: Nelze vytvořit jiný systémový semafor.
Objektový server 01: Dialogové okno vydané pro relaci bez klienta 1: Program nemůže načíst a spustit třídu SqlDatabaseInit, která je nezbytná pro identifikaci dodavatele databáze a načtení příslušných SQL systémových proměnných. Příčinou může být nedostatečná přístupová práva k SQL Database, chybějící nebo poškozený soubor aplikace nebo syntaktické chyby v rámci samotné třídy.
Příčina
K tomuto problému může dojít kvůli několika různým podmínkám. Pokud chcete zjistit konkrétní příčinu chybové zprávy, doporučujeme vyhledat smysluplnější chybovou zprávu v protokolu aplikace. Postupujte takto:
-
Klikněte na Start,přejděte na Všechny programy,přejděte na Nástroje pro správua potom klikněte na Prohlížeč událostí.
-
V části Prohlížeč událostí (místní)klikněte na Aplikace.
-
V pravém podokně vyhledejte chybovou zprávu v seznamu zpráv.
-
Poklikejte na chybovou zprávu a zjistěte, jestli se zpráva týká vaší situace.
Chybová zpráva, kterou najdete, může znamenat, že platí jedna nebo více z následujících podmínek:
-
Služba Microsoft SQL Server není spuštěna.
-
Účet, který se používá ke spuštění AOS, nemá ve SQL Server.
-
Byl překročen počet licencí pro AOS.
-
Pořadí SQL Server databáze nesprávně rozlišuje malá a velká písmena.
Poznámka: Tento seznam obsahuje známé příčiny této chybové zprávy. Mohou to být i jiné příčiny.
Řešení
Pokud chcete tento problém vyřešit po ověření, že se konkrétní chybová zpráva týká vaší situace, použijte jednu z následujících metod, která je vhodná pro vaši situaci.
Poznámka: K vyřešení tohoto problému možná budete muset použít víc než jednu metodu.
Metoda 1: Spuštění SQL Server služby
AOS závisí na tom, SQL Server služba spuštěna. Pokud SQL Server služba spuštěna, AOS se nespustí.
Použijte jeden z následujících postupů, který je vhodný pro verzi SQL Server, kterou používáte.
Microsoft SQL Server 2000
Službu SQL Server 2000 spustíte takto:
-
Klikněte na Start,přejděte na Všechny programy,přejděte na Nástroje pro správua potom klikněte na Služby.
-
Vyhledejte službu MSSQLServer.
-
Pokud služba není spuštěna, klikněte na službu pravým tlačítkem myši a potom klikněte na Spustit.
Microsoft SQL Server 2005
Službu SQL Server 2005 spustíte takto:
-
Klikněte na Start,přejděte na Všechny programy,přejděte na Nástroje pro správua potom klikněte na Služby.
-
Vyhledejte SQL Server (MSSQLServer).
-
Pokud služba není spuštěna, klikněte na službu pravým tlačítkem myši a potom klikněte na Spustit.
Metoda 2: Ujistěte se, že účet, který se používá ke spuštění AOS, má ve SQL Server
Účet, který se používá ke spuštění služby AOS, musí mít aspoň následující databázové role přiřazené v SQL Server:The account that is used to start the AOS service must have least the following database roles assigned in SQL Server:
-
db_ddladmin
-
db_datareader
-
db_datawriter
Pokud chcete zjistit, jestli má účet správné role databáze, postupujte takto:
-
Určete účet, který se používá ke spuštění služby AOS. Postupujte takto:
-
Klikněte na Start,přejděte na Všechny programy,přejděte na Nástroje pro správua potom klikněte na Služby.
-
Vyhledejte službu, která začíná na Dynamics Serveru$.
-
Klikněte pravým tlačítkem myši na službu a potom klikněte na Vlastnosti.
-
Klikněte na kartu Přihlášení.
-
V části Přihlásit se jakourčete účet, který se používá k přihlášení ke službě AOS.
Poznámky-
Ve výchozím nastavení se účet NT Authority\Network Service používá k přihlášení ke službě AOS.
-
Pokud je služba AOS na stejném počítači jako SQL Server, účet, který vyžaduje SQL Server oprávnění, je účet NT Authority\Network Service.
-
Pokud je služba AOS spuštěná na samostatném počítači SQL Server, je účet, který vyžaduje oprávnění serveru SQL, název počítače, na kterém je služba AOS spuštěná. Formát názvu počítače je následující:
doména\computer_name$V tomto případě je doména název síťové domény a computer_name$ je název serveru AOS.
-
-
-
Použijte jeden z následujících postupů, který je vhodný pro verzi SQL Server, kterou používáte.
SQL Server 2000 Pro SQL Server 2000 postupujte takto:
-
Klikněte na Start,přejděte na Všechny programy,přejděte na Microsoft SQL Servera potom klikněte na Enterprise Manager.
-
Rozbalte položku Microsoft SQL Servers.)
-
Rozbalte SQL Server skupiny.
-
Rozbalte (místní) (systém Windows NT).
-
Rozbalte položku Zabezpečení.
-
Klikněte na Přihlášení.
-
Klikněte pravým tlačítkem myši na účet, který jste určili v kroku 1, a potom klikněte na Vlastnosti.
-
Klikněte na kartu Přístup k databázi.
-
Klikněte na databázi aplikace Axapta a ověřte, jestli jsou vybrané následující role databáze:
-
db_ddladmin
-
db_datareader
-
db_datawriter
-
-
Klikněte na tlačítko OK.
-
Rozbalte položku Databáze.
-
Rozbalte databázi Dynamics.
-
Klikněte na Uložené procedurya vyhledejte následující uložené procedury:
-
createserversessions
-
createusersessions
-
-
Klikněte pravým tlačítkem myši na uloženou proceduru a potom klikněte na Vlastnosti.
-
Klikněte na Oprávnění.
-
Vyhledejte účet, který jste určili v kroku 1, kliknutím zaškrtněte políčko EXEC a potom klikněte na OK.
Poznámka: Opakujte kroky 2n až 2p pro druhou uloženou proceduru v kroku 2m.
SQL Server 2005 Pro SQL Server 2005 postupujte takto:
-
Klikněte na Start,přejděte na Všechnyprogramy, přejděte na Microsoft SQL Server 2005a potom klikněte na SQL Server Management Studio.
-
Na kartě Souhrn poklikejte na Zabezpečení.
-
Poklikejte na Přihlášení.
-
Klikněte pravým tlačítkem myši na účet, který jste určili v kroku 1, a potom klikněte na Vlastnosti.
-
Klikněte na Mapování uživatelů.
-
Klikněte na databázi aplikace Axapta a ověřte, jestli jsou vybrané následující role databáze:
-
db_ddladmin
-
db_datareader
-
db_datawriter
-
-
Klikněte na tlačítko OK.
-
Rozbalte položku Databáze.
-
Rozbalte databázi Dynamics.
-
Rozbalte programovatelnost.
-
Rozbalte položku Uložené procedury.
-
Vyhledejte následující uložené procedury:
-
createserversessions
-
createusersessions
-
-
Klikněte pravým tlačítkem myši na uloženou proceduru a potom klikněte na Vlastnosti.
-
Klikněte na Oprávnění.
-
Vyhledejte účet, který jste určili v kroku 1, kliknutím zaškrtněte políčko Udělit pro oprávnění EXEC a potom klikněte na OK.
Poznámka: Opakujte kroky 2m až 2o pro další uloženou proceduru v kroku 2l.
-
Metoda 3: Určení překročení počtu licencí AOS
Pokud chcete zjistit, jestli je překročen počet AOS, pro které máte aktuálně licenci, postupujte takto:
-
Spusťte Microsoft Dynamics AX 4.0 a přihlaste se.
-
Klikněte na Správa.
-
Rozbalte nastavení.
-
Rozbalte položku Systém.
-
Klikněte na Licenční informace.
-
Na kartě Systém vyberte v části Popis kódu položku Aplikační objektovéservery.
-
Ve sloupci Stav si poznamenejte počet AOS, pro které máte aktuálně licenci.
Poznámka: Pokud chcete spustit další AOS, můžete vypnout spuštěný AOS. Případně si můžete koupit další licence AOS.
Metoda 4: Ujistěte se, SQL Server pořadí řazení databáze rozlišuje malá a velká písmena.
V Microsoft Dynamics AX 4.0 musí být pořadí řazení databáze rozlišována malá a velká písmena.
Pokud chcete určit pořadí řazení ve vaší situaci, použijte jeden z následujících postupů, který je vhodný pro SQL Server, kterou používáte.
Microsoft SQL Server 2000
V Microsoft SQL Server 2000 postupujte takto:
-
Klikněte na Start,přejděte na Všechny programy,přejděte na Microsoft SQL Servera potom klikněte na Analýza dotazů.
-
Přihlaste se k nástroji Query Analyzer a spusťte následující skript:
sp_helpsort
Microsoft SQL Server 2005
V Microsoft SQL Server 2005 postupujte takto:
-
Klikněte na Start,přejděte na Všechnyprogramy, přejděte na Microsoft SQL Server 2005a potom klikněte na SQL Server Management Studio.
-
Klikněte na Novýdotaz a spusťte následující skript:
sp_helpsort
V seznamu výsledků skriptu by měl být seznam, který uvádí, že se rozlišují malá a velká písmena nebo rozlišují malá a velká písmena.