通过Internet连接到本地Sql server 2005

我的Sql服务器在本地计算机上,我想通过Internet访问它。

我为远程访问configuration了sqlserver 2005的Suracepipe理器和configurationpipe理器。

我的sqlserver运行在端口:1433

我正在使用端口转发,我可以访问其他端口的服务,

我的连接string是:数据源= 190.190.200.100,1433;networking库= DBMSSOCN;初始目录= myDataBase;用户ID = myUsername;密码= myPassword;

但是,当我试图通过互联网连接sql服务器时,出现以下错误:

与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:TCP提供程序,错误:0 – 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而build立的连接失败。

我不build议你这样做,鉴于过去的经验(即Slammer )

VPN是不是问题? 主机到主机的OpenVPN也许?

这听起来像是有东西阻塞了你的机器的数据包。 检查以下内容:

  • 尝试在远程计算机的命令提示符处运行traceroute 190.190.200.100 ,以确保数据包可以到达本地计算机。 (听起来他们可以从你的描述,但它并不伤害检查。)
  • Windows防火墙是否启用? 还是你安装了第三方防火墙?
  • 你在那个防火墙里打开了1433端口吗?

尝试这个:

  1. 确保客户端的SQL Native Clientconfiguration上启用了TCP / IP。 打开SQL Serverconfigurationpipe理器,展开SQL Native Clientconfiguration,单击客户端协议,确保TCP / IP已启用
  2. 将您的连接string更改为:

    Provider = SQLNCLI; Data Source = 190.190.200.100,1433; Network Library = DBMSSOCN; Initial Catalog = myDataBase; User ID = myUsername; Password = myPassword;

看看这是否适合你。

先生,

我有一个与sql连接的问题。

据我所知,如果我想连接到位于networking上的MS SQL,那么它(MS SQL托pipe服务器)需要启用远程连接模式。

我托pipe了我的应用程序提供的一个托pipe服务。

我在somee.com上托pipe了我的MS数据库。

这是用于连接我的数据库的连接string。

工作站id = erainsrbrl.mssql.somee.com;数据包大小= 4096;用户id = xxx; pwd = xxx;数据源= erainsrbrl.mssql.somee.com;坚持安全信息=假;初始目录= erainsrbrl

使用这个连接string我可以build立连接

http://hasibul.cz.cc/Default1.aspx

我的数据库服务器和我的应用服务器不同。 我可以连接我的数据库服务器从我的应用服务器,虽然他们是不同的托pipe公司和不同的电脑

如果我可以从我的应用程序服务器连接,那么为什么我无法连接从我的台式电脑连接互联网。

如果我想从我的电脑连接,然后如果鞋子错误(虽然我有互联网连接和真正的IP)。

我的问题总结。

如果我可以从我的Web应用程序连接(虽然Web服务器和数据库服务器是不同的),那么为什么我不能从我的桌面连接。


System.Data.SqlClient.SqlException:build立到服务器的连接时发生错误。 连接到SQL Server 2005时,这种失败可能是由于在默认设置下SQL Server不允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server)在System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,布尔breakConnection)在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj )在System.Data.SqlClient.TdsParser.Connect(布尔&useFailoverPartner,布尔&failoverDemandDone,string主机,stringfailoverPartner,string协议,SqlInternalConnectionTds connHandler,Int64 timerExpire,布尔encryption,布尔trustServerCert,布尔integratedSecurity,SqlConnection owningObject,布尔aliasLookup) .Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject,SqlConnectionString connectionOptions,String newPassword,Boolean redirectedUserInstance)在System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity身份,SqlConnectionString连接选项,对象providerInfo,stringnewPassword,SqlConnection拥有对象,Bo 在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection拥有连接,DbConnectionPool池,DbConnectionOptions选项)System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,对象poolGroupProviderInfo,DbConnectionPool池,DbConnection拥有连接)上的olean redirectedUserInstance)在System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection拥有对象)在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection拥有对象)System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection拥有对象).ProviderBase.DbConnectionPool.CreateObject(DbConnection拥有对象) (Object sender,EventArgs e)在System.Data.SqlClient.SqlConnection.Open()处的System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)


转到SQL Serverconfigurationpipe理器,然后networking属性,然后启用TCP / IP。 转到TCP / IP属性检查IP地址,并启用is'True'或不….请访问该页面上的文章: http : //videotutors.net/SQLServer2008RemoteAccess.aspx