我在 Server 2008 计算机上有许多 .NET Web 应用程序,我正尝试将它们迁移到 Server 2019 计算机,其中一些应用程序在移动它们后让我无法连接到另一台服务器上的 SQL Server 2016 实例。
我得到的错误是
System.Data.SqlClient.SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(provider: SQL Network Interfaces, error: 25 - Connection string is not valid) ---> System.ComponentModel.Win32Exception (87): 参数不正确
这是一个 .NET Core 2.2 Web 应用程序。(服务器上安装了.net core 2.2服务器包)连接字符串类似于“Server=mysqlserver\myinstance,3050;Database=Idea;Trusted_Connection=True;” 并且正在使用 Entity Framework/DbContext 进行连接。
IIS 中的应用程序为此应用程序创建了一个应用程序池,其设置与在旧服务器上运行的设置相同:无托管代码,身份设置为域用户“域\用户”。
从新的应用程序服务器 Ping 到数据库服务器工作正常。在新服务器上以域用户身份运行 SSMS 可以很好地连接到数据库,并且可以通过管理工作室查看数据。
所以我不知道在 Server 2019 中是否有什么不同之处关于它尝试连接到 SQL Server 的方式还是什么?几天来我一直在为此烦恼。.NET 4.0 应用程序在尝试连接到同一实例上的其他数据库时也遇到相同的错误。
奇怪的是,其他一些应用程序工作正常,连接到不同服务器上的不同 SQL 2016 实例,但它们也是不同的 .net 版本,如较旧的 .NET 4.0 Web 应用程序,但它们作为具有不同域的应用程序池运行每个应用程序罚款的帐户。
似乎这台服务器上的所有 .NET Core 或 …