No se puede abrir la base de datos solicitada por el error de inicio de sesión al iniciar sesión en Microsoft Dynamics CRM

En este artículo se proporciona una solución para el problema que puede recibir una base de datos no abierta "Organization_MSCRM" solicitada por el error de inicio de sesión al iniciar sesión en Microsoft Dynamics CRM.

Se aplica a: Microsoft Dynamics CRM 2011
Número de KB original: 946286

Síntomas

Instale Microsoft Dynamics CRM. Al intentar iniciar sesión en Microsoft Dynamics CRM, recibe el siguiente mensaje de error:

No se puede abrir la base de datos "Organization_MSCRM" solicitada por el inicio de sesión.
Error en el inicio de sesión. Error de inicio de sesión del usuario "NT AUTHORITY\NETWORK SERVICE".

Si el valor de DevErrors se establece en Activado en el archivo Web.config, recibirá un mensaje de error similar al siguiente:

Error del servidor en la aplicación "/".

No se puede abrir la base de datos "MSCRM_CONFIG" solicitada por el inicio de sesión. Error en el inicio de sesión.
Error de inicio de sesión del usuario "Domain\CRMServer$".
Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.Data.SqlClient.SqlException: no se puede abrir la base de datos "MSCRM_CONFIG" solicitada por el inicio de sesión. Error en el inicio de sesión. Error de inicio de sesión del usuario "Domain\CRMServer$".

Error de origen:

Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar mediante el seguimiento de la pila de excepciones siguiente.

Seguimiento de pila:

[SqlException (0x80131904): no se puede abrir la base de datos "MSCRM_CONFIG" solicitada por el inicio de sesión. Error en el inicio de sesión.

Error de inicio de sesión del usuario '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
Información de la versión: Microsoft .NET Framework Versión:2.0.50727.832; ASP.NET versión:2.0.50727.832

Causa

Este problema se produce si se cumplen una o varias de las condiciones siguientes:

  • Instale Microsoft Dynamics CRM en un entorno de varios servidores. A continuación, instale Microsoft Dynamics CRM directamente en un servidor que ejecuta Microsoft SQL Server. Sin embargo, no se establecen algunos permisos de SQL Server.
  • El servidor de Microsoft Dynamics CRM no se agrega al grupo SQLAccessGroup en el servicio de directorio de Active Directory.

Resolución

Para resolver este problema, use uno o varios de los métodos siguientes.

Método 1

Configure la cuenta NT AUTHORITY\NETWORK SERVICE como un usuario SQL Server que tenga acceso a las bases de datos de Microsoft Dynamics CRM. Para ello, siga estos pasos:

  1. Seleccione Inicio, todos los programas, Microsoft SQL Server 2005 y SQL Management Studio.

    Nota:

    Para Dynamics CRM 2011, será Microsoft SQL Server 2008.

  2. Para iniciar sesión en SQL Server Management Studio, seleccione Aceptar.
  3. En Explorador de objetos, expanda Bases de datos, expanda la base de datos Organization_MSCRM y, a continuación, expanda Seguridad.
  4. Haga clic con el botón derecho en Usuarios y, a continuación, seleccione Nuevo usuario.
  5. En el cuadro de diálogo Usuario de base de datos - Nuevo , escriba NT AUTHORITY\NETWORK SERVICE en los campos siguientes:
    • Campo Nombre de usuario .
    • Campo Nombre de inicio de sesión .
  6. En el área Pertenencia a roles de base de datos, active la casilla db_owner y, a continuación, seleccione Aceptar.

Método 2

Agregue el servidor Microsoft Dynamics CRM al grupo SQLAccessGroup en Active Directory. Para ello, siga estos pasos:

  1. Seleccione Inicio, ejecutar, escriba dsa.msc y, a continuación, seleccione Aceptar.
  2. Seleccione la unidad organizativa en la que instale Microsoft Dynamics CRM.
  3. Haga doble clic en SQLAccessGroup.
  4. En el cuadro de diálogo SQLAccessGroup , seleccione Miembros, Agregar, Tipos de objeto, seleccione la casilla Equipos y, a continuación, seleccione Aceptar.
  5. En el cuadro Escribir los nombres de objeto que se van a seleccionar, escriba el nombre del servidor Microsoft Dynamics CRM y, a continuación, seleccione Comprobar nombres.
  6. Compruebe que el nombre del servidor de Microsoft Dynamics CRM en el cuadro Escribir los nombres de objeto que se van a seleccionar esté disponible y, a continuación, seleccione Aceptar dos veces.
  7. Reinicie el servidor de Microsoft Dynamics CRM.