分享方式:


登入 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 檔案中的 On ,您會收到類似下列的錯誤訊息:

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

無法開啟登入所要求的資料庫「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(字串設定名稱) +82
Microsoft.Crm.LocatorService.GetSiteSetting(字符串設定名稱) +35
Microsoft.Crm.CrmTrace.get_RefreshTrace() +654
版本資訊:Microsoft .NET Framework 版本:2.0.50727.832;ASP.NET 版本:2.0.50727.832

原因

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

  • 您可以在多伺服器環境中安裝 Microsoft Dynamics CRM。 然後,您會直接在執行 sql Server Microsoft 的伺服器上安裝 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 伺服器。