Chybová zpráva při připojení k instanci serveru SQL Server: "Nelze otevřít výchozí databázi uživatele."

Příznaky

Každý uživatel má výchozí databázi. Při připojení k počítači se systémem Microsoft SQL Server a nespecifikování přihlašovací databáze, je použita databáze výchozí. Však pokud výchozí databáze není k dispozici v době připojení, se nebudou moci připojit. Namísto toho se zobrazí chybová zpráva 4062 nebo. 4064. Text chybové zprávy je následující:

Nelze otevřít výchozí databázi uživatele

Příčina

Výchozí databázi uživatele je k dispozici v době připojení. Je možné, že databáze:

  • Je v režimu podezřelé.
  • Již existuje.
  • V režimu jednoho uživatele a pouze pro připojení je již používán jiným uživatelem nebo něco jiného.
  • Byla odpojena.
  • Byl nastaven do stavu RESTRICTED_USER.
  • Je v režimu offline.
  • Je nastavena na nouzový stav.
  • Nebude mít přihlašovací účet Nenamapováno uživateli nebo uživateli byl odepřen přístup.
  • Je součástí zrcadlení databáze.
Navíc přihlašovací účet může být členem více skupin a výchozí databáze pro jednu z těchto skupin je k dispozici v době připojení.

Jak potíže obejít

Chcete-li tento problém vyřešit, zadejte platný, k dispozici databáze v připojovacím řetězci. Lze zabránit chybě, když není k dispozici výchozí databázi uživatele, přihlaste se jako uživatel, který může změnit přihlášení. Změňte výchozí databázi uživatele k databázi, která je nyní k dispozici pro připojení.

SQL Server 2005 a novější verze

Chcete-li změnit výchozí databázi na serveru SQL Server 2005, můžete použít Nástroj sqlcmd. Chcete-li to provést, postupujte takto:
  1. Klepněte na tlačítko Start, na příkaz Spustit, zadejte příkaz cmd a stiskněte klávesu ENTER.
  2. Použijte jednu z následujících metod v závislosti na typu ověřování, který používá přihlášení serveru SQL Server:
    • Pokud přihlášení serveru SQL Server používá ověřování systému Windows pro připojení k instanci, zadejte na příkazovém řádku následující příkaz a stiskněte klávesu ENTER:
      SqlCmd – E -S Název_instance – d předlohy
    • Pokud přihlášení serveru SQL Server používá ověřování serveru SQL Server k připojení k instanci, zadejte na příkazovém řádku následující příkaz a stiskněte klávesu ENTER:
      SqlCmd -S Název_instance -d předlohy - U SQLLogin -P heslo
    Poznámka: Název_instance je název instance serveru SQL Server 2005, ke kterému se připojujete. SQLLogin je zástupný symbol pro přihlášení serveru SQL Server, jehož výchozí databáze byla vypuštěna. Heslo je zástupný symbol pro heslo přihlášení serveru SQL Server.
  3. Sqlcmd řádku, zadejte následující příkaz a stiskněte klávesu ENTER:
    ALTER LOGIN SQLLogin s DEFAULT_DATABASE = AvailDBName
    Poznámka: AvailDBName je zástupný symbol pro název existující databáze, který je přístupný pomocí přihlášení serveru SQL Server v instance.
  4. Sqlcmd řádku zadejte GOa stiskněte klávesu ENTER.

SQL Server 2000 a SQL Server 7.0

Chcete-li změnit výchozí databázi na serveru SQL Server 2000 a SQL Server 7.0, můžete použít nástroje osql. Chcete-li to provést, postupujte takto:
  1. Na příkazovém řádku zadejte následující příkaz a stiskněte klávesu ENTER:
    C:\ > osql -E -d předlohy.
  2. Do příkazového řádku osql zadejte následující příkaz a stiskněte klávesu ENTER:
    1>sp_defaultdb 'user's_login', 'master'
  3. Na druhém řádku zadejte následující příkaz a stiskněte klávesu ENTER:
    2 > Přejít

Stav

Toto chování je záměrné.

Další informace

K prokázání tohoto chování, zkuste se připojit s OSQL a použijte možnost -d s existující databázi, která je v normálním stavu online. Připojení bude úspěšné, bez jakékoli chybová zpráva.

A naopak zobrazit odpovědi, které jsou podobné následující z různých klientské nástroje serveru SQL Server, pokud databáze není k dispozici:
  • SQL Server Management Studio (SQL Server 2005)
    Nelze se připojit k název_serveru
    DALŠÍ INFORMACE:
    Nelze otevřít výchozí databázi uživatele. Přihlášení se nezdařilo. Přihlášení se nezdařilo pro uživatele 'uživatelské_jméno'. (Microsoft SQL Server, chyba:. 4064)
  • Pomocí Sqlcmd nástroj SQL Server 2005
    Msg. 4064, úroveň 11, stavu 1, Server název_serveru, řádek 1
    Nelze otevřít výchozí databázi uživatele. Přihlášení se nezdařilo.

    Msg 18456, úroveň 14, stavu 1, Server název_serveru, řádek 1 přihlášení se nezdařilo pro uživatele 'uživatelské_jméno'.
  • SQL Server 2000 Query Analyzer (QA)
    Nelze se připojit k serveru TESTSERVER:
    Server: Msg. 4064, úroveň 16, stavu 1
    [Microsoft] [Ovladač ODBC serveru SQL] [SQL Server] Nelze otevřít výchozí databázi uživatele. Přihlášení se nezdařilo.
  • SQL Server 2000 Server Enterprise Manager (SEM)
    Nelze se připojit k TESTSERVER - identifikátor dbid"uživatele výchozí databáze' nelze otevřít. Místo toho pomocí hlavní databáze.

    Ověřte, zda že je spuštěn SQL Server a zkontrolujte vlastnosti serveru SQL Server registrace (kliknutím pravým tlačítkem na uzel TESTSERVER) a akci opakujte.
  • Příkazový řádek, použití SQL Server 2000 OSQL

    Při použití se zobrazí následující chybová zpráva C:\ > osql -E příkaz:

    Nelze otevřít výchozí databázi uživatele. Přihlášení se nezdařilo.
  • SQL Server 7.0 Query Analyzer (QA)
    Nelze se připojit k serveru \\TESTSERVER:
    Server: Msg 4062, úroveň 16, stavu 1
    [Microsoft] [Ovladač ODBC serveru SQL] [SQL Server] Nelze otevřít výchozí databázi uživatele < ID >. Místo toho pomocí hlavní databáze.
  • Příkazový řádek, použití SQL Server 7.0 OSQL

    Při použití se zobrazí následující chybová zpráva C:\ > osql -E příkaz:

    Identifikátor dbid"uživatele výchozí databáze' nelze otevřít.
    Místo toho pomocí hlavní databáze.
Následující tabulka obsahuje další informace o produktech nebo nástroje, které pro tuto podmínku v instanci serveru SQL Server a verze produktu SQL Server, proti kterému je vyhodnocena pravidlo automaticky kontrolovat.
Pravidla softwareNázev pravidlaPopis pravidlaVerze produktu, proti kterým je vyhodnocena pravidlo
Poradce pro System CenterObjekty zabezpečení úroveň serveru SQL Server konfigurován s výchozí neexistující databázeSystem Center Poradce zkontroluje, pokud jsou jakékoli přihlášení v instanci serveru SQL Server nakonfigurován s výchozí databáze, která již neexistuje. Podrobnosti, které jsou uvedeny v části "Informace shromážděné" Poradce pro výstrahy a proveďte kroky popsané v tomto článku k vyřešení situace.SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Vlastnosti

ID článku: 307864 - Poslední kontrola: 20. 1. 2017 - Revize: 2

Váš názor