Mensaje de error cuando se conecta a una instancia de SQL Server: "No se puede abrir la base de datos predeterminada de usuario"

Seleccione idioma Seleccione idioma
Id. de artículo: 307864 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cada usuario tiene una base de datos predeterminada. Cuando se conecta a un equipo que ejecuta Microsoft SQL Server, y no se especifica una base de datos de inicio de sesión, se utiliza la base de datos predeterminada. Sin embargo, si la base de datos predeterminada no está disponible en el momento de la conexión, es podrán que no pueda conectarse. En su lugar, recibe el mensaje de error 4062 o 4064. El texto de los mensajes de error es el siguiente:
No se puede abrir la base de datos predeterminada de usuario

Causa

La base de datos predeterminada de usuario no está disponible en el momento de la conexión. Es posible que la base de datos:
  • Está en modo sospechoso.
  • Ya no existe.
  • Se encuentra en modo de usuario único y la única conexión disponible ya está en uso por otra persona o por otra cosa.
  • Se ha desasociado.
  • Se ha establecido el estado RESTRICTED_USER.
  • Está sin conexión.
  • Se establece en el estado de emergencia.
  • ¿No dispone de la cuenta de inicio de sesión asignado a un usuario o el usuario no tiene acceso.
  • Forma parte de un reflejo de la base de datos.
Además, la cuenta de inicio de sesión puede ser miembro de varios grupos y la base de datos predeterminada para uno de esos grupos no está disponible en el momento de la conexión.

Solución

Para evitar este comportamiento, especifique una base de datos válido, disponible en la cadena de conexión.Para evitar el error cuando no está disponible la base de datos de usuario predeterminada, inicie sesión como un usuario que puede modificar los inicios de sesión. A continuación, cambie la base de datos de usuario predeterminada para una base de datos está disponible para una conexión.

SQL Server 2005 y versiones posteriores

Puede utilizar la utilidad sqlcmd para cambiar la base de datos predeterminada en SQL Server 2005. Para ello, siga estos pasos:
  1. Haga clic en Inicio, haga clic en Ejecutar, tipo cmd, y, a continuación, presione ENTRAR.
  2. Utilice uno de los métodos siguientes, dependiendo del tipo de autenticación que utiliza el inicio de sesión de SQL Server:
    • Si el inicio de sesión de SQL Server utiliza la autenticación de Microsoft Windows para conectarse a la instancia, escriba lo siguiente en el símbolo del sistema y, a continuación, presione ENTRAR:
      Sqlcmd: E -S InstanceName patrón: d
    • Si el inicio de sesión de SQL Server utiliza autenticación de SQL Server para conectarse a la instancia, escriba lo siguiente en el símbolo del sistema y, a continuación, presione ENTRAR:
      Sqlcmd -S InstanceName -d master -U SQLLogin -P Contraseña
    Nota InstanceName es un marcador de posición para el nombre de la instancia de SQL Server 2005 a la que se está conectando. SQLLogin es un marcador de posición para el inicio de sesión de SQL Server cuya base de datos predeterminada se ha eliminado. Contraseña es un marcador de posición para la contraseña de inicio de sesión de SQL Server.
  3. En el símbolo del sistema de sqlcmd, escriba lo siguiente y presione ENTRAR:
    ALTER LOGIN SQLLogin CON DEFAULT_DATABASE = AvailDBName
    Nota AvailDBName es un marcador de posición para el nombre de la base de datos que se puede tener acceso el inicio de sesión de SQL Server en la instancia.
  4. En el símbolo del sistema de sqlcmd, escriba GO, y, a continuación, presione ENTRAR.

SQL Server 2000 y SQL Server 7.0

Puede utilizar la herramienta osql para cambiar la base de datos predeterminada en SQL Server 2000 y SQL Server 7.0. Para ello, siga estos pasos:
  1. En el símbolo del sistema, escriba lo siguiente y, a continuación, presione ENTRAR:
    Patrón de C:\>osql -E -d
  2. En el osql Preguntar, escriba lo siguiente y, a continuación, presione ENTRAR:
    1 > sp_defaultdb ' usuario 's_login', 'master'
  3. En la segunda línea, escriba lo siguiente y, a continuación, presione ENTRAR:
    2 > Ir

Estado

Este comportamiento es por diseño.

Más información

Para demostrar este comportamiento, pruebe a conectar con OSQL y utilice la opción -d con una base de datos existente que se encuentra en un estado de conexión normal. La conexión se realiza correctamente sin ningún mensaje de error.

Por el contrario, recibe las respuestas que son similares a los siguientes de varias utilidades de cliente de SQL Server cuando la base de datos no está disponible:
  • SQL Server Management Studio (SQL Server 2005)
    No se puede conectar a NombreDeServidor
    INFORMACIÓN ADICIONAL:
    No se puede abrir la base de datos predeterminada de usuario. Error de inicio de sesión.Error de inicio de sesión para usuario 'Nombre de usuario'. (Microsoft SQL Server, Error: 4064)
  • Mediante la utilidad Sqlcmd en SQL Server 2005
    Msg 4064, nivel 11, estado 1, servidor NombreDeServidorLínea 1
    No se puede abrir la base de datos predeterminada de usuario. Error de inicio de sesión.
    Msj 18456, nivel 14, estado 1, servidor NombreDeServidorLínea 1Inicio de sesión del usuario 'Nombre de usuario'.
  • Analizador de consultas de SQL Server 2000 (AC)
    No se puede conectar al servidor TESTSERVER:
    Servidor: Msg 4064, nivel 16, estado 1
    [Microsoft][ODBC SQL Server Driver][SQL Server]No se puede abrir la base de datos predeterminada de usuario. Error de inicio de sesión.
  • SQL Server 2000 Server Enterprise Manager (SEM)
    Una conexión no se pudo establecer con TESTSERVER - no se puede abrir la base de datos predeterminada de usuario 'dbid'. Se usará la base de datos master.

    Compruebe que está ejecutando SQL Server y compruebe las propiedades de registro de SQL Server (con el botón secundario en el nodo TESTSERVER) y vuelva a intentarlo.
  • Un símbolo mediante OSQL de SQL Server 2000

    Recibirá el siguiente mensaje de error cuando utiliza el comando C:\>osql -E :
    No se puede abrir la base de datos predeterminada de usuario. Error de inicio de sesión.
  • Analizador de consultas de SQL Server 7.0 (QA)
    No se puede conectar al servidor \\TESTSERVER:
    Servidor: Msg 4062, nivel 16, estado 1
    [Microsoft][ODBC SQL Server Driver][SQL Server]No se puede abrir la base de datos predeterminada de usuario '<ID>'. Utilizar la base de datos master en su lugar.</ID>
  • Un símbolo mediante OSQL de SQL Server 7.0

    Recibirá el siguiente mensaje de error cuando utiliza el comando C:\>osql -E :
    No se puede abrir la base de datos predeterminada de usuario 'dbid'.
    Se usará la base de datos master.
En la siguiente tabla se proporciona más información acerca de los productos o herramientas que comprueban automáticamente si esta condición en la instancia de SQL Server y en las versiones del producto de SQL Server con el que se evalúa la regla.
Contraer esta tablaAmpliar esta tabla
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
Asesor de System CenterPrincipales de nivel de servidor de SQL Server configurados con la base de datos predeterminada inexistenteSystem Center Advisorchecks si se presentan los inicios de sesión en la instancia de SQL Server están configurados con una base de datos predeterminada que ya no existe. Revise los detalles que se proporcionan en la sección "Información recopilada" de alerta de theadvisor y sigan los pasos descritos en este artículo para resolver la situación. SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Propiedades

Id. de artículo: 307864 - Última revisión: martes, 24 de junio de 2014 - Versión: 6.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Palabras clave: 
kbtshoot kbsqlsetup kbprb kbmt KB307864 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 307864

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com