2010-06-04 6 views
2

Недавно я унаследовал базу данных от другого программиста (созданного/сохраненного с помощью SQL Management Studio 2008), и у меня возникают серьезные проблемы с доступом, изменением или даже просмотром ранее созданных баз данных.Проблемы с разрешениями Предотвращение доступа к базе данных

В частности, когда я пытаюсь загрузить одну из баз данных в SQL Management Studio я получаю следующее сообщение об ошибке:

«База данных [имя базы данных] не доступен (Object Explorer).»

Я подключаюсь к серверу SQL с проверкой подлинности Windows.

В любом случае, : это вопрос с разрешениями, оставшимся от последнего разработчика? (к сожалению, он недоступен) И есть ли простая работа без полной переустановки SQL Management Studio?

Edit: Обновление:

При попытке доступа Сопоставление пользователей, как это было предложено ниже, я получил следующее сообщение об ошибке:

"One or more databases are inaccessible and will not be displayed in list." 

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

ответ

1

Это может быть проблема с разрешениями. Если вы откроете Object Explorer в SQL Server Management Studio и разверните узел Security (тот, который находится под экземпляром сервера, а не вкладка «Безопасность» под отдельными базами данных), а затем разверните узел «Logins», вы увидите список созданных логинов на сервере. Посмотрите свойства каждого из них и ознакомьтесь с информацией о сопоставлении пользователей. Вы сможете увидеть, какие логины сопоставлены с базами данных. Возможно, предыдущий программист предоставил доступ к базе данных только определенным логинам. Если вы найдете логин, который сопоставляется с необходимой вами базой данных, попробуйте изменить пароль входа и затем подключиться к базе данных с этим логином и паролем. ПРИМЕЧАНИЕ: будьте осторожны при изменении пароля, так как это может повлиять на производственные приложения, использующие этот логин и пароль!

+0

Я сделал то, что вы предложили, и получил еще одно сообщение об ошибке, когда я попытался отобразить User Mapping: «Одна или несколько баз данных недоступны и не будут отображаться в списке». К сожалению, ни одна из баз данных, которые я пытаюсь получить, не появилась в списке, поэтому я предполагаю, что они все еще недоступны. –

+0

Когда SQL Server был установлен, он должен был быть создан с именем пользователя для «sa» (системный администратор). Этот логин по умолчанию должен иметь полный доступ ко всему. Кто-нибудь помнит, какой пароль для входа «sa»? Если да, попробуйте войти в систему с этим именем пользователя. – TLiebe

+0

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

0

Вам нужна дБА (или кто-то с эквивалентным доступом dba), чтобы предоставить вам права на базу данных.

0

Это сообщение:

"One or more databases are inaccessible and will not be displayed in list." 

означает, что пользователь вы используете прямо сейчас не может получить доступ к этой БД. Если вы можете войти с пользователем, у которого есть доступ, и от этого пользователя изменить ваши права пользователя через User Mapping, вы увидите его.