客观的:
我正在通过笔记本电脑本地开发来继续开发旧版 Windows Forms 应用程序。该应用程序依赖于微电子技术委员会连接到 SQL 数据库。我想在 Azure 云中托管 SQL 数据库。VPN已配置为允许我的笔记本电脑与 Azure 托管的虚拟网络之间的连接。若要在本地进行开发,我如何通过以下方式连接到云中的 SQL 数据库微电子技术委员会?
软件:
- 笔记本电脑:Windows 10,Visual Studio 2019
- 虚拟数据库服务器:Windows 2012、SQL 2008 R2
防火墙:
- 笔记本电脑 Windows 防火墙:已禁用
- 数据库服务器 Azure 防火墙:135、5000-5099 上允许端口流量
- 数据库服务器 Windows 防火墙:已禁用
VPN:
- SKU:基本款
- VPN 类型:基于路由
Windows 域:
- 笔记本电脑:未加入任何域
- 虚拟数据库服务器:加入具有单独专用域控制器的 Windows 域
DTC 安全:
数据库服务器:
确认工作:
- 注册表项在数据库服务器上配置了 MSDTC 端口以面向 Internet。该
netstat -an |find /i "listening"
命令确认这些端口正在监听。 - 从我的笔记本电脑到虚拟数据库服务器的 NetBIOS 名称解析正在运行(通过主机文件输入)
错误:
使用数据通讯协议诊断:
Invoking RPC method on sqlvm1 Problem:fail to invoke remote RPC method Error(0x6D9) at dtcping.cpp @303 -->RPC pinging exception -->1753(There are no more endpoints available from the endpoint mapper.) RPC test failed
- 除了测试已经提到的数据库服务器之外,在尝试从我的笔记本电脑连接到未加入域的空/原始 Azure 托管虚拟服务器时也会发生此错误。