sql server 2012允许远程连接

时间:2014-06-29 12:24:50

标签: asp.net sql-server networking infrastructure

我想将托管在Web服务器上的asp.net应用程序与托管在另一个远程位置的sql server 2012 db连接起来。 我在sql server上启用了TCP / IP,也为ip1和ipall设置了端口6322。 但如果我去我的网络服务器并telnet到数据库服务器,没有建立连接。 在ASP.net页面中只是为了测试连接我正在使用连接字符串,如下所示

 <add name="DBConnectionStringTEST" 
 connectionString="Data Source=<db ip address>; Initial Catalog=<db name>; Persist Security Info=True;User ID=<username>;Password=<password>;connection timeout=0;Max Pool Size = 100;Pooling = True" 
      providerName="System.Data.SqlClient" />

我的问题,

1)有什么我想念的东西,比如错误的端口。

2)我是否需要提供db ip address(client_net_address)或实际的db服务器地址。

3)我是否需要请求服务器管理员允许连接Web服务器的IP地址。

4)测试Web服务器是否可以与sql服务器通信而不必在每次更改时都修改asp.net应用程序中的连接字符串的最快方法是什么。

注意:我搜索过其他类似主题,但找不到任何对我有用的答案。

2 个答案:

答案 0 :(得分:1)

  

1)有什么我想念的东西,比如错误的端口。

从您发布的连接字符串看起来您正在使用默认实例。如果它确实命名了实例,那么在你的连接字符串中提供相同的信息。

  

2)我需要提供db ip address(client_net_address)还是实际的   数据库服务器地址。

应该是实际的DB服务器IP地址/主机名以及Db服务器安装的实例名称。

  

3)我是否需要请求服务器管理员允许Web服务器ip   地址连接。

如果您提供正确的IP地址/主机名/端口/凭证,那么它应该允许您通过连接。 (假设您的数据库管理员已经为您创建了数据库用户)

  

4)测试Web服务器是否可以与之通信的最快方法是什么?   sql server无需修改asp.net中的连接字符串   每当我做出改变时都会申请。

创建UDL文件。打开notepad并将其另存为test.udl。保存后 - &gt;双击文件 - &gt;提供所有信息并测试连接。它应该如下所示

enter image description here

修改

配置通用数据链接(.udl)文件

  1. 双击名为test.udl

  2. 的文件
  3. Provider标签上选择SQL Server Native client 10.0

  4. Connection标签

    输入BRR=SQL-N1作为Server Name

    Usernamepassword部分提供SApassword

    点击Test Connection

  5. 有关详细信息,请参阅Here

答案 1 :(得分:1)

如果没有明确的端口或实例名称规范,将使用默认的1433端口。在连接字符串中指定自定义端口:

<add name="DBConnectionStringTEST" 
    connectionString="Data Source=<db server ip address or host name>,6322; Initial Catalog=<db name>; Persist Security Info=True;User ID=<username>;Password=<password>;connection timeout=0;Max Pool Size = 100;Pooling = True" 
      providerName="System.Data.SqlClient" />

测试网络连接的简便方法是使用TELNET:

TELNET <db server ip address or host name> 6322

如果成功,这将显示一个空的控制台窗口。按ctrl-C关闭。

如果您没有安装TELNET,还可以使用下面的Powershell命令验证端口连接:

6322 | % { echo ((new-object Net.Sockets.TcpClient).Connect("<db server ip address or host name>",$_)) "server listening on TCP port $_" }