我在 1and1.com 托管的专用 Windows 2008 服务器上设置了一个 SQL Server 2008 Express 实例。我无法通过管理工作室远程连接到服务器。我已经采取了以下步骤,并且超出了任何进一步的想法。我已经研究了该网站,无法弄清楚其他任何事情,所以如果我错过了一些明显的东西,请原谅我,但我快疯了。下面是内幕。
SQL Server 实例正在运行,并且在本地工作时运行良好。
在 SQL Server Management Studio 中,我已选中“允许远程连接到此服务器”框
我已从 1and1 管理面板中删除任何外部硬件防火墙设置
服务器上的 Windows 防火墙已被禁用,但只是为了踢球,我添加了一个入站规则,允许端口 1433 上的所有连接。
在 SQL Native Client 配置中,启用了 TCP/IP。我还确保带有服务器 IP 地址的“IP1”的动态端口为 0,但我删除了它并在常规 TCP 端口字段中添加了 1433。我还将“IPALL”TCP 端口设置为 1433。
在 SQL Native Client 配置中,SQL Server Browser 也在运行并且
我还尝试在
设置此值后,我重新启动了 SQL Server。
在服务器机器上执行“netstat -ano”会返回一个
TCP 0.0.0.0:1433 监听 UDP 0.0.0.0:1434 监听
我从本地计算机进行端口扫描,它说端口已过滤而不是侦听。我还尝试从本地计算机上的 Management Studio 进行连接,但它引发了连接错误。尝试使用在数据库安全中标记的 SQL Server 和 Windows 身份验证的以下服务器名称。
ipaddress\SQLEXPRESS,1433
ipaddress\SQLEXPRESS
IP地址
ip地址,1433
tcp:ipaddress\SQLEXPRESS
tcp:ipaddress\SQLEXPRESS,1433
首先,在管理工作室,检查管理,sql server logs\current - 你想搜索一条消息说'服务器正在侦听 ['any' 1433]。如果没有,请开始,所有程序,SQL server 2008,配置工具,sql server 配置管理器。选择 'sql server network configuration\protocols for MSSQLServer\SQLExpress'。确保启用 TCP/IP。它应该基于 netstat -ano 的输出,但是...
最重要的是-从远程客户端,您是否尝试过通过
?我想我可以确切地告诉你问题出在哪里,我花了 48 多小时试图解决这个问题。没有在网上找到任何东西。也恰好和1and1在一起
看看这些设置:
打开框......列表底部附近的数据包过滤器属性有一个打勾的框,称为:
打开框......编辑规则属性选择(再次)>>'关闭MSDE(TCP / UDP)'按编辑...
打开框......IP过滤器列表然后你会看到一个端口列表tcp 1433,udp 1434 {这是我们的端口列表全部关闭作为阻止规则...... ..}
我认为从这里需要做的是......
关闭该屏幕..IP过滤器列表在屏幕上编辑规则属性有一个选项卡过滤器操作,可以将其从阻止更改为允许吗?(也许将其更改为允许,将允许我们再次勾选“阻止所有”选项 - 这听起来更安全,但支持人员说有一个已知错误,所以可能无法正常工作)
或者
关于数据包过滤器属性
只需取消勾选规则“关闭 MSDE (TCP/UDP)”
您可能必须取消选中“阻止所有”规则才能使其运行
这可能为时已晚,但希望能帮助遇到同样问题的其他人。
您也可以尝试 www.firebind.com。它可以测试在出方向1and1的方向上是否有TCP端口1433的阻塞。
http://www.firebind.com/1433将立即对此进行测试。
从客户端 PC 连接到远程 SQL Server 的 SSMS 让我感到头疼。看起来本地防火墙阻止了入站服务器连接。通过为客户端 PC 防火墙分配 SSMS 的入站规则解决了问题。我发现如何做到这一点的唯一地方是https://msdn.microsoft.com/en-us/library/cc646024(v=sql.120).aspx
这对我有帮助。也希望你。
你能从你的工作站远程登录到 1433 端口吗?这是确定您在该端口上是否具有网络连接的简单方法。可能是您的提供商在沿线某处阻止了与他们的设备的连接。
您将端口视为已过滤的事实使我认为它们在某处阻塞。您可能需要与他们核实,因为他们可能不希望允许远程连接 SQL Server,或者他们阻止了众所周知的端口。tcp/1433 是一个众所周知的端口,并且有一些与 SQL Server 相关的蠕虫直接针对它。
在服务器机器上键入“netstat -an”以查看端口 1433 是否实际上正在侦听。另外,请确保您使用的用户帐户已启用,并且“SQL 身份验证”已启用。还要注意“SQL 配置管理器”设置。此外,在您的 Windows 防火墙中允许端口 1433 作为例外。基本上,如果您没有告诉您的 SQL 服务器允许远程连接,那么它就不会这样做。
SQL Server 代理是否正在运行?如果不是,您使用的是哪个版本的 SQL Server?
查看不同版本之间的差异。
http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx
如果您有 Express 版或 Web 版,它们将被禁用并且无法运行。
疯狂的想法,您的用户名和密码正确吗?您是使用 Windows 身份验证还是 SQL Server 登录?
在 SQL-Express 上查找连接。激活 TCP/IP。确保在 SQL-Express 上将端口配置为 1433。您是否安装了命名实例?
此端口必须在 1and1 处转发到您的 SQL-Server 实例。
顺便检查一下你的站点关于 1433 端口的信息。如果你的提供商阻止它,你就没有机会了。
什么对我有用:
http://blogs.msdn.com/b/sqlexpress/archive/2005/05/05/415084.aspx
具体来说,我发现在 TCP/IP 设置的 IPALL 部分分配所需的端口是问题所在。以前它是空白的,当我去删除“动态端口”位时,我没想到我需要在这里输入一个值。