ASP.NET доверенное подключение базы данных к другому серверу работает в Casini, а не в IIS
-
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 учетная запись веб-сервера) и перейдите на вкладку Доступ к базе данных и убедитесь, что флажок Разрешить установлен для базы данных, к которой вы подключаетесь.