使用 SQL Server vNext CTP 1.0 从客户端连接到旧版本 SQL Server R Services 时出现不兼容版本警告

Warning of incompatible version when connecting to older version of SQL Server R Services from a client using SQL Server vNext CTP 1.0

当 运行 Visual Studio 中 SQL 的 R 命令时,我收到以下错误:

您计算机上的 Microsoft R 客户端 运行 9.0.1 版与 Microsoft R 服务器 8.0.3 版不兼容。下载并安装兼容版本。

本页 - https://msdn.microsoft.com/en-us/library/mt590540.aspx 表示:

要解决此问题,您可以使用 R Server 9.0 版本中的 sqlbindr.exe 将您的 SQL 服务器实例升级到兼容的 9.0 版本。 SQL RTM CU3+ 和 SP1+ 版本的服务修复将在不久的将来发布。

我通过从 Microsoft 下载最新版本的 R 服务器找到了 sqlbindr.exe。 运行 我的 SQL 服务器上的这个实用程序似乎没有做任何事情。可能需要一些论据。

我安装了 SQL Server 2016 SP1。我能够通过 TSQL 执行 "Hello World" 类型的例子。

有什么想法吗?

编辑:通过反复试验,我发现在服务器 运行 SQLBindR.exe 上使用 /list 将显示可能绑定到 R 的 SQL 实例。 SQLBindR.exe /bind 似乎是我需要的。但我明白了。 "The instance must have a compatible version of SQL R Services (in-DB) installed. See for more details. "

所以我的 SQL R 服务似乎没有正确更新。我认为这将通过 SQL Server SP1 和在此之前的安装程序进行安装。

已修复(大概)

R Client 9.01 和 SQL Server R Services 之间似乎存在一些不兼容性,尽管兼容性图表另有说明。

我发现这非常有用 post (http://www.desertislesql.com/wordpress1/?p=1340),它让我找到了解决问题的正确途径。使用本地上下文进行测试消除了错误。我从这个 Visual Studio Dev Essentials 下载了一个旧版本的 R Client,那个版本有效。

根据文档,我觉得最新的 R Client 应该可以工作,但我不确定我的特定设置或兼容性是否有问题。还不确定旧版本的 R 客户端还有哪些其他问题,但至少它现在可以工作了。

我认为您需要安装 GDR update package for SQL Server 2016 SP1 which contains FIX: Version of R Client is incompatible with the Microsoft R server version 8.0.3。这是在 2016 年 12 月 16 日没有大张旗鼓地发布的。

我自己还没有尝试过,但我今天在阅读其他 R Services MSDN 文档时 运行 参考了 SQL 2016 SP1 GDR 更新。