SQL Server 2017 连接在 ASP.NET C# Web 项目中工作,但不在 Windows 项目中,在 Visual Studio 2019 中

SQL Server 2017 Connections working in ASP.NET C# Web projects, but not in Windows projects, in Visual Studio 2019

使用下面的基本 Sql 连接代码,我发现在我的工作站上,我无法通过 ASP.NET C# 代码连接到我们的 Sql Server 2017 部署任何给定类型的基于 Windows 的项目,例如 Winforms(.NET Framework 或 Core)或控制台应用程序。但是,此代码将 运行 在任何基于 Web 的项目(例如 Web 窗体或 MVC)中使用 .NET Framework 或 Core 时不会发生任何事故。

    protected void testConnection()
    {
        string con = "Server=MySqlServer;database=MyDatabase;Integrated Security=true";

        using (SqlConnection cnn = new SqlConnection(con))
        {
            cnn.Open();

            cnn.Close();
        }
    }

在网络项目中,此代码 运行s。在 Windows 项目中,我收到此错误:

System.Data.SqlClient.SqlException: 'A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)'

在调查这个问题时,我尝试了以下方法:

我注意到的唯一区别是,当我声明端口号时,返回的内部异常错误为“Win32Exception:数据库查找期间发生不可恢复的错误”。否则,它只是显示为“拒绝访问”。

所有这些告诉我,这个问题显然是我的工作站特有的,但我不知道是什么,除了一些防火墙或系统管理员忽略检查的其他本地安全设置。有人遇到过这个问题吗?

我的 VS 2019 安装在撰写本文时只有一个版本过时,即 16.8.3,而不是 16.8.4。我可以通过 SSMS 连接到我关心的任何数据库并使用 运行 TSQL 代码。我们使用 Windows 身份验证进行连接。根据“select@@version”的结果,我们的SQLServer版本是2017,14.0.3356.20(x64).

如有任何见解,我们将不胜感激。

我们通过强制在 SQL 服务器中启用命名管道来修复它,而不是使用默认设置。