ASP.NET доверенное подключение базы данных к другому серверу работает в Casini, а не в IIS

StackOverflow https://stackoverflow.com/questions/205140

  •  03-07-2019
  •  | 
  •  

Вопрос

Наш веб-сайт корректно подключается к базе данных при локальном запуске веб-сайта с использованием встроенного веб-сервера.Но когда мы развертываем сайт на нашем сервере под управлением IIS, мы получаем ошибку подключения к базе данных.Сервер базы данных отличается от нашего сервера IIS.Обратите внимание, что доверенное подключение к другой базе данных на ТОМ ЖЕ сервере, что и IIS, работает нормально.

Что нам нужно сделать, чтобы подключиться к базе данных SQL на другом сервере с доверенным подключением?

Это было полезно?

Решение

Когда вы запускаете веб-сайт с помощью Cassini, учетная запись, используемая процессом веб-сервера, является вашей собственной учетной записью, которую вы используете для входа на свой компьютер с Windows.Эта учетная запись будет отличаться в IIS.

Рассмотрите последствия для безопасности открытия базы данных с более широким доступом, чем это может потребоваться при использовании доверенного соединения.Возможно, вы могли бы использовать проверку подлинности Windows с учетной записью службы.То есть создайте пользователя для конкретного приложения в SQL Server с ограниченными разрешениями.Тогда вы получите преимущества объединения в пул соединений, избегая при этом передачи учетных данных.

Другие советы

Я бы проверил учетную запись пользователя, которую домен приложения в IIS использует для подключения к SQL Server.Учетная запись в IIS также может не иметь доступа к сетевым ресурсам, что объясняет проблему с доступом к другому серверу базы данных.

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

Предполагая, что SQL Server, войдите в SQL Server Enterprise Manager и в разделе Безопасность -> Логины откройте свойства для соответствующего пользователя (возможно, сетевой службы или ASP.NET учетная запись веб-сервера) и перейдите на вкладку Доступ к базе данных и убедитесь, что флажок Разрешить установлен для базы данных, к которой вы подключаетесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top