问题描述
我正在尝试将在 DMZ 中的服务器上运行的 IIS 连接到公司 Intranet 上的 sql Server 实例。但是,我收到以下错误:
An unhandled exception occurred while processing the request.
Win32Exception: Access is denied.
UnkNown location
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)
我需要在其中一台服务器上打开特定端口吗?或者还有什么我需要做的吗?
解决方法
考虑到您的 SQL 服务器正在运行,请从网络开始。您的 SQL 实例在哪个端口上侦听(默认 1433)?
如果您不知道,请打开 SQL Server 配置管理器(在 SQL Server 上)。导航到 SQL Server 网络配置 > %instancename% 的协议 > TCP/IP > IP 地址。然后,测试是否有什么东西阻止了这个连接;在 PowerShell 中的 IIS 上:
date: date == null ? Timestamp.now() : Timestamp.fromDate(date)
如果这不起作用,请检查 SQL Server 上的 Windows 防火墙的入站规则。确保您使用正确的网络配置文件,并最终与公司中管理您的网络系统的人交谈。
也许您的 IIS 无法解析 SQL Server 主机名?尝试使用 IP 并检查您的 DNS 配置。
您的连接字符串也可能有问题。介意把它贴在这里吗?