我的SQL Server在本地机器上。 我想通过互联网访问它。 我通过我想创build一个网站来连接本地的SQL Server 2005。
这是错误信息:
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定)
感谢您的回复!
这不是你正在寻找的答案,但是……阅读并思考,至less安全是有意义的。
由于存在安全风险,您决不应该从Internet访问SQL Server,而且我甚至不build议您在DMZ中放置Web服务器并在防火墙内部使用SQL Server的解决scheme。
我build议你把networking服务器放在一个DMZ中,把SQL服务器放在第二个DMZ中,并且确保只允许从第一个DMZ或防火墙内部到SQL服务器的stream量,而不是从互联网上。
如果你真的想忽略build议,确保你使用Web服务器和SQL服务器的VPN隧道,但记住它不会保存你从SQL注入,你必须自己阻止它。
我已经看到了一些例子,在哪里可以获得对networking服务器的控制权,并用防火墙内激活的xp_cmdshell来攻击SQL服务器。 基本上,在可能的情况下,备份完整的数据库,将其发送到某个地方,然后删除数据库,甚至使用DEL 。 在文件系统(使用xp_cmdshell)
如果你能控制它,你可以用SQL Server做很多令人讨厌的事情。
是您在互联网上parsingSQL Server实例时使用的名称。
尝试在您的远程计算机上查找您的网站名称(您的网站所在的位置):
nslookup servername.example.com
如果名称不能parsing为IP地址,则可以使用networking的公共IP地址,也可以为该名称设置DNS条目。
您是否检查防火墙/路由器是否configuration为将SQL Server端口转发到您的内部SQL Server计算机? 服务器上是否有必须configuration的软件防火墙?
要从另一个站点连接到您的机器,您应该使用机器IP地址或机器名称,
[MACHINENAME] [INSTANCENAME]或[MACHINEIP] [INSTANCENAME]。
此外,如果您在公司环境中,如果您位于防火墙或代理之后,则可能会出现问题,因为您的计算机无法从外部直接访问,并且networking服务器可能只能从networking内部看到。 如果在机器上运行所有内容,请确保能够从networking外部看到机器。
确认您可以从Web服务器ping您的机器。 如果可以,那么机器名称或IP地址应该工作,或者它意味着您的Web服务器不在您的networking中,在这种情况下,Sql数据库将需要托pipe在Web服务器或Web服务器所在的同一networking中的另一台机器上。
其他的事情可能会导致这一点: