Message d’erreur lorsque vous essayez d’ouvrir une session sur Microsoft Dynamics CRM : « Impossible d’ouvrir la base de données ' [entreprise] _MSCRM' demandée par la connexion »

S’applique à : Microsoft Dynamics CRM 2011Dynamics CRM 4.0

Symptômes


Vous installez Microsoft Dynamics CRM. Lorsque vous essayez d’ouvrir une session sur Microsoft Dynamics CRM, le message d’erreur suivant s’affiche :
Impossible d’ouvrir la base de données «organisation_MSCRM » demandée par la connexion.
La connexion a échoué. Échec de la connexion pour l’utilisateur 'NT AUTHORITY\NETWORK SERVICE'.
Si la valeur DevErrors est définie sur On dans le fichier Web.config, vous recevez un message d’erreur semblable au suivant :
Erreur du serveur dans l’Application '/'.

Impossible d’ouvrir la base de données « MSCRM_CONFIG » demandée par la connexion. La connexion a échoué.
Échec de la connexion pour l’utilisateur 'domaine\CRMServer$».
Description : Une exception non gérée s’est produite lors de l’exécution de la demande web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l’exception : System.Data.SqlClient.SqlException : Impossible d’ouvrir la base de données « MSCRM_CONFIG » demandée par la connexion. La connexion a échoué. Échec de la connexion pour l’utilisateur 'domaine\CRMServer$».


Erreur source :

Une exception non gérée a été générée pendant l’exécution de la demande web en cours. Informations concernant l’origine et l’emplacement de l’exception peuvent être identifiées à l’aide de la trace de pile d’exception ci-dessous.

Trace de la pile :

[SqlException (0x80131904) : Impossible d’ouvrir la base de données « MSCRM_CONFIG » demandée par la connexion. La connexion a échoué.

Échec de la connexion pour l’utilisateur 'domaine\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 (connectionType CrmDBConnectionType, chaîne connectionString, Int32 & maxBlobSize) +125

Microsoft.Crm.SharedDatabase.DatabaseMetadata.LoadCacheFromDatabase (CrmDBConnectionType connectionType, chaîne 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 (chaîne tableName, colonnes de type chaîne [], 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




Informations de version : Microsoft.NET Framework Version : 2.0.50727.832 ; ASP.NET Version : 2.0.50727.832

Cause


Ce problème se produit si une ou plusieurs des conditions suivantes sont remplies :

  • Vous installez Microsoft Dynamics CRM dans un environnement à plusieurs serveurs. Ensuite, vous installez Microsoft Dynamics CRM directement sur un serveur qui exécute Microsoft SQL Server. Cependant, certaines autorisations SQL Server ne sont pas définies.
  • Le serveur Microsoft Dynamics CRM n’est pas ajouté au groupe SQLAccessGroup dans le service d’annuaire Active Directory.

Résolution


Pour résoudre ce problème, appliquez une ou plusieurs des méthodes suivantes.

Méthode 1

Définir le compte NT AUTHORITY\NETWORK SERVICE sous la forme d’un utilisateur SQL Server qui a accès aux bases de données Microsoft Dynamics CRM. Pour ce faire, procédez comme suit :
  1. Cliquez sur Démarrer, pointez sur Tous les programmes, pointez sur Microsoft SQL Server 2005, puis cliquez sur SQL Management Studio.
    Remarque Pour Microsoft Dynamics CRM 2011, il sera Microsoft SQL Server 2008
  2. Pour vous connecter à SQL Server Management Studio, cliquez sur OK.
  3. Dans l’Explorateur d’objets, développez bases de données, développez la base de données de l’organisation_MSCRM et puis développez sécurité.
  4. Cliquez sur utilisateurs, puis cliquez sur Nouvel utilisateur.
  5. Dans la boîte de dialogue Utilisateur de la base de données – nouveau , tapez NT AUTHORITY\NETWORK SERVICE dans les champs suivants :
    • Le champ nom d’utilisateur
    • Le champ nom de connexion
  6. Dans la zone appartenance au rôle de base de données , activez la case à cocher db_owner , puis cliquez sur OK.

Méthode 2

Ajoutez le serveur Microsoft Dynamics CRM au groupe SQLAccessGroup dans Active Directory. Pour ce faire, procédez comme suit :
  1. Cliquez sur Démarrer, sur exécuter, tapez DSA.msc, puis cliquez sur OK.
  2. Cliquez sur l’unité d’organisation dans lequel vous installez Microsoft Dynamics CRM.
  3. Double-cliquez sur SQLAccessGroup.
  4. Dans la boîte de dialogue SQLAccessGroup , cliquez sur les membreset cliquez sur Ajouter, cliquez sur Types d’objet, activez la case à cocher ordinateurs , puis cliquez sur OK.
  5. Dans la zone Entrez les noms des objets à sélectionner , tapez le nom du serveur Microsoft Dynamics CRM, puis cliquez sur Vérifier les noms.
  6. Vérifiez que le nom du serveur Microsoft Dynamics CRM dans la zone Entrez les noms des objets à sélectionner est disponible et puis cliquez sur OK à deux reprises.
  7. Redémarrez le serveur Microsoft Dynamics CRM.