Impossible d’ouvrir la base de données demandée par l’erreur de connexion lorsque vous vous connectez à Microsoft Dynamics CRM

Cet article fournit une résolution du problème lié au fait que vous pouvez recevoir un « Organization_MSCRM » impossible d’ouvrir la base de données demandé par l’erreur de connexion lors de la connexion à Microsoft Dynamics CRM.

S’applique à : Microsoft Dynamics CRM 2011
Numéro de la base de connaissances d’origine : 946286

Symptômes

Vous installez Microsoft Dynamics CRM. Lorsque vous essayez de vous connecter à Microsoft Dynamics CRM, le message d’erreur suivant s’affiche :

Impossible d’ouvrir la base de données « Organization_MSCRM » demandée par la connexion.
Échec de la connexion. Échec de la connexion pour l’utilisateur « NT AUTHORITY\NETWORK SERVICE ».

Si la valeur DevErrors est définie sur Activé 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. Échec de la connexion.
É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 requête web actuelle. Pour plus d’informations sur l’erreur et son origine dans le code, consultez la trace de la pile.

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

Erreur source :

Une exception non gérée a été générée lors de l’exécution de la requête web actuelle. Les informations relatives à l’origine et à l’emplacement de l’exception peuvent être identifiées à l’aide de la trace de pile d’exceptions ci-dessous.

Trace de pile :

[SqlException (0x80131904) : impossible d’ouvrir la base de données « MSCRM_CONFIG » demandée par la connexion. Échec de la connexion.

É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(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
Informations sur la version : Microsoft .NET Framework version :2.0.50727.832 ; version ASP.NET :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 exécutant Microsoft SQL Server. Toutefois, 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, utilisez une ou plusieurs des méthodes suivantes.

Méthode 1

Configurez le compte NT AUTHORITY\NETWORK SERVICE en tant qu’utilisateur SQL Server qui a accès aux bases de données Microsoft Dynamics CRM. Pour cela, procédez comme suit :

  1. Sélectionnez Démarrer, pointez sur Tous les programmes, sur Microsoft SQL Server 2005, puis sélectionnez SQL Management Studio.

    Remarque

    Pour Dynamics CRM 2011, il s’agit de Microsoft SQL Server 2008.

  2. Pour vous connecter à SQL Server Management Studio, sélectionnez OK.
  3. Dans Explorateur d'objets, développez Bases de données, Organization_MSCRM base de données, puis Sécurité.
  4. Cliquez avec le bouton droit sur Utilisateurs, puis sélectionnez Nouvel utilisateur.
  5. Dans la boîte de dialogue Utilisateur de base de données - Nouveau , tapez NT AUTHORITY\NETWORK SERVICE dans les champs suivants :
    • Champ Nom d’utilisateur .
    • Champ Nom de connexion .
  6. Dans la zone Appartenance au rôle de base de données, sélectionnez la zone db_owner case activée, puis sélectionnez OK.

Méthode 2

Ajoutez le serveur Microsoft Dynamics CRM au groupe SQLAccessGroup dans Active Directory. Pour cela, procédez comme suit :

  1. Sélectionnez Démarrer, Exécuter, tapez dsa.msc, puis sélectionnez OK.
  2. Sélectionnez l’unité d’organisation dans laquelle vous installez Microsoft Dynamics CRM.
  3. Double-cliquez sur SQLAccessGroup.
  4. Dans la boîte de dialogue SQLAccessGroup, sélectionnez Membres, Ajouter, Types d’objets, sélectionnez la zone Ordinateurs case activée, puis sélectionnez OK.
  5. Dans la zone Entrez les noms d’objets à sélectionner, tapez le nom du serveur Microsoft Dynamics CRM, puis sélectionnez Vérifier les noms.
  6. Vérifiez que le nom du serveur Microsoft Dynamics CRM dans la zone Entrer les noms d’objets à sélectionner est disponible, puis sélectionnez OK deux fois.
  7. Redémarrez le serveur Microsoft Dynamics CRM.