我在家用计算机上设置了Microsoft SQL Server 2008 R2 Express。我的家用电脑有Windows 7,位于路由器后面。我配置它我认为没问题,因为我可以通过管理工作室连接到他。手段 - 我打开了所有必要的端口,我配置SQL接受TCP上的连接。我也在我的路由器上设置DynDNS,我通过我的DNS名称连接,它的工作原理。
我还使用Microsoft PortQueryUI [http://www.microsoft.com/download/en/details.aspx?id=24009]来测试服务器是否可见并且是否来自我的工作计算机并且它是可见的。我的PortQueryUI输出工作正常(附加bloew)但来自其他网络的人无法连接到我的服务器。他们在测试中端口1434 UDP(大粗体)错误代码0x00000002,我把它正确 - 0x00000000。
是什么原因,是否需要在他们的计算机上进行某些操作?也许他们的网络阻塞了什么?
我的PortQueryUI工作输出:
=============================================
启动portqry.exe -n myhome.dyndns.net -e 1434 -p UDP ...
查询目标系统:
myhome.dyndns.net
尝试将名称解析为IP地址...
名称已解析为83.xxx.xxx.xxx
...查询
UDP端口1434(ms-sql-m服务):LISTENING或FILTERED
将SQL Server查询发送到UDP端口1434 ...
服务器的回复:
ServerName ROBERT-KOMPUTER InstanceName SQL2008R2 IsClustered No. 版本10.50.1600.1 tcp 1433 np \ ROBERT-KOMPUTER \ pipe \ MSSQL $ SQL2008R2 \ sql \ query
==== SQL Server查询响应结束====
UDP端口1434是LISTENING
启动portqry.exe -n myhome.dyndns.net -e 1433 -p TCP ...
查询目标系统:
myhome.dyndns.net
尝试将名称解析为IP地址...
名称已解析为83.xxx.xxx.xxx
...查询
TCP端口1433(ms-sql -s服务):LISTENING portqry.exe -n myhome.dyndns.net -e 1433 -p TCP退出,返回码为0x00000000。
答案 0 :(得分:1)
确保防火墙上的端口1433已打开,为了安全起见,您可能应该在其上放置某种IP范围/范围。
您需要在数据库属性中将数据库设置为Accept Remote Connections
。
您需要设置用户名和密码,并授予其访问数据库的权限,以便远程连接识别它。
以下是允许连接的示例:
以下是连接示例:
答案 1 :(得分:0)
我遇到了同样的问题,但我已经在防火墙上设置了1433上的开放端口。 SQL 2012的解决方案很简单:
答案 2 :(得分:0)
我有一个非默认的命名实例。所以我不得不在 services.msc 上启用并启动 SQL Server Browser 服务
请务必查看以下 Microsoft 的故障排除: