Al momento sei offline in attesa che la connessione Internet venga ristabilita

Messaggio di errore quando ci si connette a un'istanza di SQL Server: "Impossibile aprire il database utente predefinito"

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

307864
Sintomi
Ogni utente dispone di un database predefinito. Quando si connette al computer che esegue Microsoft SQL Server e non si specifica un database di account di accesso, viene utilizzato il database predefinito. Tuttavia, se il database predefinito non è disponibile al momento della connessione, potrebbe risultare in grado di connettersi. Al contrario, viene visualizzato il messaggio di errore 4062 o 4064. Di seguito è riportato il testo dei messaggi di errore:
Impossibile aprire il database utente predefinito
Cause
Il database utente predefinito non è disponibile al momento della connessione. È possibile che il database:
  • È in modalità sospetto.
  • Non esiste più.
  • È in modalità utente singolo e l'unica connessione disponibile è già utilizzato da un altro utente o da altri elementi.
  • È stato disconnesso.
  • È stato impostato lo stato RESTRICTED_USER.
  • Non è in linea.
  • È impostato su status di emergenza.
  • È non è mappato l'account di accesso a un utente o l'utente è stato negato l'accesso.
  • Fa parte di un mirroring del database.
Inoltre, l'account di accesso potrebbe essere un membro di più gruppi e il database predefinito per uno di questi gruppi non è disponibile al momento della connessione.
Workaround
Per aggirare questo problema, specificare un database valido, disponibile nella stringa di connessione.Per evitare l'errore quando il database predefinito dell'utente non è disponibile, accedere come utente che è possibile modificare gli account di accesso. Modificare quindi il database predefinito dell'utente a un database è attualmente disponibile per una connessione.

SQL Server 2005 e versioni successive

È possibile utilizzare l'utilità sqlcmd per modificare il database predefinito in SQL Server 2005. A tale scopo, attenersi alla seguente procedura:
  1. Fare clic su Start, scegliere Esegui, tipo cmd, quindi premere INVIO.
  2. Utilizzare uno dei metodi seguenti, a seconda del tipo di autenticazione che utilizza l'account di accesso di SQL Server:
    • Se l'account di accesso di SQL Server utilizza l'autenticazione di Microsoft Windows per connettersi all'istanza, digitare quanto segue al prompt dei comandi e quindi premere INVIO:
      Sqlcmd: E -S InstanceName master – d
    • Se l'account di accesso di SQL Server utilizza l'autenticazione di SQL Server per connettersi all'istanza, digitare quanto segue al prompt dei comandi e quindi premere INVIO:
      SQLCMD -S InstanceName -d -U di master SQLLogin -P Password
    Nota InstanceName è un segnaposto per il nome dell'istanza di SQL Server 2005 a cui ci si connette. SQLLogin è un segnaposto per l'accesso di SQL Server cui database predefinito è stato eliminato. Password è un segnaposto per la password dell'account di accesso di SQL Server.
  3. Al prompt dei comandi sqlcmd, digitare quanto segue e premere INVIO:
    ALTER LOGIN SQLLogin CON DEFAULT_DATABASE = AvailDBName
    Nota AvailDBName è un segnaposto per il nome del database esistente accessibili tramite l'account di accesso nell'istanza di SQL Server.
  4. Al prompt dei comandi sqlcmd, digitare VAI, quindi premere INVIO.

SQL Server 2000 e SQL Server 7.0

Per modificare il database predefinito in SQL Server 2000 e in SQL Server 7.0, è possibile utilizzare l'utilità osql. A tale scopo, attenersi alla seguente procedura:
  1. Al prompt dei comandi, digitare quanto segue e premere INVIO:
    Master -d -E C:\>osql
  2. Nel osql prompt, digitare quanto segue e premere INVIO:
    1 > sp_defaultdb ' utente 's_login', 'master'
  3. Al prompt dei comandi per il secondo, digitare quanto segue e premere INVIO:
    2 > Vai
Status
Questo comportamento è legato alla progettazione.
Informazioni
Per illustrare il problema, provare a connettersi con OSQL e utilizzare l'opzione -d con un database esistente è un normale lo stato in linea. La connessione ha esito positivo senza alcun messaggio di errore.

Al contrario, si ricevono risposte che sono simili alle seguenti da varie utilità client di SQL Server quando il database non è disponibile:
  • SQL Server Management Studio (SQL Server 2005)
    Impossibile connettersi a NomeServer
    ULTERIORI INFORMAZIONI:
    Impossibile aprire il database utente predefinito. Accesso non riuscito.Accesso non riuscito per l'utente 'Nome utente'. (Microsoft SQL Server, errore: 4064)
  • Utilizzando l'utilità Sqlcmd in SQL Server 2005
    Msg 4064, livello 11, stato 1, Server NomeServer, Riga 1
    Impossibile aprire il database utente predefinito. Accesso non riuscito.
    Messaggio 18456, livello 14, stato 1, Server NomeServer, Riga 1Login non riuscito per l'utente 'Nome utente'.
  • Analizzatore di Query di SQL Server 2000 (QA)
    Impossibile connettersi al server TESTSERVER:
    Server: Msg 4064, livello 16, stato 1
    [Microsoft][Driver ODBC SQL Server][SQL Server]Impossibile aprire il database utente predefinito. Accesso non riuscito.
  • SQL Server 2000 Server Enterprise Manager (SEM)
    Impossibile non possibile stabilire una connessione a TESTSERVER - Impossibile aprire il database predefinito utente 'dbid'. Verrà utilizzato il database master.

    Verificare che SQL Server è in esecuzione e controllare le proprietà di registrazione di SQL Server (facendo clic sul nodo TESTSERVER) e riprovare.
  • Prompt dei comandi utilizzando SQL Server 2000 OSQL

    Viene visualizzato il seguente messaggio di errore quando si utilizza il comando C:\>osql E :
    Impossibile aprire il database utente predefinito. Accesso non riuscito.
  • Analizzatore di Query di SQL Server 7.0 (QA)
    Impossibile connettersi al server \\TESTSERVER:
    Server: Msg 4062, livello 16, stato 1
    [Microsoft][Driver ODBC SQL Server][SQL Server]Impossibile aprire il database utente predefinito '<ID>'. Utilizzato il database master.</ID>
  • Prompt dei comandi utilizzando SQL Server 7.0 OSQL

    Viene visualizzato il seguente messaggio di errore quando si utilizza il comando C:\>osql E :
    Impossibile aprire il database predefinito utente 'dbid'.
    Verrà utilizzato il database master.
Nella tabella seguente vengono fornite ulteriori informazioni sui prodotti o strumenti automaticamente verificare questa condizione sull'istanza di SQL Server e sulle versioni del prodotto SQL Server su cui viene valutata la regola.
Software di regolaTitolo regolaDescrizione della regolaVersioni del prodotto rispetto al quale viene valutata la regola
System Center AdvisorIdentità a livello di server di SQL Server configurata con il database predefinito inesistenteAdvisorchecks di System Center se presentate da qualsiasi account di accesso nell'istanza di SQL Server sono configurati con un database predefinito che non esiste più. Esaminare i dettagli forniti nella sezione "Informazioni raccolte" dell'avviso di theadvisor e seguono i passaggi descritti in questo articolo per risolvere la situazione. SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 307864 - Ultima revisione: 02/18/2015 11:48:00 - Revisione: 5.0

  • 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
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
  • kbtshoot kbsqlsetup kbprb kbmt KB307864 KbMtit
Feedback