現象
Microsoft Dynamics AX 4.0 用のアプリケーション オブジェクト サーバー (AOS) を起動しようとしても、AOS は起動しません。 さらに、次のいずれかのエラー メッセージが表示されます。
エラー 100: 別のシステム セマフォを作成できません。
Object Server 01: クライアントレス セッション 1 に対して発行されたダイアログ: プログラムは、データベース ベンダーを特定し、適切な SQL システム変数を読み込むのに不可欠なクラス 'SqlDatabaseInit' を読み込み、実行できません。 これは、SQL Database に対するアクセス権の不足、不足しているアプリケーション ファイルまたは破損したアプリケーション ファイル、またはクラス自体の構文エラーが原因で発生する可能性があります。
原因
この問題は、いくつかの異なる条件が原因で発生する可能性があります。 エラー メッセージの特定の原因を特定するには、アプリケーション ログを調して、より意味のあるエラー メッセージを見つけ出することをお勧めします。 この場合、次の手順を実行します。
-
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[管理ツール] をポイントして、[イベント ビューアー] をクリックします。
-
[ イベント ビューアー (ローカル) ] で、[アプリケーション] を クリックします。
-
右側のウィンドウで、メッセージの一覧を下にスクロールしてエラー メッセージを探します。
-
エラー メッセージをダブルクリックして、メッセージが状況に適用されるかどうかを確認します。
見つけるエラー メッセージは、次の条件の 1 つ以上が当てはまる可能性があります。
-
サービスMicrosoft SQL Serverが開始されていない。
-
AOS の起動に使用されるアカウントには、このアカウントに正しいデータベース ロールSQL Server。
-
AOS ライセンスの数を超えました。
-
データベースSQL Serverの並べ替え順序が誤って大文字と小文字が区別されます。
注意 この一覧には、このエラー メッセージの既知の原因が含まれています。 その他の原因がある可能性があります。
解決策
特定のエラー メッセージが状況に適用されるのを確認した後でこの問題を解決するには、状況に応じて次のいずれかの方法を使用します。
注意 この問題を解決するには、複数の方法を使用する必要がある場合があります。
方法 1: サービスをSQL Serverする
AOS は、開始されているSQL Serverによって異なります。 サービスがSQL Server場合、AOS は起動しない。
実行しているアプリケーションのバージョンに応じて、次SQL Serverのいずれかを使用します。
Microsoft SQL Server 2000
SQL Server 2000 サービスを開始するには、次の手順に従います。
-
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[管理ツール] をポイントして、[サービス] を クリックします。
-
MSSQLServer サービスを探します。
-
サービスが開始されていない場合は、サービスを右クリックし、[開始] をクリック します。
Microsoft SQL Server 2005
SQL Server 2005 サービスを開始するには、次の手順に従います。
-
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[管理ツール] をポイントして、[サービス] を クリックします。
-
SQL Server (MSSQLServer) サービスを探します。
-
サービスが開始されていない場合は、サービスを右クリックし、[開始] をクリック します。
方法 2: AOS の起動に使用するアカウントに、正しいデータベース ロールが含SQL Server
AOS サービスの開始に使用するアカウントには、少なくとも次のデータベース ロールが割り当てられている必要SQL Server。
-
db_ddladmin
-
db_datareader
-
db_datawriter
アカウントに正しいデータベース ロールが割り当てされているかどうかを確認するには、次の手順に従います。
-
AOS サービスの開始に使用するアカウントを決定します。 この場合、次の手順を実行します。
-
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[管理ツール] をポイントして、[サービス] を クリックします。
-
Dynamics Server$ で始まる サービスを探します。
-
サービスを右クリックし、[プロパティ] を クリックします。
-
[ログオン ] タブをクリック します。
-
[ ログオン] で、AOS サービスへのログオンに使用するアカウントを決定します。
メモ-
既定では 、NT Authority\Network Service アカウントを使用して AOS サービスにログオンします。
-
AOS サービスが SQL Server と同じコンピューター上にある場合、SQL Server アクセス許可を必要とするアカウントは NT Authority\Network Service アカウントです。
-
AOS サービスが SQL Server とは別のコンピューターで実行されている場合、SQL サーバーのアクセス許可を必要とするアカウントは、AOS サービスが実行されているコンピューターのコンピューター名です。 コンピューター名の形式は次のとおりです。
domain\computer_name$ この場合 、domain はネットワーク ドメインの名前 、computer_name$ は AOS サーバーの名前です。
-
-
-
実行しているアプリケーションのバージョンに応じて、次SQL Serverのいずれかを使用します。
SQL Server 2000 for SQL Server 2000 の場合は、次の手順に従います。
-
[スタート]をクリックし、[すべてのプログラム]をポイントし、[Microsoft SQL Server] をポイントし、[マネージャー] Enterpriseクリックします。
-
[Microsoft SQL サーバー] を展開します。
-
[グループSQL Server 展開します。
-
(ローカル) (Windows NT) を展開します。
-
[セキュリティ] を展開します。
-
[ ログイン] をクリックします。
-
手順 1 で決定したアカウントを右クリックし、[プロパティ] をクリック します。
-
[データベース アクセス ] タブをクリック します。
-
Axapta データベースをクリックし、次のデータベース ロールが選択されています。
-
db_ddladmin
-
db_datareader
-
db_datawriter
-
-
[OK] をクリックします。
-
[データベース] を展開します。
-
Dynamics データベースを展開します。
-
[ ストアド プロシージャ] をクリックし、次のストアド プロシージャを探します。
-
createserversessions
-
createusersessions
-
-
ストアド プロシージャを右クリックし、[プロパティ] を クリックします。
-
[アクセス 許可] をクリックします。
-
手順 1 で決定したアカウントを見つけ、クリックして [EXEC] チェック ボックスをオンにし 、[OK] をクリックします。
注意 手順 2m で他のストアド プロシージャに対して手順 2n ~ 2p を繰り返します。
SQL Server 2005 for SQL Server 2005 の場合は、次の手順に従います。
-
[スタート]をクリックし、[すべてのプログラム]をポイントし、[Microsoft SQL Server 2005]をポイントし、[SQL Server Management Studio]をクリックします。
-
[概要 ] タブで 、[セキュリティ] を ダブルクリックします。
-
[ログイン] をダブルクリックします。
-
手順 1 で決定したアカウントを右クリックし、[プロパティ] をクリック します。
-
[ユーザー マッピング] をクリックします。
-
Axapta データベースをクリックし、次のデータベース ロールが選択されています。
-
db_ddladmin
-
db_datareader
-
db_datawriter
-
-
[OK] をクリックします。
-
[データベース] を展開します。
-
Dynamics データベースを展開します。
-
[プログラミング ] を展開します。
-
[ ストアド プロシージャ] を展開します。
-
次のストアド プロシージャを探します。
-
createserversessions
-
createusersessions
-
-
ストアド プロシージャを右クリックし、[プロパティ] を クリックします。
-
[アクセス 許可] をクリックします。
-
手順 1 で決定したアカウントを見つけ、EXECアクセス許可の [許可] チェック ボックスをクリックして選択し、[OK]をクリックします。
注意 手順 2l の他のストアド プロシージャに対して、手順 2m から 2o を繰り返します。
-
方法 3: AOS ライセンスの数を超えているかどうかを判断する
現在ライセンスを取得している AOS の数を超えているかどうかを確認するには、次の手順に従います。
-
Microsoft Dynamics AX 4.0 を起動し、ログオンします。
-
[管理] をクリックします。
-
[セットアップ] を展開します。
-
[ システム] を展開します。
-
[ライセンス 情報] をクリックします。
-
[システム] タブで 、[コードの説明 ] の [アプリケーション オブジェクト サーバー ] を選択します。
-
[ 状態] 列で、現在ライセンスを取得している AOS の数をメモします。
注意 追加の AOS を開始するには、実行中の AOS をシャットダウンします。 または、追加の AOS ライセンスを購入できます。
方法 4: データベースの並べ替SQL Server大文字と小文字が区別されません。
Microsoft Dynamics AX 4.0 では、データベースの並べ替え順序は大文字と小文字を区別しない必要があります。
状況の並べ替え順序を決定するには、実行しているタスクのバージョンに応じてSQL Server手順のいずれかを使用します。
Microsoft SQL Server 2000
2000 Microsoft SQL Server、次の手順に従います。
-
[スタート] をクリックし、[すべてのプログラム]をポイントし、[クエリ アナライザー] Microsoft SQL Serverをポイントします。
-
Query Analyzer にログインし、次のスクリプトを実行します。
sp_helpsort
Microsoft SQL Server 2005
2005 Microsoft SQL Server、次の手順に従います。
-
[スタート]をクリックし、[すべてのプログラム]をポイントし、[Microsoft SQL Server 2005]をポイントし、[SQL Server Management Studio]をクリックします。
-
[ 新しいクエリ]をクリックし、次のスクリプトを実行します。
sp_helpsort
スクリプトの結果一覧には、"大文字と小文字が区別されません" または "大文字と小文字が区別される" を示す一覧が表示されている必要があります。