(изменено: Mishaf, 15 марта 2007г. 13:07:18)

Тема: Cannot open database requested in login 'xxx'. Login fails

При подключении к БД выдается ошибка:

Ошибка подключения!
Cannot open database requested in login 'xxx'. Login fails

Cannot open database requested in login 'xxx'. Login fails

(изменено: Mishaf, 18 апреля 2007г. 12:27:38)

Re: Cannot open database requested in login 'xxx'. Login fails

Проблема:
При подключении к БД выдается ошибка:

Ошибка подключения!
Cannot open database requested in login 'xxx'. Login fails

Возможные причины и решения:
Важно: Перед тем как делать какие либо шаги по решению появившейся проблемы настоятельно рекомендуется создать резервную копию БД.


1. Проверить параметры подключения.
Возможно не правильно указаны тип данных, сервер БД и имя БД.
а. Необходимо проверить возможность подключения к СУБД.
В командной строке Windows выполнить команду:

osql -S<server_name> -Usa -P<sapwd>

где вместо <server_name> вписать имя сервера или его IP-адрес, вместо <sapwd> - пароль пользователя "sa"

При успешном подключении к SQL Server в командной строке должен появиться знак ">"

б. Необходимо проверить наличие БД на SQL Server.
В командной строке после подключения к SQL Server выполнить T-SQL скрипт:

SELECT name FROM sysdatabases
GO

При выполнении которого на экран выведятся все БД SQL Server. Убедитесь что БД к которой Вы подключаетесь существует.

2. В реестре на сервере
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
Параметр LoginMode должен быть равным 0.
Если нет то надо сделать его таким и перезапустить службу.
Это параметр режима аутентификации пользователя.

3. Возможно переставляли сам SQL Server или проводили какие-либо работы. При этом пользователь БД TDMS мог отвязаться от БД.
На всякий случай надо выполнить T-SQL скрипт

USE TDMS
EXEC sp_change_users_login 'Update_One', 'TDMS', 'TDMS'
GO

4. Должен быть логин TDMS.
Если его случайно удалили или сменили ему пароль. TDMS тоже будет выдавать такую ошибку.
Этот логин заводится на SQL утилитой TDMS Administrator при создании БД. Поэтому эту проблему можно попробовать решить созданием пустой временной БД TDMS утилитой TDMS Administrator. После чего выполнить п.3

5. Если из всего вышеперечисленного ничего не поможет можно поступить след. образом:
a. Удалить пользователя БД

USE TDMS
EXEC sp_dropuser 'TDMS'
GO

б. Удалить логин СУБД

EXEC sp_droplogin, 'TDMS'
GO

в. Создать пустую БД (например TDMS_TEMP) с помощью утилиты TDMS Administrator.

г. Обновить рабочую БД TDMS с помощью утилиты TDMS Administrator.

6. Если это тоже не поможет. Будут нужны результаты всех предыдущих шагов для анализа.

PS: Как правило проблема должна решиться первыми двумя-тремя пунктами.

Re: Cannot open database requested in login 'xxx'. Login fails

У нас SQLServer с доменной аутентификацией.
Не могу создать БД с помощью ТДМС-администратора - ввожу свой доменный логин/пароль в стандартном окошке коннекта к серверу, но сервер их не воспринимает.

Re: Cannot open database requested in login 'xxx'. Login fails

Хм. Нужна SQL аутентификация, права Database Admin и Security Admin.