當您登入 Microsoft Dynamics CRM 時,無法開啟登入錯誤所要求的資料庫

本文提供您在登入 Microsoft Dynamics CRM 時,可能會收到登入錯誤要求的「無法開啟資料庫」「Organization_MSCRM」問題的解決方法。

適用於:Microsoft Dynamics CRM 2011 年
原始 KB 編號: 946286

徵狀

您安裝 Microsoft Dynamics CRM。 當您嘗試登入 Microsoft Dynamics CRM 時,您會收到下列錯誤訊息:

無法開啟登入要求的「組織_MSCRM」資料庫。
登入失敗。 使用者 『NT AUTHORITY\NETWORK SERVICE』 的登入失敗。

如果 DevErrors 值在 Web.config 檔案中設定為 [ 啟],您會收到類似下列的錯誤訊息:

'/' 應用程式中的伺服器錯誤。

無法開啟登入要求的資料庫 「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

原因

如果下列一或多個條件成立,就會發生此問題:

  • 您可以在多伺服器環境中安裝 Microsoft Dynamics CRM。 然後,您會直接在執行 Microsoft SQL Server 的伺服器上安裝 Microsoft Dynamics CRM。 不過,某些 SQL Server 許可權並未設定。
  • Microsoft Dynamics CRM 伺服器不會新增至 Active Directory 目錄服務中的 SQLAccessGroup 群組。

解決方案

若要解決此問題,請使用下列一或多個方法。

方法 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,請選取 [確定]
  3. 在 [物件總管] 中,依序展開 [資料庫] 和 [Organization_MSCRM資料庫],然後展開 [安全性]
  4. 以滑鼠右鍵按兩下 [ 使用者],然後選取 [ 新增使用者]
  5. 在 [ 資料庫使用者 - 新增 ] 對話框的下列欄位中輸入 NT AUTHORITY\NETWORK SERVICE
    • [ 用戶名稱] 欄 位。
    • [ 登入名稱] 欄位
  6. 在 [ 資料庫角色成員資格 ] 區域中,選 取 [db_owner ] 複選框,然後選取 [ 確定]

方法 2

將 Microsoft Dynamics CRM 伺服器新增至 Active Directory 中的 SQLAccessGroup 群組。 如果要執行這項操作,請依照下列步驟執行:

  1. 取 [開始],選取 [ 執行],輸入 dsa.msc,然後選取 [ 確定]
  2. 選取您在其中安裝 Microsoft Dynamics CRM 的組織單位。
  3. 按兩下 [SQLAccessGroup]
  4. [SQLAccessGroup ] 對話框中,依序選取 [成員]、[ 新增]、[ 物件類型]、[ 計算機] 複選框,然後選取 [ 確定]
  5. 在 [輸入要選取的物件名稱] 方塊中,輸入 Microsoft Dynamics CRM 伺服器的名稱,然後選取 [檢查名稱]
  6. 確認 [輸入要選取的物件名稱] 方塊中 Microsoft Dynamics CRM 伺服器的名稱可供使用,然後選取 [確定] 兩次。
  7. 重新啟動 Microsoft Dynamics CRM 伺服器。