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/concepts/extensibility-framework.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: External code support for the SQL Server database engine, with dual
4
4
ms.prod: sql
5
5
ms.technology: machine-learning
6
6
7
-
ms.date: 09/05/2018
7
+
ms.date: 10/17/2018
8
8
ms.topic: conceptual
9
9
author: HeidiSteen
10
10
ms.author: heidist
@@ -48,7 +48,7 @@ Components include a **Launchpad** service used to invoke language-specific laun
48
48
49
49
## Launchpad
50
50
51
-
The SQL Server Trusted Launchpad is a service that manages and executes external scripts, similar to the way that the full-text indexing and query service launches a separate host for processing full-text queries. The Launchpad service can start only trusted launchers that are published by Microsoft, or that have been certified by Microsoft as meeting requirements for performance and resource management.
51
+
The [!INCLUDE[rsql_launchpad_md](../../includes/rsql-launchpad-md.md)] is a service that manages and executes external scripts, similar to the way that the full-text indexing and query service launches a separate host for processing full-text queries. The Launchpad service can start only trusted launchers that are published by Microsoft, or that have been certified by Microsoft as meeting requirements for performance and resource management.
52
52
53
53
| Trusted launchers | Extension | SQL Server versions |
@@ -57,6 +57,8 @@ The SQL Server Trusted Launchpad is a service that manages and executes external
57
57
58
58
The [!INCLUDE[rsql_launchpad_md](../../includes/rsql-launchpad-md.md)] service runs under its own user account. If you change the account that runs Launchpad, be sure to do so using SQL Server Configuration Manager, to ensure that changes are written to related files.
59
59
60
+
A separate [!INCLUDE[rsql_launchpad_md](../../includes/rsql-launchpad-md.md)] service is created for each database engine instance to which you have added SQL Server Machine Learning Services. There is one Launchpad service for each database engine instance, so if you have multiple instances with external script support, you will have a Launchpad service for each one. A database engine instance is bound to the Launchpad service created for it. All invocations of external script in a stored procedure or T-SQL result in the SQL Server service calling the Launchpad service created for the same instance.
61
+
60
62
To execute tasks in a specific supported language, the Launchpad gets a secured worker account from the pool, and starts a satellite process to manage the external runtime. Each satellite process inherits the user account of the Launchpad and uses that worker account for the duration of script execution. If script uses parallel processes, they are created under the same, single worker account.
Create a database login for the [SQLRUserGroup](../concepts/security.md#sqlrusergroup) when a loopback connection in your script specifies a *trusted connection*, and the identity used to execute whatever object contains your code is a Windows account.
16
+
Create a database login for [SQLRUserGroup](../concepts/security.md#sqlrusergroup) when a [loop back connection](../../advanced-analytics/concepts/security.md#implied-authentication) in your script specifies a *trusted connection*, and the identity used to execute an object contains your code is a Windows user account.
17
17
18
-
Trusted connections are those having `Trusted_Connection=True` in the connection string. When SQL Server receives a request specifying a trusted connection, it checks whether the identity of the current user has a login. For external satellite processes executing as a worker account (such as MSSQLSERVER01 from **SQLRUserGroup**), the request fails because those accounts do not have a login by default.
18
+
Trusted connections are those having `Trusted_Connection=True` in the connection string. When SQL Server receives a request specifying a trusted connection, it checks whether the identity of the current Windows user has a login. For external processes executing as a worker account (such as MSSQLSERVER01 from **SQLRUserGroup**), the request fails because those accounts do not have a login by default.
19
19
20
-
You can work around the connection error by giving **SQLServerRUserGroup** a database login on your server. For more information about identities and external processes, see [Security overview for the extensibility framework](../concepts/security.md).
20
+
You can work around the connection error by giving **SQLServerRUserGroup** a SQL Server login. For more information about identities and external processes, see [Security overview for the extensibility framework](../concepts/security.md).
21
21
22
22
> [!Note]
23
23
> Make sure that **SQLRUserGroup** has "Allow Log on locally" permissions. By default, this right is given to all new local users, but in some organizations stricter group policies might disable this right.
@@ -45,9 +45,9 @@ You can work around the connection error by giving **SQLServerRUserGroup** a dat
45
45
5. Scroll through the list of group accounts on the server until you find one beginning with `SQLRUserGroup`.
46
46
47
47
+ The name of the group that's associated with the Launchpad service for the _default instance_ is always **SQLRUserGroup**, regardless of whether you installed R or Python or both. Select this account for the default instance only.
48
-
+ If you are using a _named instance_, the instance name is appended to the name of the default worker group name, `SQLRUserGroup`. Hence, if your instance is named "MLTEST", the default user group name for this instance would be **SQLRUserGroupMLTest**.
48
+
+ If you are using a _named instance_, the instance name is appended to the name of the default worker group name, `SQLRUserGroup`. For example, if your instance is named "MLTEST", the default user group name for this instance would be **SQLRUserGroupMLTest**.
49
49
50
-

50
+

51
51
52
52
5. Click **OK** to close the advanced search dialog box.
53
53
@@ -58,7 +58,7 @@ You can work around the connection error by giving **SQLServerRUserGroup** a dat
58
58
59
59
7. In the **Login - New** dialog box, click **OK**. By default, the login is assigned to the **public** role and has permission to connect to the database engine.
Copy file name to clipboardExpand all lines: docs/advanced-analytics/security/firewall-configuration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: How to configure the firewall for SQL Server Machine Learning Servi
4
4
ms.prod: sql
5
5
ms.technology: machine-learning
6
6
7
-
ms.date: 10/01/2018
7
+
ms.date: 10/17/2018
8
8
ms.topic: conceptual
9
9
author: dphansen
10
10
ms.author: davidph
@@ -17,9 +17,9 @@ This article lists firewall configuration considerations that the administrator
17
17
18
18
## Default firewall rules
19
19
20
-
By default, the SQL Server Setup disables outbound connections by creating firewall rules.
20
+
By default, the SQL Server Setup disables outbound connections by creating firewall rules.
21
21
22
-
In SQL Server 2016 and 2017, these rules are based on local user accounts, where Setup created one outbound rule for **SQLRUserGroup** that denied network access to its members (each worker account was listed as a local principle subject to the rule.
22
+
In SQL Server 2016 and 2017, these rules are based on local user accounts, where Setup created one outbound rule for **SQLRUserGroup** that denied network access to its members (each worker account was listed as a local principle subject to the rule. For more information about SQLRUserGroup, see [Security overview for the extensibility framework in SQL Server Machine Learning Services](../../advanced-analytics/concepts/security.md#sqlrusergroup).
23
23
24
24
In SQL Server 2019, as part of the move to AppContainers, there are new firewall rules based on AppContainer SIDs: one for each of the 20 AppContainers created by SQL Server Setup. Naming conventions for the firewall rule name are **Block network access for AppContainer-00 in SQL Server instance MSSQLSERVER**, where 00 is the number of the AppContainer (00-20 by default), and MSSQLSERVER is the name of the SQL Server instance.
title: SQL Server Trusted Launchpad service account configuration | Microsoft Docs
3
-
description: How to modify the SQL Server Trusted Launchpad service account used for external script execution on SQL Server.
2
+
title: SQL Server Launchpad service account configuration | Microsoft Docs
3
+
description: How to modify the SQL Server Launchpad service account used for external script execution on SQL Server.
4
4
ms.prod: sql
5
5
ms.technology: machine-learning
6
6
7
-
ms.date: 09/27/2018
7
+
ms.date: 10/17/2018
8
8
ms.topic: conceptual
9
9
author: dphansen
10
10
ms.author: davidph
@@ -15,15 +15,13 @@ manager: cgronlun
15
15
16
16
The [!INCLUDE[rsql_launchpad_md](../../includes/rsql-launchpad-md.md)] is a service that manages and executes external scripts, similar to the way that the full-text indexing and query service launches a separate host for processing full-text queries.
17
17
18
-
A separate [!INCLUDE[rsql_launchpad_md](../../includes/rsql-launchpad-md.md)] service is created for each database engine instance to which you have added SQL Server machine learning (R or Python) integration. There is one Launchpad service for each database engine instance, so if you have multiple instances with R or Python support, you will have a Launchpad service for each one. A database engine instance is bound to the Launchpad service created for it. All invocations of external script in a stored procedure or T-SQL result in the SQL Server service calling the Launchpad service created for the same instance.
19
-
20
18
For more information, see the Launchpad sections in [Extensibility architecture in SQL Server Machine Learning Services](../../advanced-analytics/concepts/extensibility-framework.md#launchpad) and [Security overview for the extensibility framework in SQL Server Machine Learning Services](../../advanced-analytics/concepts/security.md#launchpad).
21
19
22
20
## Account permissions
23
21
24
-
By default, SQL Server Launchpad is configured to run under **NT Service\MSSQLLaunchpad**, which is provisioned with all necessary permissions to run external scripts. Stripping permissions from this account can result in Launchpad failing to start or to access the SQL Server instance where external scripts should be run.
22
+
By default, SQL Server Launchpad is configured to run under **NT Service\MSSQLLaunchpad**, which is provisioned with all necessary permissions to run external scripts. Removing permissions from this account can result in Launchpad failing to start or to access the SQL Server instance where external scripts should be run.
25
23
26
-
If you modify the service account, be sure to use the **Local Security Policy** application (**All apps** > **Windows Administrative Tools** > **Local Security Policy**).
24
+
If you modify the service account, be sure to use the [Local Security Policy console](https://docs.microsoft.com/windows/security/threat-protection/security-policy-settings/how-to-configure-security-policy-settings).
27
25
28
26
Permissions required for this account are listed in the following table.
29
27
@@ -42,46 +40,39 @@ For more information about permissions required to run SQL Server services, see
42
40
43
41
Typically, there is no reason to modify service configuration. Properties that could be changed include the service account, the count of external processes (20 by default), or the password reset policy for worker accounts.
44
42
45
-
1. Open [SQL Server Configuration Manager](../../relational-databases/sql-server-configuration-manager.md).
46
-
47
-
+ On the Start page, type **MMC** to open the Microsoft Management Console.
48
-
49
-
+ On **File** > **Add/Remove Snap-in**, move **SQL Server Configuration Manager** from Available to Selected Snap-ins.
50
-
51
-
2. In SQL Server Configuration Manager under SQL Server Services, right-click SQL Server Launchpad and select **Properties**.
43
+
1. Open [SQL Server Configuration Manager](../../relational-databases/sql-server-configuration-manager.md).
52
44
45
+
2. Under SQL Server Services, right-click SQL Server Launchpad and select **Properties**.
53
46
+ To change the service account, click the **Log On** tab.
54
-
55
-
+ To increase the number of users, click the **Advanced** tab.
47
+
+ To increase the number of users, click the **Advanced** tab and change the **Security Contexts Count**.
56
48
57
49
> [!Note]
58
50
> In early versions of SQL Server 2016 R Services, you could change some properties of the service by editing the [!INCLUDE[rsql_productname](../../includes/rsql-productname-md.md)] configuration file. This file is no longer used for changing configurations. SQL Server Configuration Manager is the right approach for changes to service configuration, such as the service account and number of users.
59
51
60
52
## Debug settings
61
53
62
-
A few properties can only be changed by using the Launchpad's configuration file, which might be useful in limited cases, such as debugging. The configuration file is created during [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] setup and by default is saved as a plain text file in the following location: `<instance path>\binn\rlauncher.config`
54
+
A few properties can only be changed by using the Launchpad's configuration file, which might be useful in limited cases, such as debugging. The configuration file is created during the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] setup and by default is saved as a plain text file in `<instance path>\binn\rlauncher.config`.
63
55
64
56
You must be an administrator on the computer that is running [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] to make changes to this file. If you edit the file, we recommend that you make a backup copy before saving changes.
65
57
66
-
The following table lists the advanced settings for [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], with the permissible values.
58
+
The following table lists the advanced settings for [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], with the permissible values.
67
59
68
60
|**Setting name**|**Type**|**Description**|
69
61
|----|----|----|
70
62
|JOB\_CLEANUP\_ON\_EXIT|Integer |This is an internal setting only – do not change this value. </br></br>Specifies whether the temporary working folder created for each external runtime session should be cleaned up after the session is completed. This setting is useful for debugging. </br></br>Supported values are **0** (Disabled) or **1** (Enabled). </br></br>The default is 1, meaning log files are removed on exit.|
71
-
|TRACE\_LEVEL|Integer |Configures the trace verbosity level of MSSQLLAUNCHPAD for debugging purposes. This affects trace files in the path specified by the LOG_DIRECTORY setting. </br></br>Supported values are: **1** (Error), **2** (Performance), **3** (Warning), **4** (Information). </br></br>The default is 1, meaning output warnings only.|
63
+
|TRACE\_LEVEL|Integer |Configures the trace verbosity level of MSSQLLAUNCHPAD for debugging purposes. This affects trace files in the path specified by the LOG_DIRECTORY setting. </br></br>Supported values are: **1** (Error), **2** (Performance), **3** (Warning), **4** (Information). </br></br>The default is 1, meaning output errors only.|
72
64
73
65
All settings take the form of a key-value pair, with each setting on a separate line. For example, to change the trace level, you would add the line `Default: TRACE_LEVEL=4`.
74
66
75
67
## Enforcing password policy
76
68
77
69
If your organization has a policy that requires changing passwords on a regular basis, you may need to force the Launchpad service to regenerate the encrypted passwords that Launchpad maintains for its worker accounts.
78
70
79
-
To enable this setting and force password refresh, open the **Properties** pane for the Launchpad service in SQL Server Configuration Manager, click **Advanced**, and change **Reset External Users Password** to **Yes**. When you apply this change, the passwords will immediately be regenerated for all user accounts. To use R script after this change, you must restart the Launchpad service, at which time it will read the newly generated passwords.
71
+
To enable this setting and force password refresh, open the **Properties** pane for the Launchpad service in SQL Server Configuration Manager, click **Advanced**, and change **Reset External Users Password** to **Yes**. When you apply this change, the passwords will immediately be regenerated for all user accounts. To run an external script after this change, you must restart the Launchpad service, at which time it will read the newly generated passwords.
80
72
81
73
To reset passwords at regular intervals, you can either set this flag manually or use a script.
0 commit comments