Dynamics CRM 2011のオールインワン環境を構築したんですが、下図のような イベントログのエントリが登録されていました。トレース設定をいろいろ確認していたらおかしな動作をしていたので覚書として記載します。

項目
 ソース  MSCRMTracing
イベントID 17203
内容 Invalid Trace Directory. Additional Info:[ Unable to Write file , Trace directory not defined (Reporting Process:File Name is Null. LocalTraceSettings: {Filename:  ,FileCountSuffix:1 ,TraceFileSize:10485760 ,TraceDirectory: ,TracingCallStack:Yes ,IsTracingOff:No ,LoadState:LoadSuccessfulUnreported ,RefreshTraceInt:-1 ,SiteWideRefreshTraceInt:-1 ,RegistryRefreshTraceInt:-1} ] , AppDomain:CrmAsyncService)

事象が発生した環境は次の通り

  • Dynamics CRM 2011 日本語版、 Update Rollup 3
  • Windows Server 2008 R2 上に構築したオールインワン環境(DC,SQL等)

ついでにトレース設定についての参考URLも記載します。トレースはレジストリを直接変更するか、CRM用のPowerShell コマンドレットを使用して有効かできるようになっています。レジストリを直接変更したくない場合は、 CrmDiagTool 2011 を使用してトレースの有効、無効を行えます。

 Microsoft Dynamics CRM でトレース機能を有効にする方法 (レジストリを設定してトレースを有効にする方法が記載されています)
http://support.microsoft.com/kb/907490
Tracing (PowerShell Cmdlet を使用してトレースを有効にする方法が記載されています。)
http://technet.microsoft.com/en-us/library/hh386493.aspx
Enable tracing for Microsoft Dynamics CRM Reporting Extensions for SQL Server Reporting Services (おまけ、レポート拡張のトレースを有効にする方法)
http://technet.microsoft.com/en-us/library/gg584055.aspx

レジストリを確認すると、 トレースのエントリ情報はありませんでした。次に、PowerShellを起動して、http://technet.microsoft.com/en-us/library/hh386493.aspxで紹介されているコマンドレットでTraceの設定を確認すると、下図ように表示されました。Enabled は False になっているのですが、 Directory が c:\crmdrop\logs になっています。KB907490 では、レジストリでトレースを設定するとインストールドライブ:\Program Files\Microsoft Dynamics CRM\Trace にトレースが出力されると記載されていました。

実験したところ、レジストリでトレースを有効にすると、確かに インストールドライブ:\Program Files\Microsoft Dynamics CRM\ にトレースが出力されます。内部的な動作は不明ですが、 PowerShell で設定する場合と、レジストリで設定する場合はそれぞれ別らしい。まったく自信がないですが新しく実装されたプラグイン等で使用するトレース機能が関係しているのかもしれません。

今度は、C:\crmdrop\logs というディレクトリを作成し、非同期サービスやアプリケーションプールのユーザにたいして書き込みの権限を与えました。IISとサービスの再起動をすると下図のようにトレースファイルが作成されてしまいました。しかも、PowerShellでトレースは無効にした状態です。レジストリのトレース設定も無効にしています。そして、冒頭で述べた Invalid Trace Directory .. というイベントログは記録されないようになりました。とりあえずフォルダを作成すれば回避できるらしいです。

当然ですが、 PowerShell 上で、http://technet.microsoft.com/en-us/library/hh386493.aspx にしたがって、トレースを有効にしてもトレースは出力されます。

MSDNフォーラムにも同様の事象について質問があったので不具合なら直してほしいです。

今回は以上です。修正や指摘点などありましたらご連絡ください。