2012-06-17 8 views
2

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

Не удается подключиться к ТСР: ohimryXusa.database.windows.net, 1433.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Здравствуйте,

У меня есть база данных SQL Azure. Эта база данных имеет имя пользователя/логин, который я хочу использовать для доступа к нему. Когда я пытаюсь подключиться к базе данных с помощью базы данных SQL Server Management Studio, я получаю сообщение об ошибке, которая говорит:

Cannot open database "master" requested by the login. The login failed. 
Login failed for user 'mydbusername'. 
This session has been assigned a tracing ID of '00000000-0000-0000-0000-000000000000'. Provide this tracing ID to customer support when you need assistance. (Microsoft SQL Server, Error: 4060) 

У меня есть другие логины, что я могу успешно подключиться к базе данных с. Я попробовал, выполнив следующие на моей базе данных, чтобы убедиться, был пользователь:

CREATE USER mydbusername 

Я получаю сообщение об ошибке, которое говорит:

Msg 15023, Level 16, State 1, Line 1 
User, group, or role 'mydbusername' already exists in the current database 

Я проверил пользователя существовавший, войдя в главную базу данных. Однажды там, я побежал: SELECT * FROM sys.sql_logins;

Я хотел убедиться, что «mydbusername» имеет доступ к базе данных. Так что я вошел в систему, с более priveleged счет, в моей базе данных и побежал:

EXEC sp_addrolemember 'db_datareader', 'mydbusername' 
EXEC sp_addrolemember 'db_datawriter', 'mydbusername' 
EXEC sp_addrolemember 'db_owner', 'mydbusername' 

сообщение сказал: Command (s) успешно завершена.

На данный момент мы знаем: а) есть пользователь с именем «mydbusername». b) Существует логин с именем «mydbusername». c) Мы знаем, что «mydbusername» имеет права «db_datareader», «db_datawriter» и «db_owner» для базы данных.

Я попытался войти в систему через экран управления через Интернет. Мне удалось успешно войти в систему и выполнить запросы. Однако, когда я пытаюсь войти в систему через SQL Server Management Studio, я получаю сообщение выше. Я использую

mydbusername @ ohimryXusa для поля «Логин». Я проверил, что пароль правильный. Я также подтвердил правильность имени сервера. Что я делаю не так? Мне это действительно нужно, потому что я получаю ошибку от своего кода. Спасибо!

+0

Длинный снимок - но я сомневаюсь, что Azure позволит вам получить доступ к базе данных Master (db, которая хранит всю информацию о пользовательских базах данных экземпляра SQL). У вас не просто неправильное имя базы данных в диалоговом окне? – BlackSpy

+0

Существует всегда одна «основная» база данных для каждого «Windows Azure SQL Database Server». Эта база данных действительно называется «master» и содержит все учетные данные пользователя для текущего сервера, правил брандмауэра, статистики использования базы данных. Это не основная БД с точки зрения регулярной локальной установки SQL Server, но это основная база данных. – astaykov

+0

Аналогичный вопрос ответил так: http://stackoverflow.com/questions/6476828/new-user-cannot-login-to-sql-azure Крис – Chris

ответ

4

логин не удался, скорее всего, был сфабрирован неправильным логин/пароль комбинация. Пожалуйста, убедитесь, что вы используете существующий LOGIN, а не USER при попытке войти в систему! Обратите внимание: если вы хотите выполнить аутентификацию с помощью SQL Server, вам необходимо использовать созданную LOGIN, а не USER. Вы должны выяснить, с каким LOGIN является ваше «mydbusername». Хорошо, что у вас есть пользователь, и этот пользователь добавляется к разным ролям, но ПОЛЬЗОВАТЕЛЬ без ассоциированного входа - ничто.

Возможно, вы захотите обратиться к this documentation.

0

Поскольку Azure использует сервера база данных для нескольких баз данных, вы не можете просто войти в Management Studio (подключение к Обозревателю объектов)

Это даст вам видимость базы данных каждый которого на свой же сервере.

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

Вам будет предложено подключиться, но если вы перейдете к настройкам подключения и выберите свою базу данных в качестве исходного каталога, вы сможете списать свою (и только вашу) базу данных.

Нет объектного проводника - но по крайней мере вы сможете напрямую создать скрипт своей БД.

1

Я знаю, что это старый поток, но я могу помочь другим, которые сталкиваются с одной и той же проблемой ... Я создал пользователя в основной базе данных без предоставления каких-либо специальных разрешений. Это разрешило проблему. Похоже, в Azure все пользователи, принадлежащие к базам данных пользователей, также должны присутствовать в главной базе данных !!

+0

Это решило проблему для меня. –

Смежные вопросы