You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/advanced-analytics/known-issues-for-sql-server-machine-learning-services.md
+54-38Lines changed: 54 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: "Known issues in Machine Learning Services | Microsoft Docs"
3
-
ms.date: "11/16/2017"
3
+
ms.date: "01/19/2018"
4
4
ms.prod: "machine-learning-services"
5
5
ms.prod_service: "machine-learning-services"
6
6
ms.service: ""
@@ -63,7 +63,7 @@ The version of R that is installed with SQL Server R Services is updated wheneve
63
63
64
64
To ensure compatibility with Microsoft R Client 9.0.0, install the updates that are described in this [support article](https://support.microsoft.com/kb/3210262).
65
65
66
-
To avoid problems with R packages, you can also upgrade the version of the R libraries that are installed on the server, by changing to the Modern Lifecycle policy that's described in [the next section](#bkmk_sqlbindr). When you do so, the version of R that's installed with SQL Server is updated on the same schedule that updates are published for Microsoft R Server, which ensures that both server and client always have the latest releases of Microsoft R.
66
+
To avoid problems with R packages, you can also upgrade the version of the R libraries that are installed on the server, by changing your servicing agreement to use the Modern Lifecycle Support policy, as described in [the next section](#bkmk_sqlbindr). When you do so, the version of R that's installed with SQL Server is updated on the same schedule used for updates of machine Learning Server (formerly Microsoft R Server).
67
67
68
68
**Applies to:** SQL Server 2016 R Services, with R Server version 9.0.0 or earlier
69
69
@@ -73,23 +73,28 @@ If you install a pre-release version of SQL Server 2017 on a computer without in
73
73
74
74
This issue is fixed in the release version. If you encounter this issue, as a workaround, you can temporarily enable internet access for the duration of the setup. This limitation does not apply to R.
75
75
76
-
**Applies to:** SQL Server 2017 with Python### <aname="bkmk_sqlbindr"></a> Warning of incompatible version when you connect to an older version of SQL Server R Services from a client by using [!INCLUDE[ssSQLv14_md](../includes/sssqlv14-md.md)]
76
+
**Applies to:** SQL Server 2017 with Python
77
77
78
-
When you run R code in a SQL Server 2016 compute context, and either of the following two statements is true, you might see an error like the following:
79
-
* You installed R Server (Standalone) on a client computer by using the setup wizard for [!INCLUDE[ssSQLv14_md](../includes/sssqlv14-md.md)].
80
-
* You installed Microsoft R Server by using the [separate Windows installer](https://docs.microsoft.com/r-server/install/r-server-install-windows).
78
+
### <aname="bkmk_sqlbindr"></a> Warning of incompatible version when you connect to an older version of SQL Server R Services from a client by using [!INCLUDE[ssSQLv14_md](../includes/sssqlv14-md.md)]
81
79
82
-
>*You are running version 9.0.0 of Microsoft R Client on your computer, which is incompatible with the Microsoft R Server version 8.0.3. Download and install a compatible version.*
80
+
When you run R code in a SQL Server 2016 compute context, you might see an error like the following:
83
81
84
-
You can use _binding_ in Microsoft R Server 9.0 and later releases, to upgrade the R components in SQL Server 2016 instances. To determine if support for upgrades is available for your version of R Services, see [Upgrade an instance of R Services using SqlBindR.exe](/r/use-sqlbindr-exe-to-upgrade-an-instance-of-sql-server.md).
82
+
*You are running version 9.0.0 of Microsoft R Client on your computer, which is incompatible with the Microsoft R Server version 8.0.3. Download and install a compatible version.*
83
+
84
+
This message is displayed if either of the following two statements is true,
85
+
86
+
+ You installed R Server (Standalone) on a client computer by using the setup wizard for [!INCLUDE[ssSQLv14_md](../includes/sssqlv14-md.md)].
87
+
+ You installed Microsoft R Server by using the [separate Windows installer](https://docs.microsoft.com/r-server/install/r-server-install-windows).
88
+
89
+
To ensure that the server and client use the same version you might need to use _binding_, supported for Microsoft R Server 9.0 and later releases, to upgrade the R components in SQL Server 2016 instances. To determine if support for upgrades is available for your version of R Services, see [Upgrade an instance of R Services using SqlBindR.exe](/r/use-sqlbindr-exe-to-upgrade-an-instance-of-sql-server.md).
85
90
86
91
**Applies to:** SQL Server 2016 R Services, with R Server version 9.0.0 or earlier
87
92
88
93
### Setup for SQL Server 2016 service releases might fail to install newer versions of R components
89
94
90
95
When you install a cumulative update or install a service pack for SQL Server 2016 on a computer that is not connected to the internet, the setup wizard might fail to display the prompt that lets you update the R components by using downloaded CAB files. This failure typically occurs when multiple components were installed together with the database engine.
91
96
92
-
As a workaround, you can install the service release by using the command line and specifying the */MRCACHEDIRECTORY* argument as shown in this example, which installs CU1 updates:
97
+
As a workaround, you can install the service release by using the command line and specifying the `MRCACHEDIRECTORY` argument as shown in this example, which installs CU1 updates:
93
98
94
99
`C:\<path to installation media>\SQLServer2016-KB3164674-x64.exe /Action=Patch /IACCEPTROPENLICENSETERMS /MRCACHEDIRECTORY=<path to CU1 CAB files>`
95
100
@@ -105,9 +110,9 @@ If you install SQL Server R Services separately from the database engine, and th
105
110
106
111
For example, this error might occur if you install the database engine by using the release version, apply a patch to upgrade the database engine, and then add the R Services feature by using the release version.
107
112
108
-
To avoid this problem, make sure that all components have the same version number. If you upgrade one component, be sure to apply the same upgrade to all other installed components.
113
+
To avoid this problem, use a utility such as File Manager to compare the versions of Launchpad.exe with version of SQL binaries, such as sqldk.dll. All components should have the same version number. If you upgrade one component, be sure to apply the same upgrade to all other installed components.
109
114
110
-
To view a list of the R version numbers that are required for each release of SQL Server 2016, see [Install R components without internet access](r/installing-ml-components-without-internet-access.md).
115
+
Look for Launchpad in the `Binn` folder for the instance. For example, in a default installation of SQL Server 2016, the path might be "C:\Program Files\Microsoft SQL Server\MSSQL.13.InstanceNameMSSQL\Binn".
111
116
112
117
### Remote compute contexts are blocked by a firewall in SQL Server instances that are running on Azure virtual machines
113
118
@@ -131,8 +136,17 @@ It is possible to call the machine learning libraries that are installed for SQL
131
136
132
137
For example, even if you are using the Enterprise Edition of SQL Server, R runs in single-threaded mode when you run your R code by using external tools. To get the benefits of performance in SQL Server, initiate a SQL Server connection and use [sp_execute_external_script](../relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql.md) to call the external script runtime.
133
138
134
-
+ In general, avoid calling the machine learning libraries that are used by SQL Server from external tools.
135
-
+ If you need to debug R or Python code, it is typically easier to do so outside of SQL Server. To get the same libraries that are in SQL Server, you can install Microsoft R Client or [Machine Learning Server](r/create-a-standalone-r-server.md).
139
+
+ In general, avoid calling the machine learning libraries that are used by SQL Server from external tools. If you need to debug R or Python code, it is typically easier to do so outside of SQL Server. To get the same libraries that are in SQL Server, you can install Microsoft R Client or [Machine Learning Server](r/create-a-standalone-r-server.md).
140
+
141
+
### SQL Server Data Tools does not support permissions required by external scripts
142
+
143
+
When you use Visual Studio or SQL Server Data Tools to publish a database project, if any principal has permissions specific to external script execution, you might get an error like this one:
144
+
145
+
"TSQL Model: Error detected when reverse engineering the database. The permission was not recognized and was not imported."
146
+
147
+
Currently the DACPAC model does not support the permissions used by R Services or Machine Learning Services, such as GRANT ANY EXTERNAL SCRIPT, or EXECUTE ANY EXTERNAL SCRIPT. This issue will be fixed in a later release.
148
+
149
+
As a workaround, run the additional GRANT statements in a post-deployment script.
136
150
137
151
### External script execution is throttled due to resource governance default values
138
152
@@ -146,7 +160,7 @@ If you encounter resource limitations, check the current default. If 20 percent
146
160
147
161
This section contains known issues that are specific to running R on SQL Server, as well as some issues that are related to the R libraries and tools published by Microsoft, including RevoScaleR.
148
162
149
-
For additional known issues that might affect R solutions, go to the [Microsoft R Server site](https://docs.microsoft.com/machine-learning-server/resources-known-issues).
163
+
For additional known issues that might affect R solutions, see the [Machine Learning Server](https://docs.microsoft.com/machine-learning-server/resources-known-issues) site.
150
164
151
165
### Limitations on processor affinity for R jobs
152
166
@@ -163,9 +177,10 @@ If your compute context is set to the SQL Server instance, you cannot use the _c
163
177
For example, the following statement would result in an error if the column CRSDepTimeStr is not already an integer:
164
178
165
179
```r
166
-
data<- RxSqlServerData(sqlQuery="SELECT CRSDepTimeStr, ArrDelay FROM AirlineDemoSmall",
167
-
connectionString=connectionString,
168
-
colClasses= c(CRSDepTimeStr="integer"))
180
+
data<- RxSqlServerData(
181
+
sqlQuery="SELECT CRSDepTimeStr, ArrDelay FROM AirlineDemoSmall",
182
+
connectionString=connectionString,
183
+
colClasses= c(CRSDepTimeStr="integer"))
169
184
```
170
185
171
186
As a workaround, you can rewrite the SQL query to use CAST or CONVERT and present the data to R by using the correct data type. In general, performance is better when you work with data by using SQL rather than by changing data in the R code.
@@ -190,15 +205,13 @@ If you need to use larger models, the following workarounds are available:
190
205
191
206
### Avoid clearing workspaces when you execute R code in a [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] compute context
192
207
193
-
If you use the R command to clear your workspace of objects while running R code in a [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] compute context, or if you clear the workspace as part of an R script called by using [sp_execute_external_script](../relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql.md), you might get this error:
194
-
195
-
>*workspace object 'revoScriptConnection' not found*
208
+
If you use an R command to clear your workspace of objects while running R code in a [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] compute context, or if you clear the workspace as part of an R script called by using [sp_execute_external_script](../relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql.md), you might get this error: *workspace object revoScriptConnection not found*
196
209
197
210
`revoScriptConnection` is an object in the R workspace that contains information about an R session that is called from [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)]. However, if your R code includes a command to clear the workspace (such as `rm(list=ls()))`, all information about the session and other objects in the R workspace is cleared as well.
198
211
199
212
As a workaround, avoid indiscriminate clearing of variables and other objects while you're running R in [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)]. Although clearing the workspace is common when working in the R console, it can have unintended consequences.
200
213
201
-
* To delete specific variables, use the R *remove* function: `remove('name1', 'name2', ...)`.
214
+
* To delete specific variables, use the R `remove` function: for example, `remove('name1', 'name2', ...)`
202
215
* If there are multiple variables to delete, save the names of temporary variables to a list and perform periodic garbage collection.
203
216
204
217
### Restrictions on data that can be provided as input to an R script
@@ -299,18 +312,12 @@ Parallelism for `rxExec` across multiple processes is planned for a future relea
299
312
300
313
If you use data sets with extremely large numbers of variables (for example, over 40,000), set the `max-ppsize` flag when you start R to use functions such as `rxGetVarInfo`. The `max-ppsize` flag specifies the maximum size of the pointer protection stack.
301
314
302
-
If you are using the R console (for example, in rgui.exe or rterm.exe), you can set the value of max-ppsize to 500000 by typing:
315
+
If you are using the R console (for example, RGui.exe or RTerm.exe), you can set the value of _max-ppsize_ to 500000 by typing:
303
316
304
-
```r
317
+
```R
305
318
R--max-ppsize=500000
306
319
```
307
320
308
-
If you are using the [!INCLUDE[rsql_developr](../includes/rsql-developr-md.md)] environment, you can set the `max-ppsize` flag by making the following call to the RevoIDE executable:
309
-
310
-
```
311
-
RevoIDE.exe /RCommandLine --max-ppsize=500000
312
-
```
313
-
314
321
### Issues with the rxDTree function
315
322
316
323
The `rxDTree` function does not currently support in-formula transformations. In particular, using the `F()` syntax for creating factors on the fly is not supported. However, numeric data is automatically binned.
@@ -323,13 +330,14 @@ This section contains known issues that are specific to running Python on SQL Se
323
330
324
331
### Call to pretrained model fails if path to model is too long
325
332
326
-
If you install the pretrained models in a default installation, depending on your machine name and instance name, the resulting complete path to the trained model file might be too long for Python to read. This limitation will be fixed in an upcoming service release.
333
+
If you installed the pretrained models in an early release of SQL Server 2017, the complete path to the trained model file might be too long for Python to read. This limitation is fixed in a later service release.
327
334
328
335
There are several potential workarounds:
329
336
330
337
+ When you install the pretrained models, choose a custom location.
331
-
+ If possible, install the SQL Server instance under a custom installation path, such as C:\SQL\MSSQL14.MSSQLSERVER.
338
+
+ If possible, install the SQL Server instance under a custom installation path with a shorter path, such as C:\SQL\MSSQL14.MSSQLSERVER.
332
339
+ Use the Windows utility [Fsutil](https://technet.microsoft.com/library/cc788097(v=ws.11).aspx) to create a hardlink that maps the model file to a shorter path.
340
+
+ Update to the latest service release.
333
341
334
342
### Failure to initialize a varbinary variable causes an error in BxlServer
### Telemetry warning on successful execution of Python code
369
+
370
+
Beginning with SQL Server 2017 CU2, the following message might appear even if Python code otherwise runs successfully:
371
+
372
+
```text
373
+
STDERR message(s) from external script: ~PYTHON_SERVICES\lib\site-packages\revoscalepy\utils\RxTelemetryLogger
374
+
SyntaxWarning: telemetry_state is used prior to global declaration
375
+
```
376
+
377
+
The warning has been fixed in a later service release.
378
+
360
379
## Revolution R Enterprise and Microsoft R Open
361
380
362
381
This section lists issues specific to R connectivity, development, and performance tools that are provided by Revolution Analytics. These tools were provided in earlier pre-release versions of [!INCLUDE[ssCurrent](../includes/sscurrent-md.md)].
363
382
364
383
In general, we recommend that you uninstall these previous versions and install the latest version of SQL Server or Microsoft R Server.
365
384
366
-
### Running side-by-side versions of Revolution R Enterprise
385
+
### Revolution R Enterprise is not supported
367
386
368
387
Installing Revolution R Enterprise side by side with any version of [!INCLUDE[rsql_productname_md](../includes/rsql-productname-md.md)] is not supported.
369
388
370
-
If you have a license to use a different version of Revolution R Enterprise, you must put it on a separate computer from both the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] instance and any workstation that you want to use to connect to the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] instance.
389
+
If you have an existing license for Revolution R Enterprise, you must put it on a separate computer from both the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] instance and any workstation that you want to use to connect to the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] instance.
371
390
372
-
### The use of an R productivity environment is not supported
391
+
Some pre-release versions of [!INCLUDE[rsql_productname](../includes/rsql-productname-md.md)] included an R development environment for Windows that was created by Revolution Analytics. This tool is no longer provided, and is not supported.
373
392
374
-
Some pre-release versions of [!INCLUDE[rsql_productname](../includes/rsql-productname-md.md)] included an R development environment for Windows that was created by Revolution Analytics. This tool is no longer provided, and it is not supported.
375
-
376
-
For compatibility with [!INCLUDE[rsql_productname](../includes/rsql-productname-md.md)], we strongly recommend that you install Microsoft R Client or Microsoft R Server instead of the Revolution Analytics tools. [R Tools for Visual Studio](https://www.visualstudio.com/vs/rtvs/) and [Visual Studio Code](https://code.visualstudio.com/) also supports Microsoft R solutions.
393
+
For compatibility with [!INCLUDE[rsql_productname](../includes/rsql-productname-md.md)], we recommend that you install Microsoft R Client instead. [R Tools for Visual Studio](https://www.visualstudio.com/vs/rtvs/) and [Visual Studio Code](https://code.visualstudio.com/) also supports Microsoft R solutions.
377
394
378
395
### Compatibility issues with SQLite ODBC driver and RevoScaleR
379
396
380
397
Revision 0.92 of the SQLite ODBC driver is incompatible with RevoScaleR. Revisions 0.88-0.91 and 0.93 and later are known to be compatible.
381
398
382
-
383
399
## See also
384
400
385
401
[What's new in SQL Server 2016](../sql-server/what-s-new-in-sql-server-2016.md)
0 commit comments