访问位于我的客户端的Internet上的MS SQL Server数据库的过程是什么

问题描述:

我在客户端安装了MS SQL Server,并且需要将该数据库记录存储到位于我的位置的服务器中,任何人都建议我如何通过使用IP地址通过互联网访问SQL Server数据库。我将使用JDBC从数据库检索数据。访问位于我的客户端的Internet上的MS SQL Server数据库的过程是什么

您可以找到微软对如何做一个康涅狄格州字符串通过JDBC here到SQL文档,但它基本上相当于

jdbc:sqlserver://localhost;user=MyUserName;password=*****; 

话虽这么说,通常具有数据库服务器开放的互联网是一个坏主意除非你只是在做测试。我建议寻找一些像VPN一样的东西,或者至少在客户端设置防火墙,以便只允许来自你所谓的“我的地方”的IP(不是100%完美的解决方案,但比没有好)。这就是说,你还需要确保客户端的任何防火墙都允许你设置SQL运行的任何端口(默认为1433)。

为了建立一个成功的远程连接,通过Windows防火墙设置适当的端口。在SQL Server中有两种类型的实例。首先是默认实例,第二个是命名实例。要连接到数据库引擎的默认实例或者计算机上安装的唯一实例的命名实例,TCP端口1433是唯一需要指定的端口。

但是,如果您的机器上安装了多个名称实例,要与其中一个名称连接,我们必须提供与相应实例名称对应的端口号。默认情况下命名实例使用动态端口,这意味着每次数据库引擎启动时都会分配新的端口号。因为这很难配置Windows防火墙来启用访问。

为了解决此问题,有一个SQL浏览器服务,它提供与指定实例对应的TCP端口号。 SQL Browser服务使用UDP端口1434.现在我们遇到了有关远程连接的基本事宜,让我们继续进行设置过程。

启用TCP/IP协议

的第一步是使上的SQL Server服务的TCP/IP协议。打开配置工具文件夹中的SQL Server配置管理器中的Microsoft SQL Server文件夹下:

enter image description here

从SQL Server网络配置节点,选择适当的SQL Server的协议项目。在详细信息窗格中,右键单击TCP/IP项,然后选择Enable选项:

enter image description here

这一步后,警告框弹出在告诉我们,这是所做的更改不会生效,直到下一次服务开始。

enter image description here

为了使更改生效,从控制台窗格中,选择SQL Server服务,并从细节窗格中,右键单击SQL Server(SQLEXPRESS)数据库引擎实例,然后单击重新启动选项:

enter image description here

现在服务开始与TCP/IP启用,但直到我们配置Windows防火墙仍然无法进行远程连接。

配置Windows防火墙 从控制面板中选择Windows防火墙,然后点击高级设置,或只是从开始菜单的搜索程序和文件键入wf.msc:

enter image description here

  1. 入境规则:您可以允许或阻止流量尝试访问符合规则中某些条件的计算机。默认情况下,入站流量被阻止,为了允许流量访问计算机,您需要创建入站规则。
  2. 出站规则:您可以允许或阻止源自指定计算机创建规则的通信。默认情况下,出站流量是允许的,因此您需要创建阻止出站流量的规则。

在Windows高级安全防火墙,从左侧窗格中单击入站规则,右键单击入站规则,选择新规则或从操作窗格单击新建规则:

enter image description here

你会点击它,取决于你。在这两种情况下,新的入站规则向导都会出现。根据规则类型选择端口,然后单击下一步按钮:

enter image description here

在协议和端口有,你可以选择,这取决于哪种类型选择协议的几个选项。

如果你想知道你可以从这个链接中找到TCP和UDP协议有什么区别。

正如我们在文章TCP开头提到的用于默认实例和命名的实例,如果是安装在计算机和默认端口上的唯一实例是1433

所有本地端口:规则适用于所有来自所选协议的端口。 特定本地端口:在文本框中指定规则适用的端口或端口集。 在这个例子中,选择UDP协议,并在特定本地端口输入端口号1434要使用SQL设置浏览器的服务出发,单击下一步按钮:

enter image description here

  1. 允许连接:包括所有连接都安全并且不安全。
  2. 允许连接,如果它是安全的:只包括通过安全通道连接的连接。
  3. 阻止连接:阻止所有连接安全和不安全。

操作对话框选择允许连接并单击下一步按钮:

enter image description here

域:仅在计算机连接到域的设置应用。 专用:当计算机连接到标识为专用网络的网络时应用该设置。 公共:当计算机连接到不受信任的公共网络时应用该设置。

在配置文件对话框中选择所有三个配置文件,然后单击下一步:

enter image description here

这一步给规则的名称,并单击Finish。

注意:当我们给出规则的名称时,请编写一些描述性名称,以便在需要查找它们或在“入站规则”列表中进行编辑时可以理解。

enter image description here

现在创建的数据库引擎实例允许规则。

去新规则,并从规则类型选择自定义规则:

enter image description here

在所服务的计划单击自定义按钮:

enter image description here

从在应用于此服务下自定义服务设置选择数据库引擎实例服务并单击确定按钮:enter image description here

然后单击下一步一路名称对话框,给规则的名称,并单击Finish: enter image description here

现在,当所有的规则设置,您就可以连接到远程SQL Server。

启动SQL Server,在服务器名称的对话窗口中输入要连接的实例的名称。从身份验证下拉框中选择SQL Server身份验证,然后选择登录和密码输入您的凭据,然后单击连接按钮。

+0

它正在访问同一网络,我可以从不同的网络访问它吗? –

+0

是的,您可以从不同的网络访问它,但您需要更改设置。检查这个链接。 https://technet.microsoft.com/zh-cn/library/ms165718(v=sql.105).aspx | https://dba.stackexchange.com/questions/48667/how-to-access-a-sql-server-database-from-other-computer-connected-to-the-same-wo –