Impossibile aprire il database richiesto dall'errore di accesso quando si accede a Microsoft Dynamics CRM

Questo articolo fornisce una soluzione per il problema per cui potrebbe essere visualizzato il messaggio "Impossibile aprire il database Organization_MSCRM" richiesto dall'errore di accesso quando si accede a Microsoft Dynamics CRM.

Si applica a: Microsoft Dynamics CRM 2011
Numero KB originale: 946286

Sintomi

Installare Microsoft Dynamics CRM. Quando si tenta di accedere a Microsoft Dynamics CRM, viene visualizzato il messaggio di errore seguente:

Impossibile aprire il database "Organization_MSCRM" richiesto dall'account di accesso.
Accesso non riuscito. Accesso non riuscito per l'utente 'NT AUTHORITY\NETWORK SERVICE'.

Se il valore DevErrors è impostato su nel file Web.config, viene visualizzato un messaggio di errore simile al seguente:

Errore del server nell'applicazione '/'.

Impossibile aprire il database "MSCRM_CONFIG" richiesto dall'account di accesso. Accesso non riuscito.
Accesso non riuscito per l'utente 'Domain\CRMServer$'.
Descrizione: si è verificata un'eccezione non gestita durante l'esecuzione della richiesta Web corrente. Esaminare la traccia dello stack per altre informazioni sull'errore e sulla posizione in cui ha avuto origine nel codice.

Dettagli eccezione: System.Data.SqlClient.SqlException: impossibile aprire il database "MSCRM_CONFIG" richiesto dall'account di accesso. Accesso non riuscito. Accesso non riuscito per l'utente 'Domain\CRMServer$'.

Errore di origine:

Durante l'esecuzione della richiesta Web corrente è stata generata un'eccezione non gestita. Le informazioni relative all'origine e alla posizione dell'eccezione possono essere identificate usando la traccia dello stack di eccezioni riportata di seguito.

Analisi dello stack:

[SqlException (0x80131904): impossibile aprire il database "MSCRM_CONFIG" richiesto dall'account di accesso. Accesso non riuscito.

Accesso non riuscito per l'utente '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
Informazioni sulla versione: Microsoft .NET Framework versione:2.0.50727.832; ASP.NET versione:2.0.50727.832

Causa

Questo problema si verifica se si verifica una o più delle condizioni seguenti:

  • Si installa Microsoft Dynamics CRM in un ambiente a più server. Installare quindi Microsoft Dynamics CRM direttamente in un server che esegue Microsoft SQL Server. Tuttavia, alcune autorizzazioni SQL Server non sono impostate.
  • Il server Microsoft Dynamics CRM non viene aggiunto al gruppo SQLAccessGroup nel servizio directory Active Directory.

Risoluzione

Per risolvere il problema, usare uno o più dei metodi seguenti.

Metodo 1

Configurare l'account NT AUTHORITY\NETWORK SERVICE come utente SQL Server che ha accesso ai database Microsoft Dynamics CRM. A tal fine, attenersi alla seguente procedura:

  1. Selezionare Start, scegliere Tutti i programmi, Microsoft SQL Server 2005 e quindi SQL Management Studio.

    Nota

    Per Dynamics CRM 2011, sarà Microsoft SQL Server 2008.

  2. Per accedere a SQL Server Management Studio, selezionare OK.
  3. In Esplora oggetti espandere Database, espandere il database Organization_MSCRM e quindi espandere Sicurezza.
  4. Fare clic con il pulsante destro del mouse su Utenti e quindi scegliere Nuovo utente.
  5. Nella finestra di dialogo Utente database - Nuovo digitare NT AUTHORITY\NETWORK SERVICE nei campi seguenti:
    • Campo Nome utente .
    • Campo Nome account di accesso.
  6. Nell'area Appartenenza al ruolo database selezionare la casella di controllo db_owner e quindi selezionare OK.

Metodo 2

Aggiungere il server Microsoft Dynamics CRM al gruppo SQLAccessGroup in Active Directory. A tal fine, attenersi alla seguente procedura:

  1. Selezionare Start, selezionare Esegui, digitare dsa.msc e quindi selezionare OK.
  2. Selezionare l'unità organizzativa in cui installare Microsoft Dynamics CRM.
  3. Fare doppio clic su SQLAccessGroup.
  4. Nella finestra di dialogo SQLAccessGroup selezionare Membri, selezionare Aggiungi, selezionare Tipi di oggetto, selezionare la casella di controllo Computer e quindi selezionare OK.
  5. Nella casella Immettere i nomi degli oggetti da selezionare digitare il nome del server Microsoft Dynamics CRM e quindi selezionare Controlla nomi.
  6. Verificare che il nome del server Microsoft Dynamics CRM nella casella Immettere i nomi degli oggetti da selezionare sia disponibile e quindi selezionare OK due volte.
  7. Riavviare il server Microsoft Dynamics CRM.