Windows Error Reporting機能を使用して、AOS(ax32serv.exe)のクラッシュダンプを取得する方法。

AOSクラッシュした際の原因調査にはメモリダンプが必要となります。adplus等を使用してメモリダンプを取得頂くのが難しい場合、Windows2008,Windows2008R2ではWindows Error Reporting(WER)の機能を使用してメモリダンプを取得することも可能です。 <Windows Error Reporting機能を使用して、AOS(ax32serv.exe)のクラッシュダンプを取得する方法。>(1)レジストリエディタ(regedit)を起動して、以下のキーを作成。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\Ax32Serv.exe(2)上記キーの下に以下の値を追加DumpFolder:展開可能な文字列値: (例)C:\temp\dumpfileDumpCount:DWORD(32bit)値:  5DumpType:DWORD(32bit)値 : 0CustomDumpFlags:DWORD(32bit)値: 7015 (注) 7015は10進です。(設定例)  AOSのクラッシュが発生するとDumpFolderに指定したフォルダにAx32serv.exe.<AOSのPID>.dmpファイルが作成されますので、ZIPしてお送りください。  (関連情報)<Possibilities to create Memory Dumps from crashing processes>http://blogs.msdn.com/b/emeadaxsupport/archive/2010/05/12/possibilities-to-create-memory-dumps-from-crashing-processes.aspx<Collecting User-Mode Dumps>http://msdn.microsoft.com/en-us/library/bb787181(VS.85).aspx

0

KBに修正方法が記載されているKBの一覧

AX2009のHotfix一覧は以下のサイトで確認可能ですが、このリストには「Hotfixが提供されずに、KBに修正方法が記載されている(KB Only)」KBは含まれていません。https://mbs.microsoft.com/customersource/downloads/hotfixes/ax2009hotfixlist.htm パートナー様より、KB OnlyのKB一覧を公開して頂きたいとの御要望を頂きましたので、添付AX2009KBOnly.xlsxにAX2009のKB OnlyのKBの一覧を纏めました。それぞれのKBの詳細はKBに記載されていますので、以下のKB検索ページにKB番号を入力して検索下さい。https://mbs2.microsoft.com/Knowledgebase/search.aspx   AX2009KBOnly.xlsx

0

(Dynamics AX supportからのお願い)新規のケース御登録の際は、問合せシートをお使い下さい。

こんにちは。 今回は、Dynamics AX supportからのお願いです。 既に一部のパートナー様には、お使い頂いているのですが、 Partner Sourceから新規にケースを御登録頂く際は、添付のExcelシート(問合シート_記入例..xls)をDownloadし、に情報を埋めて、ファイルを添付する事をお願い致します。   こちらのExcelの情報の提供をお願いする理由は以下の通りです。   ・初期にサポートに必要な情報を送ってもらう事により、問題の早期解決を図れる。   ・再現手順をスクリーンショット付きで送ってもらう事により、Partner様の問題を正確に理解する事ができる。   Partner様においては、御手数をかけますが、こちらの情報を御送付頂く事により、質の良いサポートサービスの提供を図って行きたいと思いますので、宜しくお願いします。 Microsoft Dynamics AX support    問合シート_記入例.xls

0

ViewでQueryを使用する場合の注意事項

ViewのMetadataにQueryを指定可能です。 QueryをMetadataにドラッグ&ドロップすると以下(正しい例)のようにMetadataの直下にQueryがコピーされます。 しかし、Queryと同じ名前のTableやViewが存在する場合、QueryがData Sources直下にコピー可能となります。 これは、AX側のバグでQueryをTable/Viewと間違えてData Sources直下にコピー可能となっているようです。 QueryをViewのData Sources直下にコピーすると、最悪の場合、そのレイヤのaodファイルが使えなくなる場合も有ります。 QueryはViewのData Sourceにコピーしないように御注意頂きたいと思います。   (正しい例)   (誤った例)

0

2012からの新規に追加された機能

こんにちは AX2012では、2009/4.0には無い、新規機能がいくつか追加されています。   まず、Add-inとしてのPublic Sectorがあります。 (http://www.microsoft.com/Presspass/press/2011/may11/05-23MSPubSecDynamicsAX12PR.mspx) こちらは、名前の通り、政府機関向けの機能であり、正直、日本でどれ位、使われるかは、疑問なのですが、 日本のお客様にとって重要なのは、Public Sectorの登場により、Coreの機能が影響を受けているという事です。   具体的には、政府機関では、一定の予算内で、業務を実行する事が重要であるため、Budgetingの機能が拡張され、 又、予算の消費を早期に認識するため、Encumberance。(Purchase OrderのConfirmationの段階で、予算の消費を認識します)という機能が追加されたりしています。   又、新規に以下のモジュールが追加されています。 (各モジュールの概要は、又、次回以降に書いていきたいと思います) Budgeting(General Ledgerから独立のモジュールに) Fixed Asset(General Ledgerから独立のモジュールに) Compliance and Internal control Product Information management Production control sales and marketing Organization administration   又、新規のモジュールとならなくても、機能レベルの変更、コンセプトが大きく変更になった点があります。 現在、2012のE-learningが続々とParnter SourceにUploadされていますので、チェックして頂ければと思います。 https://mbs.microsoft.com/CMS/Templates/site/DLPP.aspx?NRMODE=Published&NRNODEGUID=%7BC4BA7F45-1232-4A4C-906D-E37D7305B2CE%7D&NRORIGINALURL=/partnersource/communities/training/trainingmaterials/student/&NRCACHEHINT=Guest&wa=wsignin1.0  

0

Hotfixの適用後のコンパイルエラーについて

こんにちは。 Hotfix適用後、AOTからコンパイルを行うと、以下の様に”The enumeration does not exist.”というエラーが出る事があります。   これは、適用したHotfixのApplication codeにenumerationが存在しているのに、Indexが作成されていないためエラーとなっているのですが、  以下のステップを実行する事に、解消する事ができます。 1. AOSを停止する。 2.アプリケーションフォルダーからapapd.aoiを削除する。 (アプリケーションフォルダは、server configuration utilityから確認出来ます)    以上、最近、御問合せが多いため、記事にしてみました。 上記のエラーが出たら、参考にしてみてください。      

0

Dynamics AX 2012 のリリースについて

こんにちは。 いよいよ、Dynamics AXの次のバージョンである、AX 2012が、米国時間の8月1日にリリースされました。 詳細情報は、以下から参照できます。 https://mbs.microsoft.com/Cms/Templates/document/General.aspx?NRMODE=Published&NRNODEGUID={759352FD-D609-4069-8237-040D242844B3}&NRORIGINALURL=/partnersource/deployment/resources/productreleases/MicrosoftDynamicsAX2012&NRCACHEHINT=Guest&wa=wsignin1.0#Loc 23の言語で、25の国に対してリリースとありますが、 日本語は、まだ対応されておらず、日本での発売は、まだ先(2013年頃の予定)になりそうです。 (言語、Localizaztionの対応などは、以下のリンクから参照できます) http://download.microsoft.com/download/0/B/4/0B4D5CC4-98FB-4D48-BCE5-9D8FE3D76611/MBS_AX_AvailabilityGuide_US.pdf    

0

特定の日本語が保存されない問題

特定の全角文字(*1)が文字列先頭の場合、フォームから入力して保存しても、再度開いた際に文字が消える既知の不具合がございます。問題はStringSizeがMemoのString型フィールドで発生します。 5.0.1500.3566以降のカーネル累積Hotfix又は、Rollup6, 7のカーネルでは対策されています。5.0.1500.3566より前のカーネルを御使用の場合は、5.0.1500.3566以降のカーネル累積Hotfixの御適用を御検討ください。 (*1)文字コードの1桁目が0の文字(例:4E00 一)

0

ワークフローのパフォーマンス関連の情報

 パートナー様向けトレーニングの後で、ワークフローのパフォーマンスが遅いとの御相談がございましたので、以下にワークフローのパフォーマンス関連の情報を掲載させて頂きます。 (A)最新のAX2009SP1Rollup(Rollup6以降)を適用ください。Workflow関係の問題が対策されていますので、最新のAX2009SP1RollUpを御適用頂くことをお勧めいたします。(例)KB971260 A workflow record is stuck in a pending status in a batch queue in Microsoft Dynamics AX 2009 (B)1ワークフロータスクの承認者が15-20人を超えると、パフォーマンスの問題が発生する可能性がございます。承認者が15-20を超えるワークフローが有る場合は承認のルールを見直すことが可能か御検討下さい。 (C)以下の変更でパフォーマンスが改善するか御確認下さい。1.ワークフロー用バッチジョブの再実行間隔を短くする2.ワークフロー用のバッチサーバの数を増やす3.ワークフローを実行しているIISの数を増やす(NLB使用) (D) キューに溜まっているワークフローメッセージ(*1)が大量に存在する場合は、承認者が完了/承認を実行して、キューに溜まっているメッセージを減らして下さい。この際に、ワークフローのバッチジョブで処理できない場合は、Tutorial_WorkflowProcessorフォームで処理してください。(*1) キューに溜まっているワークフローメッセージ数の確認方法select count(*) from WorkflowMessageTable where MessageLifeCycleState = 1;

0

パートナー様向けセッションでの御質問

4/18,19は御忙しい中、パートナー様向けテクニカルセッションに御参加頂き誠にありがとうございました。 セッション中に御質問頂き、宿題にさせて頂いた件の回答を以下に記載します。   (御質問1) Performance Analyzerのパフォーマンスデータ取得ジョブ(DYNPERF_Capture_Stats)  をお客様環境ではなく、本番環境からバックアップしたデータベースを、パートナー様環境にリストアした環境でも使用しても情報の取得可能か? (回答) DYNPERF_Capture_Statsジョブでは、SQLサーバの動的管理ビュー(DMV)を使用して情報を取得しています。 このため、バックアップしたデータベースをリストアした環境では、DYNPERF_Capture_Statsジョブを実行しても必要な情報を取得できません。 また、SQLサーバサービスを再起動した直後も、キャッシュされている情報が無いため、同様にDYNPERF_Capture_Statsジョブを実行しても情報を取得できません。   (御質問2) ttsbegin,ttscommitが複数ネストしている場合、テーブルはどのタイミングで更新されるか? (回答)最も外のttscommitが実行された後に全てのテーブルが更新されます。 CustTable ct; SalesTable st; ; ttsbegin; while select forupdate ct where ct.AccountNum == “4000” { ct.Address = “NewAddress”; ct.update(); //locks are acquired here   ttsbegin; while select forupdate st where st.SalesId == “00021_036” { st.CustAccount = “4002”; st.update();   //additional locks are…

0