Первое, что вам необходимо очистить, если вы используете проверку подлинности Windows и не упоминаете пароль пользователя в строке подключения, то:
Что происходит, когда вы запускаете свой код через localhost: когда вы запускаете wcfПротестируйте клиент с локального хоста, он сможет обмениваться данными с базой данных, поскольку приложение в режиме локальной отладки вызывает базу данных службой вашей учетной записи.Таким образом, он имеет доступ к базе данных, поскольку devenv.exe выполняется под вашей учетной записью.
Но при развертывании веб-службы в IIS.Теперь поймите, что этот сервис работает под IIS, а не под вашей учетной записью.Поэтому вам нужно назначить права доступа к службе IIS для доступа к серверу sql для проверки подлинности Windows.Здесь ваш веб-сервис не сможет подключиться к серверу SQL из-за проблем с правами доступа и с ошибкой входа для пользователя _______ (сюда придет ваш пользователь)
Так что, если вы используете проверку подлинности Windows для подключения к вашей базе данных, выпросто нужно изменить настройки пула приложений IIS.Вам нужно изменить удостоверение пула приложений IIS на локальную систему.
Ниже приведены шаги для проверки подлинности Windows WCF: • Откройте IIS (windows + R (запустить), введите inetmgr, затем нажмите ОК) • дважды щелкните свой компьютеримя в разделе «Подключения» • Нажмите «Пулы приложений» • Выберите пул приложений (DefaultAppPool) • Затем в разделе «Действия» справа щелкните «Дополнительные параметры»: • Перейдите в раздел «Модель процесса» и • нажмите «Идентификация».• Теперь выберите LocalSystem.
Теперь откройте студию управления сервером sql: откройте run->, затем введите ssms, затем нажмите ok в ssms, войдите в систему, используя учетную запись для аутентификации Windows.откройте вкладку безопасности разверните вкладку логинов, и вы сможете просматривать свою учетную запись.
Теперь откройте свойства своей учетной записи, перейдите в userMapping, затем выберите базу данных, к которой вы хотите подключиться, и проверьте службы членства в ролях, для которых вы хотите использоватьвыбранную базу данных нажмите ок.(Для сетевых служб, т. Е. Для пользователей в интрасети, вам также необходимо настроить вышеуказанные параметры для пользователя NT AUTHORITY \ SYSTEM)
add Trusted_Connection = True;свойство в строке подключения.Сохраните его и разверните веб-сервис.Перезапустите пул приложений.
Теперь вы сможете подключиться к базе данных.