Member 12824529 Ответов: 1

Как я могу исправить эту проблему, где ASP.NET вход пользователя не может получить доступ к SQL server?


Я использую VS2015 и SQL Server 2016 в Windows 10. Я пытаюсь заставить аутентификацию форм работать в MVC5; но даже когда я пробую новое тестовое приложение MVC, следуя пошаговому руководству Microsoft, я получаю следующую ошибку при попытке зарегистрировать нового пользователя:

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

Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения Об Исключении: System.Data.SqlClient.SqlException: при установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не был найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 50-произошла ошибка выполнения локальной базы данных. Не удается создать автоматический экземпляр. В разделе Windows
Журнал событий приложения для получения подробной информации об ошибках.
------------------------------------------------------------------------------

Как уже упоминалось ниже, я также вижу, что SQL Server не имеет IP-адреса. Я думаю, что это основная проблема, но как ее исправить? Я думал, что включение TCP/IP сделает это. Спасибо.

Что я уже пробовал:

1.я установил режим аутентификации на "формы" в Web.config.

2. Я проверил, что "разрешить удаленные подключения к этому серверу" проверяется в SQL сервере.

3.включение протоколов TCP/IP и именованных каналов в дополнение к существующей общей памяти в SQL Server Configuration Manager (SSCM).

4. выполните следующий запрос в SQL Server и убедитесь, что SQL Server не имеет никакого IP-адреса, который он должен иметь.

Выберите подключение('local_net_address') а [IP-адрес SQL-сервера]

5. Я вернулся в Диспетчере конфигурации и указанный 49170 для TCP-порт и перезапустить SQL-сервер. Затем я вернулся в брандмауэр с расширенной безопасностью, удалил и создал новое входящее правило и направил его на локальный порт 49170. Затем я успешно вошел в SSMS с IP-адресом, за которым следовали запятая и номер порта. А теперь в SSMS он наконец показывает IP-адрес. Однако в MVC результат при попытке зарегистрировать нового пользователя не сдвинулся с места. Он по-прежнему говорит, что сервер не найден и недоступен. И если я нажимаю кнопку Войти, он говорит, чтобы использовать другую службу для входа.

1 Ответов

Рейтинг:
12

Member 12824529

Спасибо. Ссылка содержит множество исправлений, но, похоже, ничего не решает эту агрессивную проблему. Я нашел другое исправление, в котором говорилось, что нужно перейти к IPAll в диспетчере конфигурации, очистить динамические порты TCP и ввести 1433 в поле порта TCP. Я тоже пробовал это, но все еще не могу войти в свое веб-приложение. Я никогда не упоминал ... когда я нажимаю "Вход в систему", появляется сообщение "Используйте другую службу для входа в систему. Внешние службы аутентификации не настроены. Затем он предоставляет ссылку для настройки внешних служб, но я могу получить это служба работает.Одна замечательная вещь в Microsoft заключается в том, что они заставляют меня чувствовать себя намного лучше, когда в моем программном обеспечении есть ошибка или две на первом этапе. Я хотел упомянуть ... в прошлом эта аутентификация работала у меня, когда я использовал LocalDB. Но IIS не работал, и я прочитал, что для IIS требуется SQL Server Express. Вот почему я потратил день на удаление SQL Server LocalDB и установку SQL Server Express.