正在连接没有公共域的SQL实例/服务器



我正在处理一个组源项目,该项目需要一个我们都需要远程连接的SQL数据库。我们没有公共域或VPN来连接,所以我读到创建SQL Server身份验证和TCP端口可以绕过这一点。

我已经在笔记本电脑上直接设置了服务器和数据库,并按照Microsoft文档创建了一个TCP固定端口,并在防火墙中创建了相应的规则。

然后,我创建了SQL Server身份验证的登录名和权限。

我在我的笔记本电脑(服务器所在的地方(和PC桌面(一台完全不同的电脑(上测试了登录,结果都很好。

然而,当我的团队成员试图从他们的远程位置访问它时,我得到了以下错误

在建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。请验证实例名称是否正确,以及SQL Server是否已配置为允许远程连接。

我想这是因为他们不像我的台式机和笔记本电脑那样在我的家庭互联网上共享我的IP/域。

有没有任何方法可以在不位于同一域的情况下远程连接到SQL数据库?

我想这是因为他们不像我的台式机和笔记本电脑那样在我的家庭互联网上共享我的IP/域。

正确。您的家庭网络位于防火墙后面,互联网上的主机不允许连接。

对于有限的开发目的,您可以使用像ngrok 这样的隧道解决方案

注册并下载后,假设您的SQL Server位于1433端口,运行

PS C:utils> .ngrok tcp 1433            

它将通知您隧道的详细信息:

ngrok by@unshreveable
(Ctrl+C退出(
在线会话状态
帐户David Browne(计划:免费(
2.3.40版本
美国地区
Web界面http://127.0.0.1:4040
转发tcp://4.tcp.ngrok.io:17247->localhost:1433
连接ttl opn rt1 rt5 p50
p90
0 0.00 0.00 0.00

哪个命令告诉您在连接字符串中使用tcp:4.tcp.ngrok.io,17247

或者你可以转移到一个在互联网上托管和访问的数据库,比如Azure SQL数据库。

最新更新