我正在处理一个组源项目,该项目需要一个SQL数据库,我们都需要远程连接到这个数据库。我们没有公共域或VPN连接到某个域,所以我看到创建一个Server身份验证,TCP端口可以避免这种情况。
我已经在笔记本电脑上直接设置了服务器和数据库,并按照Microsoft文档创建了TCP固定端口,并在防火墙中创建了相应的规则。
然后,我为Server身份验证创建了登录名和权限。
我在我的笔记本电脑(服务器所在的地方)和我的个人电脑桌面(一台完全不同的计算机)上测试了登录,它运行得很好。
但是,当我的团队成员试图从他们的远程位置访问它时,我会得到以下错误
在建立到Server的连接时发生了与网络相关的或特定于实例的错误.找不到或无法访问服务器。验证实例名是否正确,以及Server是否配置为允许远程连接。
我想这是因为他们没有像我的台式机和笔记本电脑那样在我的家庭互联网上共享我的IP/域名。
是否有任何方法可以远程连接到SQL数据库而不位于同一域中?
发布于 2022-03-01 23:32:19
我想这是因为他们没有像我的台式机和笔记本电脑那样在我的家庭互联网上共享我的IP/域名。
对,是这样。您的家庭网络在防火墙后面,互联网上的主机不允许连接。
出于有限的开发目的,可以使用像ngrok这样的隧道解决方案。
注册并下载之后,假设您的Server位于端口1433,请运行
PS C:\utils> .\ngrok tcp 1433 将会告知你隧道的详情:
ngrok by @inconshreveable (Ctrl+C退出) 会话状态在线 David Browne账户(计划:免费) 2.3.40版 美国地区(美国) 网络接口http://127.0.0.1:4040 转发tcp://4.tcp.ngrok.io:17247 ->本地主机:1433 连接ttl opn rt1 rt5 p50 p90 0 0 0 0.00 0.00 0.00
它告诉您在连接字符串中使用tcp:4.tcp.ngrok.io,17247。
或者你可以移动到一个可以在互联网上托管和访问的数据库,比如Azure SQL数据库。
https://stackoverflow.com/questions/71315605
复制相似问题