2010-06-03 2 views
2

У меня есть сайт, созданный локально с локальной базой данных Sql Server. У меня также есть веб-хост, который предоставляет одну базу данных сервера Sql для моего сайта. Теперь я хочу развернуть приложение, и я хотел бы иметь возможность управлять удаленной базой данных из Server Explorer в Visual Studio. У меня есть строка соединения, используемая в приложении, которая отлично подходит для добавления, например, источника данных к элементу управления и т. Д. Но я не знаю, есть ли способ использовать его для подключения базы данных в Server Explorer, чтобы я мог добавлять таблицы и т. д. Я читал, что вы должны это использовать, вместо использования Sql Server Management Studio, но я ничего не читал о том, как подключиться к удаленной базе данных.Подключение к базе данных на веб-хосте в Visual Studio или Sql Server Management Studio

Что я пробовал до сих пор, так это: я выбрал Добавить базу данных в Server Explorer. Сначала возникает диалог, в котором я выбираю Sql Server. И затем я получаю диалог, в котором я могу установить имя сервера (которое я пытался использовать ip-адрес в строке подключения ниже) и Authentication (где я выбрал Sql Server Authentication, с идентификатором пользователя и паролем ниже). Но когда я тестирую соединение, он терпит неудачу.

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

Любая помощь приветствуется!

EDIT:

Ну, я сделал все, что предложенное lewiguez ниже сейчас, но это не имеет никакого значения. Я не могу поверить, что это должно быть так сложно ... Я продолжаю получать это сообщение об ошибке в Sql Server Management Studio:

При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (Поставщик: Поставщик именованных каналов, ошибка: 40 - Не удалось открыть подключение к SQL Server) (Microsoft SQL Server, ошибка: 53)

ответ

2

Вот процесс, я следую для работы с удаленными базами данных:

  1. в VS 2008 на вкладке Сервер Explorer, щелкните правой кнопкой мыши на «Data Connections», а затем нажмите кнопку «Добавить Connection»
  2. Изменение источника данных для «Microsoft SQL Server»
  3. Поместить в ваш полностью квалифицированное «Имя сервера» (будь то IP-адрес, имя домена и т. Д.), Выберите «Сервер Sql Аутентификация» и введите «Пользователь Имя» и «Пароль» для пользователя базы данных
  4. Выберите базу данных, подключитесь к «Выбрать или ввести имя базы данных»
  5. Нажмите «Проверить соединение», чтобы проверить, а затем «ОК», чтобы принять
  6. . Вы должны иметь возможность взаимодействовать с базой данных в этой точке, расширяя соединение, а затем Папка «Таблицы». Например, щелкните правой кнопкой мыши по папке «Таблицы», и вам будет предложено «Добавить таблицу» в диалоговом окне. Щелчок правой кнопкой мыши по существующей таблице вызовет опции «Открыть таблицу», где вы можете изменить любые столбцы и т. Д.

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

Обычно я делаю это, зайдя в студию управления и подключаюсь к любым учетным данным, которые я пытаюсь использовать. Если они не работают, убедитесь, что они фактически добавлены как пользователь Sql Server и пользователь базы данных (они должны быть оба).

Кроме того, я бы зарегистрировал в диспетчере конфигурации области поверхности Sql. Вы должны разрешать TCP-соединения, и вы должны быть настроены так, чтобы разрешать соединения Sql Server Authentication с удаленных хостов. Если все это настроено, но вы все еще не можете подключиться, я бы дважды проверял, чтобы ваш брандмауэр разрешал соединения Sql Server. Порт по умолчанию - 1433.

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

+0

Правильно, я добираюсь до пункта 5, где тестовое соединение терпит неудачу. Я пробовал то же самое в Management Studio с теми же результатами. Дело в том, что до моего предыдущего компьютера я смог подключиться к той же базе данных на веб-хосте. Так что мне интересно, все это о «добавлении учетных данных в качестве пользователя Sql Server» и т. Д. (Вы имеете в виду мой пароль и имя пользователя?), Если вы имеете в виду базу данных сервера Sql веб-хоста, то да, поскольку они работали до , В противном случае, пожалуйста, уточните? – Anders

+0

Кроме того, другие вещи, разрешающие соединения TCP и соединения аутентификации, вы имеете в виду локально на моей машине? Потому что я не понимаю, как это работает ... Конечно, разрешения должны быть установлены в базе данных на веб-хосте? Или я неправильно понимаю, как работает Sql Server ...? Я довольно новичок в разработке баз данных. Кроме того, где находится Sql Server Surface Area Configuration Manager, который можно найти? – Anders

+0

BTW, вот сообщение об ошибке, которое я получаю (как из Server Explorer, так и Management Studio): При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: поставщик именованных труб, ошибка: 40 - не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 53) Опять же, что о разрешении удаленных подключений не было бы на веб-хостинге? – Anders

2

Я, наконец, понял проблему: поскольку я подозревал, что настройки в моей собственной установке не были проблемой, а скорее были настройками установки Sql Server на моем веб-хосте. И на самом деле я нашел место в панели управления на своем веб-хосте, где я мог установить исключение для своего ip-адреса, чтобы мой ip получал доступ к порту 1433 для Sql Server, который по умолчанию закрыт по соображениям безопасности ,

Мне не повезло найти какую-либо информацию об этом вообще в Интернете, что я нахожу странным. Вся информация, которую я мог найти, касалась изменения этих параметров при локальной установке Sql Server. Но я уверен, что есть масса людей, которые, как я, используют веб-хостинг для развертывания своего веб-сайта, а затем эта информация, похоже, не применяется. (Возможно, помимо настройки TCP, которая, я думаю, должна быть установлена, и есть подробная информация об этом здесь: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/)

Надеюсь, что это поможет кому-то, кто любит меня, использует веб-хостинг. Теперь все работает отлично для меня, по крайней мере, как в Management Studio, так и в Visual Studio Server Explorer.

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