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

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

В этой статье

Проблема

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

Причина

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

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

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

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, введите следующую команду и нажмите клавишу ВВОД:
    ИЗМЕНЕНИЕ ИМЕНИ ВХОДА SQLLogin С DEFAULT_DATABASE = AvailDBName
    Примечание AvailDBName — Это имя существующей базы данных, которая может осуществляться путем входа в экземпляре SQL Server.
  4. Введите в командной строке sqlcmd GO, а затем нажмите клавишу ВВОД.

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
    Сообщение 4064, уровень 11, состояние 1, сервер Имя_сервераСтрока 1
    Не удается открыть базу данных пользователя по умолчанию. Ошибка входа.
    Сообщение об ошибке 18456, уровень 14, состояние 1, сервер Имя_сервераСтрока 1Login, ошибка пользователя "Имя пользователя'.
  • Анализатор запросов 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 с базой данных по умолчанию отсутствуетAdvisorchecks System Center, если имена входа в экземпляре SQL Server настроены с базой данных по умолчанию, больше не существует. Просмотрите подробности, которые приведены в разделе «Сбор информации» theadvisor оповещения и выполните действия, описанные в этой статье, чтобы устранить проблему. SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Свойства

Код статьи: 307864 - Последний отзыв: 20 августа 2014 г. - Revision: 10.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