При подключении к экземпляру SQL Server сообщение об ошибке: «Не удается открыть базу данных пользователя по умолчанию»

Переводы статьи Переводы статьи
Код статьи: 307864 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Каждый пользователь имеет базу данных по умолчанию. При подключении к компьютеру, на котором выполняется Microsoft SQL Server и имя входа базы данных не указано, используется база данных по умолчанию. Однако если во время подключения к базе данных по умолчанию недоступна, нельзя подключиться. Вместо этого появляется сообщение об ошибке 4062 или 4064. Текст сообщения об ошибке выглядит следующим образом:
Не удается открыть базу данных пользователя по умолчанию

Причина

Во время подключения к базе данных пользователя по умолчанию недоступна. Возможно, база данных:
  • Находится в подозрительном режиме.
  • Больше не существует.
  • Находится в однопользовательском режиме, а только доступные подключения уже используется другим пользователем или каким-то процессом.
  • Была отсоединена.
  • Был установлен в состояние RESTRICTED_USER.
  • Находится в автономном режиме.
  • Устанавливается в аварийном состоянии.
  • Does не имеют учетной записи входа сопоставлено с пользователем, или пользователь не обладает правами доступа.
  • Является частью зеркальная база данных.
Кроме того учетная запись входа может быть членом нескольких групп, и во время подключения базы данных для одного из этих групп по умолчанию недоступна.

Временное решение

Для временного решения этой проблемы укажите допустимый, доступные базы данных в строке подключения. Чтобы избежать этой ошибки, когда недоступна база данных по умолчанию для пользователя, войдите в систему как пользователь может изменять имена входа. Измените базу данных пользователя по умолчанию для базы данных, которая в настоящее время доступна для подключения.

SQL Server 2005 и более поздних версий

Изменение базы данных в SQL Server 2005 по умолчанию можно использовать программу sqlcmd. Чтобы сделать это, выполните следующие действия.
  1. Нажмите кнопку Пуск, нажмите кнопку Запуск, тип cmd, а затем нажмите клавишу ВВОД.
  2. Воспользуйтесь одним из следующих способов в зависимости от вида проверки подлинности с использованием имени входа SQL Server.
    • Если имя входа SQL Server использует проверку подлинности Microsoft Windows для подключения к экземпляру, введите в командной строке следующую команду и нажмите клавишу ВВОД:
      sqlcmd –E -S Имя_экземпляра Образец –d
    • Если имя входа SQL Server использует проверку подлинности SQL Server для подключения к экземпляру, введите в командной строке следующую команду и нажмите клавишу ВВОД:
      sqlcmd -S Имя_экземпляра -d -U-шаблоны SQLLogin -P Пароль
    Примечание Имя_экземпляра — Это имя экземпляра SQL Server 2005, к которому выполняется подключение. SQLLogin — Это имя входа SQL Server было пропущено, база данных по умолчанию. Пароль — Это пароль для имени входа SQL Server.
  3. В командной строке sqlcmd, введите следующую команду и нажмите клавишу ВВОД:
    ИНСТРУКЦИЯ ALTER LOGIN SQLLogin С DEFAULT_DATABASE = AvailDBName
    Примечание AvailDBName — Это имя существующей базы данных, которая может осуществляться путем входа в экземпляре SQL Server.
  4. Введите в командной строке sqlcmd ПЕРЕЙТИ, а затем нажмите клавишу ВВОД.

SQL Server 2000 и SQL Server 7.0

Чтобы изменить базу данных по умолчанию в SQL Server 2000 и SQL Server 7.0 можно использовать программу osql. Чтобы сделать это, выполните следующие действия.
  1. В командной строке введите следующую команду и нажмите клавишу ВВОД:
    C:\>osql -E -d образца
  2. В osql запрос, введите следующую команду и нажмите клавишу ВВОД:
    1 настроек sp_defaultdb "пользователь"s_login","Главная"
  3. Во второй строке введите следующую команду и нажмите клавишу ВВОД:
    2 настроек перейдите

Статус

Данное поведение является нормальным.

Дополнительная информация

Чтобы продемонстрировать это, попробуйте подключиться с OSQL и используйте параметр -d с существующей базы данных, в обычное состояние. Подключение выполняется без сообщения об ошибке.

И наоборот появляется ответы, которые похожи на следующее из различных клиентских средств SQL Server, если база данных недоступна.
  • SQL Server Management Studio (SQL Server 2005)
    Не удается подключиться к Имя_сервера
    ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
    Не удается открыть базу данных по умолчанию для пользователя. Ошибка входа. Ошибка входа пользователя "Имя пользователя'. (Microsoft SQL Server, ошибка: 4064)
  • С помощью программы Sqlcmd в SQL Server 2005
    Msg 4064 уровень 11, состояние 1, сервер Имя_сервераСтрока 1
    Не удается открыть базу данных по умолчанию для пользователя. Ошибка входа.
    Сообщение об ошибке 18456, уровень 14, состояние 1, сервер Имя_сервераСтрока 1 Ошибка входа пользователя "Имя пользователя'.
  • Анализатор запросов SQL Server 2000 (QA)
    Не удается подключиться к серверу TESTSERVER:
    Сервер: Сообщение 4064, уровень 16, состояние 1
    [Microsoft][Драйвер ODBC SQL Server][SQL Server]Не удается открыть базу данных по умолчанию для пользователя. Ошибка входа.
  • SQL Server 2000 Server Enterprise Manager (SEM)
    Не удалось подключиться к TESTSERVER - не удается открыть базу данных пользователя по умолчанию «dbid». Вместо этого с помощью базы данных master.

    Убедитесь, что SQL Server выполняется проверка регистрации свойства SQL Server (например, щелкнув правой кнопкой мыши узел TESTSERVER) и повторите попытку.
  • С помощью SQL Server 2000 OSQL командной строки

    При использовании команды C:\>osql -E появляется следующее сообщение об ошибке:
    Не удается открыть базу данных по умолчанию для пользователя. Ошибка входа.
  • Анализатор запросов SQL Server 7.0 (QA)
    Не удается подключиться к серверу \\TESTSERVER:
    Сервер: Сообщение 4062, уровень 16, состояние 1
    [Microsoft][Драйвер ODBC SQL Server][SQL Server]Не удается открыть базу данных пользователя по умолчанию «<ID>». Вместо этого с помощью базы данных master. </ID>
  • С помощью SQL Server 7.0 OSQL командной строки

    При использовании команды C:\>osql -E появляется следующее сообщение об ошибке:
    Не удается открыть базу данных пользователя по умолчанию «dbid».
    Вместо этого с помощью базы данных master.
Следующая таблица содержит дополнительные сведения о продуктах и средства, которые автоматически проверки данного условия на экземпляр SQL Server и в версиях продукта SQL Server, для которого будет разбираться правило.
Свернуть эту таблицуРазвернуть эту таблицу
Правила программыНазвание правилаОписание правилаВерсии продуктов, для которых вычисляется правила
Советник по System CenterУчастники уровня сервера SQL Server настроен с базой данных по умолчанию отсутствуетСоветник по System Center проверяет, если имена входа в экземпляре SQL Server настроены по умолчанию базы данных, которая больше не существует. Просмотрите подробности, которые предоставляются в разделе «Сбор информации» оповещение ядра СУБД и выполните действия, описанные в этой статье, чтобы устранить проблему. SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Свойства

Код статьи: 307864 - Последний отзыв: 8 июля 2013 г. - Revision: 9.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
Ключевые слова: 
kbtshoot kbsqlsetup kbprb kbmt KB307864 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 307864

Отправить отзыв

 

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