公网远程访问局域网SQL Server数据库
作者:Yan-英杰 发布时间:2024-01-22 01:38:21
1.前言
数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,其中可能包含了各种信息,从企业员工信息到网站访问或成交数据无所不包,甚至在某些场景下,数据库已经成为企业正常运行必不可少的条件之一。与企业的其他工作一样,数据库也需要进行必要的维护。但经过口罩时期的考验,为自家数据库做一个远程操作的设置显得很有必要。今天,笔者就为大家介绍,如何使用cpolar内网穿透,远程连接和操作SQL Server。
2.本地安装和设置SQL Server
Microsoft SQL Server算是比较知名的关系型数据库管理软件,虽然不算是应用最多的,但其作为微软出品,对自家的Windows系列操作系统有很好的兼容性,因此很适合应用在各种安装了Windows操作系统的硬件上,并承担起数据管理软件的责任。
2.1 SQL Server下载
由于SQL Server是微软出品,因此可以轻松的在微软的官网上找到下载(SQL Server Downloads | Microsoft)
点击所需版本下载(笔者选择了Developer),双击下载好的.exe文件,就可以进行自动安装。
在`安装模式`选项中,同样选择所需的模式。在这里,笔者选择了基本安装模式。
接下来就是一路`Next`即可完成安装程序
2.2 SQL Server本地连接测试
完成安装后,SQL Server会自动转入操作界面,我们在这里点击下方的`立即连接`按钮。
这时会弹出SQLCMD命令行窗口,只要显示内容如下图所示,就说明我们本地的SQL Server安装完成。
2.3 Cpolar内网穿透的下载和安装
接下来,我们继续安装远程连接SQL Server的关键软件:Cpolar。与Microsoft SQL Server一样,我们可以登入Cpolar的官网([www.cpolar.com](www.cpolar.com)),点击首页上方的`下载`按钮,进入cpolar下载页面,下载所需版本的cpolar软件。当然,我们这里选择Windows版本进行下载。
Cpolar下载完成后,将下载的文件解压,点击.msi文件,就能进入cpolar自动安装程序,只要一路`Next`就能完成安装。
2.3 Cpolar内网穿透的注册
由于cpolar是以注册用户为区分,为每个用户(无论是免费还是付费)创建单独的数据隧道,辅以每个用户独立的密码和token码,以此保证用户的数据安全。因此我们在使用cpolar前,需要进行注册,注册的过程也非常简单,直接点击cpolar官网右上键的`注册`按钮,进入用户注册页面,再设置用户名、密码等几项简单信息,就能完成新用户的注册。
3.本地网页发布
这时我们在本地电脑上安装了SQL Server和cpolar,接下来我们就可以使用cpolar内网穿透,创建一条能够从公共互联网上直连本地SQL Server的数据隧道,达到远程访问SQL Server的目的。
需要注意的是,cpolar免费版设置的数据隧道地址以24小时为周期进行重置,VIP版则可以创建长期稳定不变化的数据隧道地址。但我们并不知道何时会需要远程连接数据库(笔者就因疫情临时管控吃过大亏),因此笔者将cpolar升级至VIP版,以便创建能够长期稳定的数据隧道。
3.1 Cpolar云端设置
首先,我们登录cpolar客户端,在`仪表台`页面左侧找到`预留`按钮,进入数据隧道的“预留”页面。
在cpolar的预留页面,我们找到`保留的TCP地址`栏位,为我们要连接的SQL Server设置一个公网地址,这个地址可以看做是数据隧道的入口,也可以理解为空白数据隧道(毕竟这里设置的隧道入口还没有关联本地软件的输出端口)。
在`保留的TCP地址`栏位,我们只要进行两项简单的设置:
- 地区:即服务器所在区域,我们就近选择即可
- 描述:可以看做这条数据隧道的注释,只要方便分辨即可
完成这两项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道的入口固定下来。
这里我们需要将`地址`栏位的内容复制下来,在cpolar客户端进行设置时会需要到这个地址。当我们不再需要这条数据隧道时,还可以点击右侧的`x`将这条保留的隧道删除,节约珍贵的隧道名额。
免费版的临时数据隧道不需要进行cpolar云端设置,可直接进行cpolar客户端设置,但也就无法设置能够长期稳定存在的数据隧道。
3.2 Cpolar本地设置
接着,我们回到本地电脑上安装的cpolar客户端(可以从开始菜单点击快捷方式,也可以直接在浏览器输入localhost:9200访问)。在cpolar的客户端左侧,我们点击`隧道管理`项下的`创建隧道`按钮,进行本地数据隧道的设置,将cpolar云端创建的隧道入口与本地SQL Server连结起来。
当然了,想要创建数据隧道,仍需要进行一些设置,具体为:
1. `隧道名称`:该栏同样可以看做是数据隧道的备注,用于与其他本地创建的隧道进行区分,这里我们输入`微软SQL`;
2. `协议`:该栏是内网穿透的应用场景,如发布网页、数据传输、硬件互联等,本例中选择`TCP协议`;
3. `本地地址`:该栏需要填入SQL Server的输出端口号,即端口`1433`(SQL Server的默认端口号);
4. `端口类型`:该栏主要是内网穿透数据隧道的持续时间,打算长期使用的点选`固定TCP端口`;若只是测试或临时使用,则选择`随机临时TCP端口`(需要注意的是,固定TCP端口需要将cpolar升级至专业版及以上)
5. `预留的TCP地址`:该栏位仅限于选择了“固定TCP端口”的用户,若勾选的是“随机临时TCP端口”选项,则不会出现该栏位。填写我们刚刚`保留成功的固定TCP端口地址`。
在完成这些设置后,就可以点击下方的`创建`按钮,将cpolar云端保留的空白数据隧道与本地SQL输出端口连结起来。
完成本地数据隧道的创建后,cpolar客户端会自动跳转至`隧道管理`项下的`隧道列表`页面。
在这里,我们能清晰的看到所有数据隧道的运行情况(是否正常在线或断开),并对某条数据隧道进行操作,如启动、停止或删除,如果想要对已有的数据隧道进行信息更改,也可以在这里找到编辑入口。
4.公网访问测试
完成cpolar客户端的设置后,我们可以点击`状态`项下的`在线隧道列表`页面,找到远程访问本地SQL Server的地址(也就是隧道入口),我们将这个地址粘贴到不同的远程数据库管理软件中,就能连接到本地的SQL Server上。
比如Windows命令行下(公网地址的最前面的tcp://无需复制)
sqlcmd -s 公网地址:公网端口号
或者使用Navicat工具,在连接页面的`主机`栏位,填入cpolar生成的地址(去掉最前面的tcp://,并将末尾数字端口号前的冒号`:`改为逗号`,`)
同理,我们还能使用SSMS图形界面进行远程连接,同样在连接界面,将cpolar生成的地址粘贴到`服务器名称`栏位(去掉最前面的tcp://,并将末尾数字端口号前的冒号“:”改为逗号“,”),就能连接到本地电脑上的SQL Server。
5.结语
至此,我们就完成了将本地Microsoft SQL Server通过远程登录的设置,并且使用cpolar生成的地址,能从多个数据库管理软件登录到SQL Server上,大大增加了我们工作的便利性。
来源:https://blog.csdn.net/m0_73367097/article/details/129974635
猜你喜欢
- 在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图
- 目录一、Python字典1.什么是字典2.字典的创建方式2.1 通过其他字典创建2.2 通过关键字参数创建2.3 通过键值对的序列创建2.4
- 增强的toggleClass()1.toggleClass也可以和addClass一样,用空格分隔多个class名称了。.toggleCla
- 本文实例为大家分享了python使用sendmail发送邮件的具体代码,供大家参考,具体内容如下参考链接:How do I send mai
- 数据列类型与查询效率选用适当的数据列类型有助于提高查询命令的执行速度,下面是几点关于如何选择合适数据列类型的建议:尽量选用尺寸较小的数据列。
- split函数主要应用场景是Python对字符串的处理中(数据分析,数据处理),以及计算机二级考试的常考基础知识点。一、split函数的官方
- 1.运行效果如图所示2.实现代码如下<!DOCTYPE html><html><head> <me
- 在这里输入命令:操作命令:1.更新Anaconda:conda update conda更新所有包conda update --all3.添
- 如下所示:import sysfrom PyQt5 import QtCore,QtGuifrom PyQt5.QtWidgets impo
- 我们直接先给出输出与预期不同的代码In[28]: a = [1,2,3,4,5,6]In[29]: for i in a: ...: &nb
- 一. 10句话1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global
- 实例如下所示:from pandas import *from random import *df = DataFrame(columns=
- 下列代码都是以自己的项目实例讲述的,相关的文本内容很少,主要说明全在代码注释中自制图形验证码这里所说的图形验证码都是自制的图形,通过画布、画
- 我就废话不多说了,大家还是直接看代码吧~print(np.shape(X))#(1920, 45, 20)X=sequence.pad_se
- BCP语句的作用:BCP是SQL提供的进行数据传输的实用程序,这种语句提供了非常快的数据导入的方法。(当然7。0也有BCP的替代方法就是DT
- 最近需要各种转格式,这里对相关代码作一个记录,方便日后查询。xlsx文件转csv文件import xlrdimport csvdef xls
- 很简单的一个函数,就是根据当前的日期生成一个随机数。<% Function getRnd() '**********
- 有时候使用Pytorch训练完模型,在测试数据上面得到的结果令人大跌眼镜。这个时候需要检查一下定义的Model类中有没有 BN 或 Drop
- 傅里叶变换是在高数是一个很重要的知识点,今天将结合Python代码实现傅立叶变换。傅立叶变换我们平时是如何去分解一个复杂的问题呢?一个经典的
- “表情包”是当前社交软件上不可或缺的交流方式,难以用文字表达的意思,发一个“表情包”,对方就能心领神会。下面是小派制作的一个表情包,准确地讲