Skip to content

Commit c88b305

Browse files
Merge branch 'release-sqlseattle' of https://github.com/MicrosoftDocs/sql-docs-pr into vnext
2 parents 51774f4 + 69106c1 commit c88b305

7 files changed

Lines changed: 76 additions & 48 deletions

docs/advanced-analytics/install/sql-machine-learning-services-ver15.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,16 @@ monikerRange: ">=sql-server-ver15||=sqlallproducts-allversions"
1212
# Differences in SQL Server Machine Learning Services installation in SQL Server 2019
1313
[!INCLUDE[appliesto-ss-xxxx-xxxx-xxx-md-winonly](../../includes/appliesto-ss-xxxx-xxxx-xxx-md-winonly.md)]
1414

15-
On Windows, SQL Server 2019 Setup changes the isolation mechanism, substituting AppContainers for local worker accounts, for external processes running Java, R, or Python tasks. If you are adding programming extensions or machine learning to a database engine instance, this article explains how Setup provisions the server to contain those processes.
15+
On Windows, SQL Server 2019 Setup changes the isolation mechanism for external processes running Java, R, or Python tasks by replacing local worker accounts with [AppContainers](https://docs.microsoft.com/windows/desktop/secauthz/appcontainer-for-legacy-applications-). AppContainers are a containment feature for client apps running on Windows. If you are adding programming extensions or machine learning to a database engine instance, this article explains how Setup provisions the server to contain those processes.
1616

1717
Although process isolation has changed, the mechanics of installation remain the same. If you installed the previous version, you'll notice that the Installation wizard and command-line parameters are unchanged in SQL Server 2019. For help with installation, see [Install SQL Server Machine Learning Services](sql-machine-learning-services-windows-install.md).
1818

19+
There are no specific action items for the administrator as a result of this change.
20+
21+
+ On a new or upgraded server, extensions for R, Python, and Java use the new isolation model automatically.
22+
+ **SQLRUserGroup** continues to be used in Access Control Lists (ACLs).
23+
+ **SQL Server Launchpad service** continues in its role of starting up external processes, but is now also running those processes in individual AppContainers, one per process.
24+
1925
## About AppContainer isolation
2026

2127
In previous releases, **SQLRUserGroup** contained a pool of local Windows user accounts (MSSQLSERVER00-MSSQLSERVER20) for isolating and running external processes. When an external process was needed, SQL Server Launchpad service would take an available account and use it to run a process.
@@ -33,7 +39,7 @@ Summarized, the main differences with AppContainer isolation are:
3339

3440
+ Physical accounts worker accounts under **SQLRUserGroup** are no longer created. This is beneficial for machines with policies that disable local users from logging on, and with passwords that expire.
3541
+ **SQLRUserGroup** continues to be granted 'read and execute' permissions to the SQL Server **Binn**, **R_SERVICES**, and **PYTHON_SERVICES** directories, but membership now consists of just the SQL Server Launchpad service.
36-
+ All external scripts and code executed from [sp_execute_external_script](../../relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql.md)follow the new security model. This applies to R, Python, and the new Java language extension introduced in SQL Server 2019.
42+
+ All external scripts and code executed from [sp_execute_external_script](../../relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql.md) follow the new security model. This applies to R, Python, and the new Java language extension introduced in SQL Server 2019.
3743

3844
As before, additional configuration is still required for *implied authentication*, where script or code has to connect back to SQL Server to retrieve data or resources. The additional configuration is creating a database login for **SQLRUserGroup**. For more information, see [Add SQLRUserGroup as a database user](../r/add-sqlrusergroup-to-database.md)
3945

@@ -55,4 +61,4 @@ A symbolic link is created to the current default **R_SERVICES location** as par
5561

5662
+ [Install SQL Server Machine Learning Services on Windows](sql-machine-learning-services-windows-install.md)
5763

58-
+ [Install SQL Server 2019 Machine Learning Services on Linux](../../linux/sql-server-linux-setup-machine-learning.md)
64+
+ [Install SQL Server 2019 Machine Learning Services on Linux](../../linux/sql-server-linux-setup-machine-learning.md)

docs/advanced-analytics/r/upgrade-and-installation-faq-sql-server-r-services.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Depending on the build of SQL Server that you are installing, some of the follow
2626

2727
- In early versions of SQL Server 2016 R Services, 8dot3 notation was required on the drive that contains the working directory. If you installed a pre-release version, upgrading to SQL Server 2016 Service Pack 1 should fix this issue. This requirement does not apply to releases after SP1.
2828

29-
- Currently, you cannot install [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)] on a failover cluster. However, SQL Server vNext does provide failover support if you would like to evaluate this capablity in a test environment. For more information, see [What's New](../what-s-new-in-sql-server-machine-learning-services.md).
29+
- Currently, you cannot install [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)] on a failover cluster. However, SQL Server 2019 preview does provide failover support if you would like to evaluate this capablity in a test environment. For more information, see [What's New](../what-s-new-in-sql-server-machine-learning-services.md).
3030

3131
- On an Azure VM, some additional configuration might be necessary. For example, you might need to create a firewall exception to support remote access.
3232

docs/advanced-analytics/toc.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
items:
3232
- name: CAB downloads (offline setup)
3333
href: install/sql-ml-cab-downloads.md
34-
- name: Command-prompt setup
34+
- name: Command prompt setup
3535
href: install/sql-ml-component-commandline-install.md
3636
- name: Upgrade R and Python
3737
href: r/use-sqlbindr-exe-to-upgrade-an-instance-of-sql-server.md
@@ -206,7 +206,7 @@
206206
href: r/data-exploration-and-predictive-modeling-with-r.md
207207
- name: Load R objects using ODBC
208208
href: r/save-and-load-r-objects-from-sql-server-using-odbc.md
209-
- name: Converting R Code for Use in Machine Learning Services
209+
- name: Converting R code for use in Machine Learning Services
210210
href: r/converting-r-code-for-use-in-sql-server.md
211211
- name: Creating multiple models using rxExecBy
212212
href: r/creating-multiple-models-using-rxexecby.md
@@ -224,13 +224,13 @@
224224
href: sql-native-scoring.md
225225
- name: Performance
226226
items:
227-
- name: Performance tuning for R - Overview
227+
- name: Performance tuning overview in R
228228
href: r/sql-server-r-services-performance-tuning.md
229-
- name: Performance tuning for R - SQL Server configuration)
229+
- name: Performance tuning server configuration
230230
href: r/sql-server-configuration-r-services.md
231-
- name: Performance tuning for R - R and data optimization
231+
- name: Performance tuning - data optimization in R
232232
href: r/r-and-data-optimization-r-services.md
233-
- name: Performance tuning for R - Results
233+
- name: Performance tuning for results in R
234234
href: r/performance-case-study-r-services.md
235235
- name: Use R code profiling functions
236236
href: r/using-r-code-profiling-functions.md
@@ -275,7 +275,7 @@
275275
- name: Reference
276276
href: r/machine-learning-services-r-reference.md
277277
items:
278-
- name: R Packages
278+
- name: R packages
279279
href: r/machine-learning-services-r-reference.md
280280
items:
281281
- name: olapR in SQL
@@ -288,7 +288,7 @@
288288
href: r/scaler-functions-for-working-with-sql-server-data.md
289289
- name: sqlrutils in SQL
290290
href: r/generating-an-r-stored-procedure-for-r-code-using-the-sqlrutils-package.md
291-
- name: Python Packages
291+
- name: Python packages
292292
items:
293293
- name: revoscalepy in SQL
294294
href: python/what-is-revoscalepy.md

docs/advanced-analytics/tutorials/r-tutorial-create-models-per-partition.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ go
141141

142142
### Parallel execution
143143

144-
Notice that the `sp_execute_external_script` inputs include `@parallel=1`, used to enable parallel processing. In contrast with previous releases, in SQL Server vNext, setting `@parallel=1` delivers a stronger hint to the query optimizer, making parallel execution a much more likely outcome.
144+
Notice that the `sp_execute_external_script` inputs include `@parallel=1`, used to enable parallel processing. In contrast with previous releases, in SQL Server 2019, setting `@parallel=1` delivers a stronger hint to the query optimizer, making parallel execution a much more likely outcome.
145145

146146
By default, the query optimizer tends to operate under `@parallel=1` on tables having more than 256 rows, but if you can handle this explicitly by setting `@parallel=1` as shown in this script.
147147

@@ -301,7 +301,7 @@ In this tutorial, you used [sp_execute_external_script](https://docs.microsoft.c
301301
302302
**(Not for production workloads)**
303303
304-
One of the more common approaches for executing R or Python code on SQL data is providing script as an input parameter to the [sp_execute_external_script](https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) stored procedure. In this CTP release, SQL Server vNext adds new parameters to `sp_execute_external_script` to process partitions with the external script executing once for every partition:
304+
One of the more common approaches for executing R or Python code on SQL data is providing script as an input parameter to the [sp_execute_external_script](https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) stored procedure. In this CTP release, SQL Server 2019 adds new parameters to `sp_execute_external_script` to process partitions with the external script executing once for every partition:
305305
306306
| Parameter | Usage |
307307
|-----------|-------|

docs/advanced-analytics/what-s-new-in-sql-server-machine-learning-services.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ monikerRange: ">=sql-server-2016||=sqlallproducts-allversions"
1717
Machine learning capabilities are added to SQL Server in each release as we continue to expand, extend, and deepen the integration between the data platform and the data science, analytics, and supervised learning you want to implement over your data.
1818

1919
::: moniker range=">=sql-server-ver15||=sqlallproducts-allversions"
20-
## New in SQL Server vNext
20+
## New in SQL Server 2019 preview
2121

2222
This release adds the top-requested features for R and Python machine learning operations in SQL Server. For more information about other features in this release, see [What's New in SQL Server 2019](../sql-server/what-s-new-in-sql-server-ver15.md) and [Release Notes for SQL Server 2019](../sql-server/sql-server-ver15-release-notes.md).
2323

2424
| Release | Date | Feature update |
2525
|---------|------|----------------|
26-
| CTP 2.0 | September 2018 | Linux platform support for SQL Server vNext Machine Learning Services (In-Database). <br/><br/>For instructions on Linux installation, see [Install SQL Server Machine Learning Services on Linux](../linux/sql-server-linux-setup-machine-learning.md). |
26+
| CTP 2.0 | September 2018 | Linux platform support for SQL Server 2019 Machine Learning Services (In-Database). <br/><br/>For instructions on Linux installation, see [Install SQL Server Machine Learning Services on Linux](../linux/sql-server-linux-setup-machine-learning.md). |
2727
| CTP 2.0 | September 2018 | Partition-based modeling. By setting new parameters on the [sp_execute_external_script](https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) system stored procedure, you can specify a column in the data set that naturally segments data into partitions (some examples are geographic regions, dates, age or gender, categories). At execution time, individual models are generated for each partition, with external script executing once for every partition. <br/><br/>Learn more in this tutorial, [Create partition-based models in R](tutorials/r-tutorial-create-models-per-partition.md). |
28-
| CTP 2.0 | September 2018 | Failover cluster support. You can install SQL Server vNext Machine Learning Services (In-Database) on a Windows failover cluster to meet your SLA requirements if your primary server fails over. Acceptance of the licensing agreements for R and Python distributions is a Setup requirement. <br/><br/> ![](install/media/sql-15-failoverclusterinstall-sqlmls-small.png)|
28+
| CTP 2.0 | September 2018 | Failover cluster support. You can install SQL Server 2019 Machine Learning Services (In-Database) on a Windows failover cluster to meet your SLA requirements if your primary server fails over. Acceptance of the licensing agreements for R and Python distributions is a Setup requirement. <br/><br/> ![](install/media/sql-15-failoverclusterinstall-sqlmls-small.png)|
2929
::: moniker-end
3030

3131
::: moniker range=">=sql-server-2017||=sqlallproducts-allversions"
@@ -92,7 +92,7 @@ For feature announcements all-up, see [What's New in SQL Server 2016](../sql-ser
9292

9393
## Linux support roadmap
9494

95-
SQL Server vNext CTP 2.0 adds Linux support for **R only** in-database analytics when you install the machine learning packages with a database engine instance. Python support is forthcoming but there is no projected date at this time. For more information, see [Install SQL Server Machine Learning Services on Linux](../linux/sql-server-linux-setup-machine-learning.md).
95+
SQL Server 2019 CTP 2.0 adds Linux support for **R only** in-database analytics when you install the machine learning packages with a database engine instance. Python support is forthcoming but there is no projected date at this time. For more information, see [Install SQL Server Machine Learning Services on Linux](../linux/sql-server-linux-setup-machine-learning.md).
9696

9797
On SQL Server 2017, there is no R or Python in-database support in SQL Server 2017 on Linux, with the exception of [native scoring](sql-native-scoring.md) using the T-SQL PREDICT function. Native scoring lets you score from a pretrained model very fast, without calling or even requiring an R runtime. This means you can use SQL Server on Linux to generate predictions very fast, to serve client applications.
9898

docs/relational-databases/security/encryption/always-encrypted-enclaves.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Always Encrypted with secure enclaves provides additional functionality to the [
2222

2323
Introduced in SQL Server 2016, Always Encrypted protects the confidentiality of sensitive data from malware and high-privileged *unauthorized* users of SQL Server. High-privileged unauthorized users are DBAs, computer admins, cloud admins, or anyone else who has legitimate access to server instances, hardware, etc., but who should not have access to some or all of the actual data.
2424

25-
Until now, Always Encrypted protected the data by encrypting it on the client side and never allowing the data or the corresponding cryptographic keys to appear in plaintext inside the SQL Server Engine. As a result, the functionality on encrypted columns inside the database was severely restricted. The only operation SQL Server could perform on encrypted data was equality comparisons (and equality comparisons were only available with deterministic encryption). All other operations, including cryptographic operations (initial data encryption or key rotation), or rich computations (for example, pattern matching) were not supported inside the database. Users needed to move the data outside of the database to perform these operations on the client-side.
25+
Until now, Always Encrypted protected the data by encrypting it on the client side and never allowing the data or the corresponding cryptographic keys to appear in plaintext inside the SQL Server Engine. As a result, the functionality on encrypted columns inside the database was severely restricted. The only operations SQL Server could perform on encrypted data were equality comparisons (and equality comparisons were only available with deterministic encryption). All other operations, including cryptographic operations (initial data encryption or key rotation), or rich computations (for example, pattern matching) were not supported inside the database. Users needed to move the data outside of the database to perform these operations on the client-side.
2626

2727
Always Encrypted *with secure enclaves* addresses these limitations by allowing computations on plaintext data inside a secure enclave on the server side. A secure enclave is a protected region of memory within the SQL Server process, and acts as a trusted execution environment for processing sensitive data inside the SQL Server engine. A secure enclave appears as a black box to the rest of the SQL Server and other processes on the hosting machine. There is no way to view any data or code inside the enclave from the outside, even with a debugger.
2828

@@ -59,7 +59,7 @@ The secure enclave inside the SQL Server Engine can access sensitive data stored
5959

6060
The process of verifying the enclave is called **enclave attestation**, and it usually involves a client driver within the application (and sometimes also SQL Server) contacting an external attestation service. The specifics of the attestation process depend on the enclave technology and the attestation service.
6161

62-
The attestation process, SQL Server supports for VBS secure enclaves in SQL Server vNext CTP is Windows Defender System Guard runtime attestation, which uses Host Guardian Service (HGS) as an attestation service. You need to configure HGS in your environment and register the machine hosting your SQL Server instance in HGS. You also must configure you client applications or tools (for example, SQL Server Management Studio) with an HGS attestation.
62+
The attestation process SQL Server supports for VBS secure enclaves in SQL Server 2019 CTP 2.0 is Windows Defender System Guard runtime attestation, which uses Host Guardian Service (HGS) as an attestation service. You need to configure HGS in your environment and register the machine hosting your SQL Server instance in HGS. You also must configure you client applications or tools (for example, SQL Server Management Studio) with an HGS attestation.
6363

6464
## Secure Enclave Providers
6565

@@ -132,7 +132,7 @@ The following limitations apply to the current Preview, but are on the roadmap t
132132

133133
- The only supported key stores for storing enclave-enabled column master keys are Windows Certificate Store and Azure Key Vault.
134134

135-
- Tooling support for Always Encrypted with secure enclaves is currently incomplete. To trigger an in-place cryptographic operation via an ALTER TABLE Transact-SQL statement, you need to issue the statement using a query window in SSMS, or you can write your own program that issues the statement. The Set-SqlColumnEncryption cmdlet in the SqlServer PowerShell module and the Always Encrypted wizard in SQL Server Management Studio do not support in-place encryption yet - both tools currently move the data out of the database for cryptographic operations, event the column encryption keys used for the operations are enclave-enabled.
135+
- Tooling support for Always Encrypted with secure enclaves is currently incomplete. To trigger an in-place cryptographic operation via an ALTER TABLE Transact-SQL statement, you need to issue the statement using a query window in SSMS, or you can write your own program that issues the statement. The Set-SqlColumnEncryption cmdlet in the SqlServer PowerShell module and the Always Encrypted wizard in SQL Server Management Studio do not support in-place encryption yet - both tools currently move the data out of the database for cryptographic operations, even if the column encryption keys used for the operations are enclave-enabled.
136136

137137
## Known issues
138138

0 commit comments

Comments
 (0)