Когда мы используем встроенную безопасность в строке подключения к базе данных, приложение, размещенное в IIS/IIS Express
, будет пытаться подключиться к базе данных с текущим именем входа Windows account
. Если Visual Studio
и SQL Server
находятся на одном компьютере, строка подключения к базе данных со встроенной безопасностью будет работать нормально.Причина, что оба эти два приложения (веб-приложение и SQL сервер) работают под одной и той же учетной записью windows . Когда веб-приложение размещено в IIS/IIS Express
и способ подключения к базе данных - это интегрированная безопасность, учетные данные по умолчанию, используемые для подключения к базе данных, - это учетная запись windows, на которой запущен IIS/IIS Express
. Я рекомендую изменить способ подключения сервера SQL в строке подключения к базе данных, например SQL Authentication
.
Data Source = mysqlserver; User ID = sa; Password = 123456 ; Таймаут подключения = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent = ReadWrite; MultiSubnetFailover = False
В качестве альтернативы, чтобы избежать использования текущей учетной записи windows веб-сервера для подключения к базе данных, доступен для изменения идентификатора пула приложений на другую учетную запись домена, при этом предполагается, что учетная запись Windows должна иметь возможность входить на сервер SQL. Для получения дополнительной информации о Application pool identity
. https://docs.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities Не стесняйтесь сообщить мне, если проблема не исчезнет.