Error "Mensaje del sistema 5003: no se puede abrir la base de datos de servidor especificada" al intentar iniciar sesión en Microsoft Dynamics SL

En este artículo se proporcionan soluciones a un error que se produce al intentar iniciar sesión en Microsoft Business Solutions - Solomon o Microsoft Dynamics SL.

Se aplica a: Microsoft Dynamics SL
Número de KB original: 875704

Síntomas

Cuando intenta iniciar sesión en Microsoft Business Solutions - Solomon o Microsoft Dynamics SL, recibe el siguiente mensaje de error:

Mensaje del sistema 5003: no se puede abrir la base de datos de servidor especificada

Causa

Este problema se produce por una o varias de las siguientes razones.

Causa 1

El valor servername de la tabla de dominio de la base de datos del sistema Microsoft Dynamics SL no coincide con el nombre de la instancia de la SQL Server que contiene las bases de datos de Microsoft Dynamics SL. Consulte resolución 1.

Causa 2

Un alias de la utilidad de red de cliente apunta a un servidor antiguo. Asegúrese de que el alias de la utilidad de red de cliente es correcto. Consulte resolución 2.

Causa 3

El protocolo Canalizaciones con nombre y el protocolo TCP/IP no están habilitados en la Utilidad de red de cliente. Consulte resolución 3.

Causa 4

Cuando intenta iniciar sesión en una nueva base de datos de aplicaciones de Microsoft Dynamics SL y el nombre de la base de datos comienza con un número, se muestra el error. Dado que hay una limitación en SQL Server, los nombres de base de datos deben empezar por usar un carácter alfabético. Consulte resolución 4.

Causa 5

No puede establecer una conexión canalizaciones con nombre al servidor porque no tiene permisos de Windows suficientes. Consulte resolución 5.

Causa 6

TCP/IP está configurado incorrectamente. Consulte resolución 6.

Causa 7

La base de datos se establece en Single-User modo. Consulte la resolución 7.

Causa 8

El archivo Capicom.dll en el equipo donde se recibe el error está dañado o la versión es incorrecta. Consulte resolución 8.

Causa 9

El Firewall de Windows del SQL Server está bloqueando el acceso a las bases de datos de SQL Server/SL. Consulte resolución 9.

Causa 10

El modelo de seguridad de autenticación de Windows se usa en Microsoft Dynamics SL. Sin embargo, no ha vinculado el identificador de usuario de Microsoft Dynamics SL al identificador de usuario de Windows. Además, ha creado manualmente el mismo identificador de usuario en la base de datos del sistema de Microsoft Dynamics SL en SQL Server. Consulte resolución 10.

Causa 11

La cuenta de usuario de Microsoft Dynamics SL es miembro del grupo ADMINISTRADORES en Microsoft Dynamics SL. Sin embargo, la cuenta de usuario de dominio de Windows relacionada no es miembro del rol sysadmin en SQL Server. Consulte la resolución 11 y la resolución 12.

Causa 12

El Firewall de Windows en Windows Server 2008 R2 está bloqueando el acceso a las bases de datos de SQL Server/SL. Consulte la Resolución 13.

Causa 13

Se produce en la pantalla Buscar base de datos (98.000.01) al seleccionar una base de datos de aplicación en el cuadro Nombre de la base de datos. Consulte la Resolución 14.

Causa 14

Se produce en la pantalla Buscar base de datos (98.000.01) al seleccionar Aceptar después de haber seleccionado el nombre del servidor y el nombre de la base de datos. Consulte la resolución 15.

Resolución

Para resolver este problema, use la resolución adecuada.

Solución 1

Compruebe el valor servername de la tabla de dominio para asegurarse de que el valor coincide con el nombre de la instancia de la SQL Server donde se encuentra la instalación de Microsoft Dynamics SL.

  1. En SQL Server Management Studio, ejecute la siguiente instrucción en la base de datos del sistema de Microsoft Dynamics SL.

    Select servername, * from domain
    
  2. Si el valor servername no coincide con el nombre de instancia de SQL Server, ejecute la siguiente instrucción para actualizar el valor servername:

    UPDATE Domain SET ServerName = '<Nameofserver>'
    --Replace the <Nameofserver> placeholder with the instance name of SQL Server.
    
  3. Inicie sesión en Mantenimiento de la base de datos.

  4. En la pestaña Actualizar bases de datos , seleccione la base de datos del sistema microsoft Dynamics SL y todas las bases de datos de aplicaciones asociadas y, a continuación, seleccione Actualizar vistas.

Solución 2

Quite el alias que hace referencia al servidor anterior. Para ello, siga estos pasos:

  1. Seleccione Inicio, seleccione Ejecutar, escriba cliconfg y presione ENTRAR.
  2. En la pestaña Alias , compruebe que todos los alias enumerados son correctos y que son para los servidores actuales. Si alguno de los alias hace referencia a servidores antiguos, use el puntero para poner el foco en el que desea quitar y, a continuación, seleccione Quitar.
  3. Seleccione Aceptar.

En un equipo de 32 bits:
Ir a iniciar> el tipo deejecución>cliconfg

En un equipo de 64 bits:

  1. Vaya a C:\Windows\SysWOW64
  2. Ejecutar cliconfg.exe ubicado en esa carpeta

Resolución 3

Compruebe que las canalizaciones con nombre y TCP/IP están habilitadas en la Utilidad de red de cliente.

  1. Seleccione Inicio, seleccione Ejecutar, escriba cliconfg y presione ENTRAR.

  2. En la pestaña General , compruebe que el protocolo Canalizaciones con nombre y el protocolo TCP/IP aparecen en Protocolos habilitados por orden. Si estos protocolos no están habilitados, use el puntero para poner el foco en cada uno y, a continuación, seleccione Habilitar.

  3. Si el protocolo Canalizaciones con nombre no es el primer protocolo de la lista, seleccione el protocolo Canalizaciones con nombre y use las teclas de flecha para moverlo.

  4. Seleccione Aceptar.

    Nota:

    Normalmente, no hay ninguna recomendación establecida sobre qué protocolo debe cargarse primero. En función de las configuraciones de red, un protocolo puede funcionar mejor que el otro.

En un equipo de 32 bits:

  1. Ir a iniciar> el tipo deejecución>cliconfg
  2. Asegúrese de que las canalizaciones con nombre y TCP/IP están habilitadas.

En un equipo de 64 bits:

  1. Vaya a C:\Windows\SysWOW64.
  2. Ejecutar cliconfg.exe ubicado en esa carpeta
  3. Asegúrese de que las canalizaciones con nombre y TCP/IP están habilitadas.

Resolución 4

Cree una copia de seguridad de la aplicación y las bases de datos del sistema de Microsoft Dynamics SL existentes y, a continuación, restaure las bases de datos en el mismo servidor mediante nombres de base de datos alfa.

Nota:

En el paso 4, asegúrese de restaurar la base de datos a la misma SQL Server.

Resolución 5

Conceda al usuario permisos suficientes en Windows.

Nota:

SQL Server no puede leer la configuración del Registro para establecer una conexión de canalización con nombre porque el usuario no tiene permisos suficientes en Windows. Póngase en contacto con el administrador del sistema de red para obtener ayuda.

Resolución 6

Compruebe que TCP/IP está configurado correctamente.

  1. Si usa DHCP para asignar direcciones IP, asegúrese de que el equipo que genera el error permite al servidor DHCP asignar la dirección, en lugar de asignar una dirección IP estática.

  2. Compruebe que la estación de trabajo puede hacer ping al servidor. Para ello, siga estos pasos:

    1. Seleccione Inicio, seleccione Ejecutar, escriba cmd y presione ENTRAR.

    2. En el símbolo del sistema dos, escriba ping <ServerName> o escriba ping <ServerIPAddress>.

      Nota:

      Reemplace el <marcador de posición ServerName> por el nombre del servidor. Reemplace el marcador de< posición ServerIPAddress> por la dirección IP del servidor.

  3. Si usa la resolución DNS estática, agregue el servidor que ejecuta SQL Server a la lista De pedidos de búsqueda del servidor DNS que se encuentra en Red: Propiedades TCP/IP - Configuración de DNS o al archivo Host del equipo de estación de trabajo. Póngase en contacto con el administrador del sistema de red para obtener ayuda.

Resolución 7

Borrar el acceso de usuario único en propiedades de base de datos.

  1. Abra SQL Server Management Studio.
  2. Expanda Bases de datos.
  3. Haga clic con el botón derecho en la base de datos de la aplicación Microsoft Dynamics SL y seleccione Propiedades.
  4. En la página Opciones y compruebe que Un solo usuario no está seleccionado como valor Restringir acceso .

Resolución 8

Compruebe la versión del archivo Capicom.dll y registre manualmente el archivo.

  1. Busque el archivo Capicom.dll en las siguientes rutas de acceso:

    Sistema operativo de 32 bits: <SystemDrive>:\Windows\System32

    Sistema operativo de 64 bits: <SystemDrive>:\Windows\SysWOW64

    Nota:

    <SystemDrive> representa la unidad en la que está instalado Microsoft Windows.

  2. Compruebe que la versión del archivo Capicom.dll es 2.1.0.1. Para ello, siga estos pasos:

    1. Haga clic con el botón derecho en el archivo Capicom.dll y, a continuación, seleccione Propiedades. Aparece el cuadro de diálogo Propiedades decapicom.dll .
    2. En la pestaña Versión , compruebe que el valor de Versión del archivo es 2.1.0.1.
    3. Seleccione Aceptar.
  3. Haga clic con el botón derecho en el archivo Capicom.dll y, a continuación, seleccione Abrir con.

  4. En el cuadro de diálogo Windows , seleccione Seleccionar el programa de una lista y, a continuación, seleccione Aceptar.

  5. En el cuadro de diálogo Abrir con , seleccione Examinar.

  6. Busque y abra la carpeta siguiente:

    Sistema operativo de 32 bits: <SystemDrive>:\Windows\System32 sistema operativo de 64 bits: <SystemDrive>:\Windows\SysWOW64

  7. Haga doble clic en el archivo Regsvr32.exe y, a continuación, seleccione Aceptar.

  8. Seleccione Aceptar cuando reciba el siguiente mensaje:

    RegSvr32 : DllRegisterServer en SystemDrive :\windows\system32\capicom.dll ha realizado correctamente.

Resolución 9

Abra el puerto 1433 en el SQL Server. Para ello, siga estos pasos:

  1. En Panel de control, seleccione Firewall de Windows.
  2. En la pestaña Excepciones , seleccione Agregar puerto.
  3. Especifique la siguiente configuración:
    • Nombre: 1433
    • Número de puerto: 1433
    • Seleccione TCP.
  4. Haga clic en Aceptar dos veces.

Resolución 10

Elimine el identificador de usuario que creó en SQL y, a continuación, vincule el identificador de usuario de Microsoft Dynamics SL al identificador de usuario de Windows. Para ello, siga estos pasos:

  1. Elimine el identificador de usuario que creó en SQL:

    1. En SQL Server Management Studio, expanda Bases de datos, expanda la base de datos del sistema microsoft Dynamics SL, expanda Seguridady, a continuación, expanda Usuarios.
    2. Haga clic con el botón derecho en el identificador de usuario que creó y, a continuación, seleccione Eliminar.
    3. En el cuadro de diálogo Eliminar objeto , seleccione Aceptar.
  2. Vincule el identificador de usuario de Microsoft Dynamics SL al identificador de usuario de Windows:

    1. Inicie sesión en Microsoft Dynamics SL con el identificador de usuario SYSADMIN.

    2. En el panel de navegación, seleccione Administración.

    3. En el panel Detalles de administración , en Seguridad, seleccione Mantenimiento de usuarios.

    4. En el cuadro Id. de usuario, escriba el identificador de usuario que no puede iniciar sesión en Microsoft Dynamics SL.

    5. En la pestaña Detalles , en el cuadro Nombre de usuario de Windows , escriba <DomainName>\<UserName>.

      Nota:

      Reemplace el <marcador de posición DomainName> por el nombre de dominio de Windows y reemplace el <marcador de posición UserName> por el identificador de usuario de Windows.

    6. Seleccione Guardar y cierre la pantalla Mantenimiento de usuario (95.260.00).

Resolución 11

Sincronice la propiedad y la seguridad en las bases de datos de Microsoft Dynamics SL. Para ello, siga estos pasos:

  1. Abra la pantalla Mantenimiento de base de datos (98.290.00).
  2. En el cuadro Nombre de SQL Server de destino, escriba el nombre del servidor.
  3. En el cuadro Id. de inicio de sesión , escriba sa.
  4. En el cuadro Contraseña , escriba la contraseña del usuario SYSADMIN.
  5. Seleccione Conectar.
  6. En la pestaña Actualizar base de datos , en el cuadro Nombre de la base de datos del sistema, seleccione la base de datos del sistema.
  7. En la columna Bases de datos , seleccione la base de datos de la aplicación.
  8. En el área Actualizar escenarios , seleccione Sincronizar toda la propiedad & seguridad.
  9. Seleccione Actualizar base de datos.
  10. Cierre la pantalla Mantenimiento de base de datos (98.290.00).

Resolución 12

Quite y lea todos los usuarios en el grupo ADMINISTRADORES de Microsoft Dynamics SL. Para ello, siga estos pasos:

Nota:

En esta resolución se supone que una o varias cuentas de usuario de Microsoft Dynamics SL con permisos administrativos pueden iniciar sesión en Microsoft Dynamics SL.

  1. Inicie sesión en el dominio mediante una cuenta de usuario de dominio de Windows vinculada a una cuenta de usuario de Microsoft Dynamics SL que tenga permisos administrativos.
  2. Seleccione Administración.
  3. En el panel Administrador del sistema , seleccione Mantenimiento de grupo en Seguridad.
  4. En el cuadro Id. de grupo , escriba ADMINISTRADORES y, a continuación, presione TAB.
  5. Nota:

    Identificadores de usuario enumerados en el área Detalles .

  6. Elimine todos los usuarios de la lista excepto el identificador de usuario en el que ha iniciado sesión actualmente.
  7. Seleccione Guardar.
  8. Agregue los identificadores de usuario y, a continuación, seleccione Guardar.
  9. Cierre la pantalla Mantenimiento de grupo (95.280.00).

Resolución 13

Abra los números de puerto 1433 y 1434. Para ello, siga estos pasos:

  1. En el equipo que ejecuta SQL Server, seleccione Inicio, Herramientas administrativas y, a continuación, Firewall de Windows con seguridad avanzada.
  2. Haga clic con el botón derecho en Reglas de entrada, seleccione Nueva regla y, a continuación, seleccione Siguiente.
  3. Seleccione Todos los programas y, a continuación, seleccione Siguiente.
  4. Seleccione Siguiente, haga clic para desactivar la casilla Público y, a continuación, seleccione Siguiente.
  5. Escriba SQL SERVER en el cuadro Nombre y, a continuación, seleccione Finalizar.
  6. En el panel Reglas de entrada , haga clic con el botón derecho en SQL SERVER y, a continuación, seleccione Propiedades.
  7. En la pestaña Protocolos y puertos , seleccione TCP en el cuadro Tipo de protocolo .
  8. En el cuadro Puerto local , seleccione Puertos específicos y escriba 1433.
  9. Seleccione Aplicar y luego Aceptar.
  10. Haga clic con el botón derecho en Reglas de entrada, seleccione Nueva regla y, a continuación, seleccione Siguiente.
  11. Seleccione Todos los programas y, a continuación, seleccione Siguiente.
  12. Seleccione Siguiente, haga clic para desactivar la casilla Público y, a continuación, seleccione Siguiente.
  13. Escriba SQL SERVER BROWSER en el cuadro Nombre y, a continuación, seleccione Finalizar.
  14. En el panel Reglas de entrada , haga clic con el botón derecho en SQL SERVER BROWSER y, a continuación, seleccione Propiedades.
  15. En la pestaña Protocolos y puertos , seleccione UDP en el cuadro Tipo de protocolo .
  16. En el cuadro Puerto local , seleccione Puertos específicos y escriba 1434.
  17. Seleccione Aplicar y, a continuación, seleccione Aceptar para cerrar el cuadro de diálogo Propiedades de SQL SERVER BROWSER .

Resolución 14

Seleccione el nombre adecuado de la base de datos del sistema en el cuadro Nombre de la base de datos y, a continuación, seleccione Aceptar.

Resolución 15

Vuelva a agregar un alias al servidor SQL Server en la utilidad de red de cliente de SQL Server:

En una máquina de 32 bits:

  1. Ir a iniciar> el tipo deejecución>cliconfg
  2. Asegúrese de que las canalizaciones con nombre y TCP/IP están habilitadas.
  3. En la pestaña Alias , seleccione Agregar.
  4. En Alias del servidor, escriba el nombre del servidor exactamente como lo está escribiendo en la pantalla Buscar bases de datos .
  5. Deje todo lo demás de forma predeterminada. (Debe ser el valor predeterminado como alias de canalizaciones con nombre)
  6. Seleccione Aceptar.
  7. Seleccione Aplicar.
  8. Seleccione Aceptar.

En una máquina de 64 bits:

  1. Vaya a C:\Windows\SysWOW64
  2. Ejecutar cliconfg.exe ubicado en esa carpeta
  3. Asegúrese de que las canalizaciones con nombre y TCP/IP están habilitadas.
  4. En la pestaña Alias , seleccione Agregar.
  5. En Alias del servidor, escriba el nombre del servidor exactamente como lo está escribiendo en la pantalla Buscar bases de datos .
  6. Deje todo lo demás de forma predeterminada. (Debe ser el valor predeterminado como alias de canalizaciones con nombre)
  7. Seleccione Aceptar.
  8. Seleccione Aplicar.
  9. Seleccione Aceptar.

Más información

Para excluir problemas de red, cree una conexión ODBC de prueba en el equipo donde reciba el mensaje de error. Para ello, siga estos pasos:

  1. En Panel de control, seleccione Herramientas administrativas y, a continuación, seleccione Orígenes de datos (ODBC).
  2. En la pestaña DSN de usuario, seleccione Agregar, desplácese hasta el final de la lista, seleccione SQL Server y, a continuación, seleccione Finalizar.
  3. Especifique la siguiente configuración:
    • Nombre: TEST
    • Descripción: TEST
    • Servidor: escriba el SQL Server al que desea conectarse.
  4. Seleccione Siguiente.
  5. Seleccione autenticación de Windows o autenticación de SQL y escriba el nombre de usuario y la contraseña sa si es necesario.
  6. Seleccione Siguiente dos veces, finalizar y, a continuación, seleccione Probar origen de datos.