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

Traduzione articoli Traduzione articoli
Identificativo articolo: 307864 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

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.
  • ╚ offline.
  • Viene impostato lo stato 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 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 GO, 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 NomeServerRiga 1
    Impossibile aprire il database utente predefinito. Accesso non riuscito.
    Messaggio 18456, livello 14, stato 1, Server NomeServerRiga 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.
Riduci questa tabellaEspandi questa tabella
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

ProprietÓ

Identificativo articolo: 307864 - Ultima modifica: martedý 24 giugno 2014 - Revisione: 4.0
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbtshoot kbsqlsetup kbprb kbmt KB307864 KbMtit
Traduzione automatica articoli
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.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 307864
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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