我有一个全新的 RDS 环境,正在尝试设置。我正在尝试遵循以下指南:https://msfreaks.wordpress.com/2013/12/09/windows-2012-r2-remote-desktop-services-part-1/并且已经取得了很大进展,但我在配置 RD 连接代理以实现 HA 屏幕上失败了。这是我收到的错误:
数据库连接字符串中指定的数据库在 RD 连接代理服务器上不可用。请确保 SQL Server 在网络上可用、SQL Server Native Client 已安装在 RD 连接代理服务器上,并且 RD 连接代理具有对数据库的写入权限。
到目前为止,这是我已经做过和尝试过的(无特定顺序):
- 在 RDS 服务器上安装了 SQL Server Native Client(运行 SQL Server 2014 安装程序,只安装了“客户端工具连接”和“SQL 客户端连接 SDK”功能
- 在 RDS 和 SQL Server 上的 SQL Server 配置管理器中验证是否已启用 TCP/IP
- 创建了一个名为“RDS 连接代理”的 AD 组,添加了 RDS 服务器,并在 SQL 服务器中授予该组 dbcreator 权限(出于无奈,我还尝试在 SQL 中授予该组 sysadmin 权限,但没有成功)
- 关闭两台服务器上的 Windows 防火墙进行测试;没有成功
- 暂时禁用两台服务器上的 AV 进行测试;没有成功
- 重新启动两台服务器
- 尝试在 SQL 服务器上创建正确名称的空白数据库,然后再次运行 HA 向导;没有成功
- 仔细检查两台服务器上是否都安装了本机客户端;似乎已安装
这是我正在尝试的数据库连接字符串:
DRIVER=SQL Server Native Client 11.0;SERVER=SQLserver\SQLinstance;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDP_BROKER
两台服务器都是 Win2012R2,SQL 服务器处于在线状态并正常工作,因为我们有其他应用程序连接到它。它是一个命名实例,但根据我的搜索,它应该仍然有效。我一直在谷歌和 serverfault 上搜索,但几乎到处都说我所做的应该有效。我觉得我缺少了一些基本的东西。
答案1
很棒的文章,对我也很有用。
更换驱动程序对我有用..
- 在 RD 连接代理上安装 ODBC 驱动程序 -https://www.microsoft.com/en-us/download/details.aspx?id=50420
使用此连接字符串:
DRIVER=SQL Server 的 ODBC 驱动程序 13;SERVER=;Trusted_Connection=Yes;APP=远程桌面服务连接代理;数据库=
答案2
它可能需要在 SQL 服务器上启用 SQL 浏览器才能从客户端发现实例。
正如您所说,其他应用程序正在访问 sqlserver,我假设防火墙已打开,并且可以通过网络访问 sql 服务。
当多宿主时,请确保 sql 服务在分配给 rds 网关所在网络的区域上可达(可能是公共的,而其他应用程序使用域区域上的接口)。
答案3
更改驱动程序对我有用。1.在 RD 连接代理上安装 ODBC 驱动程序 -https://www.microsoft.com/en-us/download/details.aspx?id=50420 2.使用此连接字符串:
DRIVER=ODBC Driver 13 for SQL Server;SERVER=<DB server, e.g. sql,1433>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=<DB Name>