ASP.NET не может подключиться к SQL Server 2005 - PullRequest
0 голосов
/ 05 ноября 2008

Я пытаюсь создать страницу ASP, которая имеет мостовое соединение с базой данных SQL Server 2005 (отдельно от сервера ASP). Для этого я пытаюсь использовать настройки аутентификации Windows. У меня есть мое имя с полными правами на сервер SQL, но я все еще получаю сообщение об ошибке «Не удалось войти в систему для пользователя COMPANY \ name». Чтобы проверить, была ли это проблема с проверкой подлинности Windows, я попытался выполнить проверку подлинности SQL Server; Это также не позволит мне войти. Я понятия не имею, почему может возникнуть проблема с аутентификацией SQL, но я мог бы действительно использовать некоторую помощь, чтобы выяснить, почему аутентификация Windows не будет работать. Спасибо за ваше время.

С уважением,

Franco

Ответы [ 7 ]

1 голос
/ 05 ноября 2008

Вы сказали, что когда вы пытались войти в SQL Server с использованием вашей SQL-аутентификации (я полагаю, что это идентификатор пользователя и пароль SQL Server), он не позволил вам войти. Это означает, что на стороне SQL Server есть какая-то проблема. Убедитесь, что ваш SQL Server настроен для аутентификации в смешанном режиме. Это означает, что он может позволить вам использовать проверку подлинности Windows, а также если вы предоставите идентификатор пользователя и пароль сервера sql.

Это один указатель. Еще один момент, о котором все здесь говорят: не используйте проверку подлинности Windows для подключения к SQL Server со страницы ASP. Чтобы это работало, вам нужно настроить пользователя домена как пользователя SQL Server. Сегодня вы единственный, кто использует эту страницу, как насчет завтра, когда вам нужно передать эту страницу всей организации?

1 голос
/ 05 ноября 2008

Я предполагаю, что они находятся в одном домене (так как вы упомянули КОМПАНИЮ \ имя)?

Убедитесь, что SQL Server разрешен для удаленных подключений. (Конфигурация контактной зоны для служб и соединений)

Если вы используете проверку подлинности Windows, пытаетесь ли вы указать одного пользователя для подключения или используется идентификатор текущего пользователя? Если вы хотите указать одного пользователя для подключения всегда, я бы порекомендовал учетную запись SQL Server вместо учетной записи домена.

0 голосов
/ 05 ноября 2008

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

  1. Можете ли вы пропинговать сервер базы данных с сервера ASP.NET?
  2. Можно ли подключиться к базе данных с помощью SQL Authentication и Management Studio с сервера ASP.NET?
  3. Напишите страницу с очень простым запросом с небольшим возвратом для использования в качестве теста. Можете ли вы запросить базу данных с тестовой страницей? Не полагайтесь ни на какие записи web.config, введите вручную всю строку подключения и данные запроса (не оставляйте эту тестовую страницу на сервере дольше, чем необходимо для тестирования)
  4. Если ваша тестовая страница не работает, что является ошибкой? При тестировании с консоли сервера ASP.NET вы должны получить подробную ошибку, которая может указывать на проблему.
  5. Если у вас есть несколько серверных баз данных, убедитесь, что вы подключаетесь к тому серверу, о котором думаете;)

Общие советы: Management Studio, вероятно, является единственным лучшим тестом - если вы можете подключиться через Windows и аутентификацию SQL через Management Studio с сервера ASP.NET, то проблема должна быть в конфигурации приложения ASP.NET.

Вы упомянули, что вы получаете явную ошибку аутентификации, что "COMPANY \ name" не авторизовано. Вы используете контроллер домена? Является ли «КОМПАНИЯ» доменным именем? В противном случае ASP.NET может не проходить проверку подлинности в базе данных с использованием учетной записи вашего домена.

Если вам необходимо использовать авторизацию Windows, не забудьте включить олицетворение в web.config:

<identity impersonate="true" />

Вам также необходимо отключить анонимный доступ и включить встроенную безопасность в конфигурации IIS для вашего сайта.

НТН.

0 голосов
/ 05 ноября 2008

Я почти уверен, что он не может быть на стороне SQL Server, потому что я могу подключиться с совершенно другого сервера, чем тот, с которого я пытаюсь подключиться сейчас. Может ли быть проблема с сервера, который я использую? Если да, каковы возможные решения?

В беседе с коллегами по работе они говорят, что в прошлом не пытались подключиться к этому серверу. Мне просто странно, что я могу подключиться с одного сервера, но не с другого.

0 голосов
/ 05 ноября 2008

Когда вы установили SQL Server, настроили ли вы использовать аутентификацию в смешанном режиме? Также вы можете подключиться к SQL Management Studio напрямую, используя проверку подлинности SQL или проверку подлинности Windows?

0 голосов
/ 05 ноября 2008

Попробуйте удалить доменную часть вашего имени пользователя - COMPANY \ User - это может помешать аутентификации.

Также - на SQL Server (если у вас есть доступ) вы пытались подключиться к серверу через localhost? Возможно, у вашего пользователя недостаточно привилегий.

Аутентификация SQL Server - вы создали пользователя и прикрепили его к базе данных с привилегиями чтения?

0 голосов
/ 05 ноября 2008

Не используйте проверку подлинности Windows для такого типа подключения.

Можете ли вы опубликовать копию строки подключения (санированная - измените пароль), которую вы используете как для WA, так и для SQLauth?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...