У меня есть база данных в сети с Godaddy (который использует SQL Server 2005). Они предоставляют базовые инструменты управления, но говорят вам, что для более сложных инструментов вы можете подключиться напрямую с помощью SSMS. Я выполнил их инструкции, чтобы убедиться, что моя онлайн-база данных будет принимать удаленные подключения и, очевидно, может успешно войти в систему с помощью SSMS (после указания имени хоста и доступа к данным).
Однако: Теперь из SSMS при попытке развернуть дерево папок «Базы данных» я получаю следующую ошибку:
Не удалось получить данные для этого запроса. (Microsoft.SqlServer.Management.Sdk.Sfc)
Исключение при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Принципал сервера «cmitchell» не может получить доступ к базе данных «3pointdb» в текущем контексте безопасности. (Microsoft SQL Server, ошибка: 916)
Ирония в том, что 3pointdb - это не моя база данных. Это просто еще одна из длинного списка баз данных, которые появляются, когда я обращаюсь к моему бэкэнду Godaddy. В SSMS я выбрал базу данных по умолчанию в качестве имени моей базы данных, которую она нашла в списке при просмотре. Все еще такое же сообщение об ошибке. Он пытается подключиться к чужой базе данных! :( Служба поддержки Godaddy после небольшого тестирования сказала, что проблема не на их стороне. Она на мне.
Похоже, что база данных по умолчанию для основного сервера cmitchell была установлена на базу данных 3pointdb вместо вашей. Тебе следует перезвонить Godaddy и попросить их проверить это.
Похоже, ваш хост сделал следующее:
REVOKE VIEW ANY DATABASE FROM public
... и это предотвращает просмотр списка баз данных в SSMS, хотя это не мешает вам видеть этот список с помощью других методов или подключаться к вашей базе данных в окне запроса.
Я думаю, единственное, что вы можете сделать, это попросить их вернуть его обратно или, по крайней мере, убедиться, что они действительно так поступили.