Ошибка подключения к SQL Server 2008 R2 Express - PullRequest
1 голос
/ 23 марта 2012

Я установил SQL Server 2008 R2 Express в Windows 7.

Когда я запускаю веб-проект в VS2010, я получаю следующую ошибку:

Ошибка сети или экземпляра установление соединения с SQL Server. Сервер не найден или был недоступен. Убедитесь, что имя экземпляра правильное и SQL Server настроен для разрешения удаленных подключений. (поставщик: SQL Сетевые интерфейсы, ошибка: 26 - Ошибка при поиске сервера / экземпляра Указано)

Странно, я работаю на локальной машине (VS2010, IIS, SQL Server и т. Д. Сеть не требуется).

Я гуглил и следовал многим советам. Ничего не помогает.

Я использую правильное имя экземпляра (например, как Data Source=PCName\SQLServer;Initial Catalog=SampleDBName;Integrated Security=True)

Предоставил сетевой службе правильные учетные данные и т. Д. И т. Д.

Я потерян сейчас и у меня эта проблема уже неделю. Выдернуть мои волосы!

Обновление:

Я получил совет по проверке строки подключения с помощью SQL Server Management Studio Express. Во всплывающем окне «Подключение» вы обычно используете вкладку «Вход» (первая и вкладка по умолчанию). Вы также можете использовать третью вкладку «Дополнительные параметры подключения». Я проверил свою строку подключения, и она просто отлично работает!

Итак, я думаю, что это что-то с правами. Но я понятия не имею, что или что ...

О да. Некоторая дополнительная информация. Я изменил параметры пула приложений по умолчанию для IIS 7.5 с «ApplicationPoolIdentity» на «NetworkService». Я добавил сетевой сервис в качестве входа в SQL, дал права на предоставление и т. Д. Я включил службу SQL Browser, она работает (но на самом деле это не нужно, потому что я запускаю локально).

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

Кажется, я нашел причину ошибки, но понятия не имею, почему.

Для своего сайта я создал сайт с несколькими виртуальными папками и приложениями. Мне нужен URL в моей логике. Поэтому я использую заголовок хоста (например, http://server.name.tld)

В VS2010 я настроил страницы свойств -> параметры запуска -> использовать собственный веб-сервер с URL-адресом (такой же, как ранее упомянутый заголовок хоста).

Если я это сделаю, я получу ошибку.

Если я использую страницы свойств -> параметры запуска -> веб-сервер по умолчанию, кажется, что я получаю соединение с БД.

Но мне нужно использовать заголовок узла.

Что мне нужно сделать, чтобы «пользовательский веб-сервер» работал?

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

Пробовал сегодня также с тестовой виртуальной машиной с windows server 2008. По-прежнему получаю сообщение об ошибке.

Также сделал тестовое веб-приложение без сайта IIS и без заголовка узла. Это работает просто отлично (используя ту же самую строку подключения). Также на ВМ.

Я потерян. Мне действительно нужен кто-то, кто может обменяться со мной некоторыми знаниями в этой области ...

Ответы [ 3 ]

2 голосов
/ 23 марта 2012

Вы пытались использовать SQLExpress в качестве имени экземпляра в строке подключения?

PCName\SQLExpress

Более того, проверьте, настроен ли ваш сервер для приема соединений через TCP / IP (проверьте Sql Server Configuration Manager).Можете ли вы подключиться к базе данных с помощью SQL Server Management Studio?Проверьте ваше соединение с Visual Studio, оно работает?

1 голос
/ 23 марта 2012

Именованные экземпляры, которые не используют привязку TCP, обычно упоминаются как .\[instance name], например, .\SQLExpress или, возможно, .\SQLServer в вашем примере.

0 голосов
/ 24 марта 2012

красные щеки

Нашли проблему.Web.config настроен с сессионной базой данных, но сессионная база данных не создана и больше не планирует этого делать.Забудь выключить ...

...