我正在使用 .Net Framework 4.8 开发 ASP.NET 项目。使用别名连接到 SQL 时,我收到以下错误。
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供商:TCP 提供商,错误:0 - 访问被拒绝。)
此外,我已验证我的 SQL 别名配置是否正确,并且从 SQL Server Management Studio 到 SQL Server 的连接似乎成功。
不幸的是,我无法从 Visual Studio 2019 连接到 SQL 服务器。
这是一个很晚的答案,但可能对其他人有用。我与通过别名连接的 SQL Management Studio 处于同一条船上,但 Visual Studio 不会。非常令人沮丧。
问题是 SQL Management Studio 现在是 64 位,但 VS 2022 仍然是 32 位。我已经设置了 64 位 alais,但没有设置 VS 需要的 32 位!
在 SQL 2022 中,您似乎无法再在 SQL Server 配置管理器中设置别名。您仍然需要在那里设置 TCP/IP 协议。
选择“XXX 的协议”,其中 XXX 是您的服务器名称。这将位于“SQL Server 网络配置”下 双击 TCP/IP,然后在协议选项卡上确保“启用”设置为“是”,“全部监听”设置为“是” 在“IP 地址”选项卡上,向下滚动到底部 IPALL 并将“TCP 动态端口”设置为空白(非零),将“TCP 端口”设置为 1433
您现在需要使用 cliconfg.exe(而不是 cliconfg.dll)来设置别名。有两个版本,其中一个在
C:\Windows\System32
还有一进
C:\Windows\SysWOW64
两者的过程完全相同。
在常规选项卡中启用 TCP/IP 在“别名”选项卡中选择“添加” 填写您要使用的服务器别名 在左侧面板中选择 TCP/IP 输入您的服务器名称(在我的例子中是 DA2\SQLEXPRESS) 不要使用“动态取消端口”。相反,将端口号设置为 1433 单击“确定” 单击应用然后关闭 CliConfg
对两个版本的 cliconfg.exe 重复此操作。
这会设置 32 位和 64 位别名。