サインイン時にログイン エラーによって要求されたデータベースを開くことができませんMicrosoft Dynamics CRM

この記事では、Microsoft Dynamics CRMへのサインイン時にログイン エラーによって要求されたデータベース "Organization_MSCRMを開くことができません" を受け取る可能性がある問題の解決策について説明します。

適用対象: Microsoft Dynamics CRM 2011
元の KB 番号: 946286

現象

Microsoft Dynamics CRMをインストールします。 Microsoft Dynamics CRMにサインインしようとすると、次のエラー メッセージが表示されます。

ログインによって要求されたデータベース "Organization_MSCRM" を開くことができません。
ログインに失敗しました。 ユーザー 'NT AUTHORITY\NETWORK SERVICE' のログインに失敗しました。

Web.config ファイルで DevErrors 値が [オン] に設定されている場合は、次のようなエラー メッセージが表示されます。

'/' アプリケーションのサーバー エラー。

ログインによって要求されたデータベース "MSCRM_CONFIG" を開くことができません。 ログインに失敗しました。
ユーザー 'Domain\CRMServer$' のログインに失敗しました。
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。 エラーとコード内の発生場所の詳細については、スタック トレースを確認してください。

例外の詳細: System.Data.SqlClient.SqlException: ログインによって要求されたデータベース "MSCRM_CONFIG" を開くことができません。 ログインに失敗しました。 ユーザー 'Domain\CRMServer$' のログインに失敗しました。

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。 例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して識別できます。

スタック トレース:

[SqlException (0x80131904): ログインによって要求されたデータベース "MSCRM_CONFIG" を開くことができません。 ログインに失敗しました。

ユーザー 'Domain\CRMServer$' のログインに失敗しました。]

System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +437
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
Microsoft.Crm.CrmDbConnection.Open() +386
Microsoft.Crm.SharedDatabase.DatabaseMetadata.LoadMetadataXmlFromDatabase(CrmDBConnectionType connectionType, String connectionString, Int32& maxBlobSize) +125
Microsoft.Crm.SharedDatabase.DatabaseMetadata.LoadCacheFromDatabase(CrmDBConnectionType connectionType, String connectionString) +65
Microsoft.Crm.ConfigurationDatabase.ConfigurationMetadata.LoadCache() +41
Microsoft.Crm.ConfigurationDatabase.ConfigurationMetadata.get_Cache() +114
Microsoft.Crm.ConfigurationDatabase.ConfigurationDatabaseService.InitializeMetadataCache() +28
Microsoft.Crm.SharedDatabase.DatabaseService.Initialize(String tableName) +53
Microsoft.Crm.SharedDatabase.DatabaseService.Retrieve(String tableName, String[] columns, PropertyBag[] conditions) +109
Microsoft.Crm.ServerLocatorService.GetSiteSettingIdFromDatabase() +155
Microsoft.Crm.ServerLocatorService.GetSiteSettingId() +187
Microsoft.Crm.ServerLocatorService.GetSiteSetting(String settingName) +82
Microsoft.Crm.LocatorService.GetSiteSetting(String settingName) +35
Microsoft.Crm.CrmTrace.get_RefreshTrace() +654
バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.832;ASP.NET バージョン:2.0.50727.832

原因

この問題は、次の条件の 1 つ以上が当てはまる場合に発生します。

  • Microsoft Dynamics CRMは、複数サーバー環境にインストールします。 次に、microsoft SQL Serverを実行しているサーバーにMicrosoft Dynamics CRMを直接インストールします。 ただし、一部のSQL Serverアクセス許可は設定されていません。
  • Microsoft Dynamics CRM サーバーは、Active Directory ディレクトリ サービスの SQLAccessGroup グループには追加されません。

解決方法

この問題を解決するには、次の 1 つ以上の方法を使用します。

方法 1

NT AUTHORITY\NETWORK SERVICE アカウントを、Microsoft Dynamics CRM データベースにアクセスできるSQL Server ユーザーとして設定します。 これを行うには、次の手順を実行します。

  1. [スタート] を選択し、[すべてのプログラム] をポイントし、[Microsoft SQL Server 2005] をポイントして、[SQL Management Studio] を選択します。

    注:

    Dynamics CRM 2011 の場合、Microsoft SQL Server 2008 になります。

  2. SQL Server Management Studioにサインインするには、[OK] を選択します
  3. オブジェクト エクスプローラーで、[データベース] を展開し、Organization_MSCRM データベースを展開し、[セキュリティ] を展開します。
  4. [ ユーザー] を右クリックし、[ 新しいユーザー] を選択します。
  5. [ データベース ユーザー - 新規 ] ダイアログ ボックスで、次のフィールドに 「NT AUTHORITY\NETWORK SERVICE 」と入力します。
    • [ユーザー名] フィールド。
    • [ ログイン名 ] フィールド。
  6. [データベース ロールのメンバーシップ] 領域で、[db_owner チェック] ボックスを選択し、[OK] を選択します

方法 2

Microsoft Dynamics CRM サーバーを Active Directory の SQLAccessGroup グループに追加します。 これを行うには、次の手順を実行します。

  1. [ スタート] を選択し、[ 実行] を選択し、「 dsa.msc」と入力して、[ OK] を選択します
  2. Microsoft Dynamics CRMをインストールする組織単位を選択します。
  3. [SQLAccessGroup] をダブルクリックします。
  4. [SQLAccessGroup] ダイアログ ボックスで、[メンバー] を選択し、[追加] を選択し、[オブジェクトの種類] を選択し、[コンピューターのチェック] ボックスを選択し、[OK] を選択します
  5. [選択するオブジェクト名を入力します] ボックスに、Microsoft Dynamics CRM サーバーの名前を入力し、[名前の確認] を選択します。
  6. [選択するオブジェクト名を入力する] ボックスにMicrosoft Dynamics CRM サーバーの名前が使用可能であることを確認し、[OK] を 2 回選択します。
  7. Microsoft Dynamics CRM サーバーを再起動します。