Skip to content

Commit ec450a6

Browse files
Merging changes synced from https://github.com/MicrosoftDocs/sql-docs-pr (branch live)
2 parents e49c55f + dd279b2 commit ec450a6

File tree

66 files changed

+1801
-2124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1801
-2124
lines changed

.openpublishing.redirection.json

Lines changed: 51 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,6 +1490,26 @@
14901490
"redirect_url": "/sql/analysis-services/analysis-services",
14911491
"redirect_document_id": false
14921492
},
1493+
{
1494+
"source_path": "docs/analysis-services/deprecated-analysis-services-features-in-sql-server-2016.md",
1495+
"redirect_url": "/sql/analysis-services/analysis-services-backward-compatibility",
1496+
"redirect_document_id": false
1497+
},
1498+
{
1499+
"source_path": "docs/analysis-services/discontinued-analysis-services-functionality-in-sql-server-2016.md",
1500+
"redirect_url": "/sql/analysis-services/analysis-services-backward-compatibility",
1501+
"redirect_document_id": false
1502+
},
1503+
{
1504+
"source_path": "docs/analysis-services/breaking-changes-to-analysis-services-features-in-sql-server-2016.md",
1505+
"redirect_url": "/sql/analysis-services/analysis-services-backward-compatibility",
1506+
"redirect_document_id": false
1507+
},
1508+
{
1509+
"source_path": "docs/analysis-services/behavior-changes-to-analysis-services-features-in-sql-server-2016.md",
1510+
"redirect_url": "/sql/analysis-services/analysis-services-backward-compatibility",
1511+
"redirect_document_id": false
1512+
},
14931513
{
14941514
"source_path": "docs/analysis-services/troubleshoot-a-power-pivot-for-sharepoint-installation.md",
14951515
"redirect_url": "/sql/analysis-services/analysis-services",
@@ -1775,11 +1795,6 @@
17751795
"redirect_url": "/sql/tools/configuration-manager/sql-server-browser-service",
17761796
"redirect_document_id": false
17771797
},
1778-
{
1779-
"source_path": "docs/ssms/f1-help/connect-to-microsoft-azure-storage.md",
1780-
"redirect_url": "/azure/storage/storage-create-storage-account",
1781-
"redirect_document_id": false
1782-
},
17831798
{
17841799
"source_path": "docs/ssms/f1-help/connect-to-server-additional-connection-parameters-page.md",
17851800
"redirect_url": "/sql/relational-databases/native-client/applications/using-connection-string-keywords-with-sql-server-native-client",
@@ -1861,34 +1876,59 @@
18611876
"redirect_document_id":false
18621877
},
18631878
{
1864-
"source_path": "docs/sql/relational-databases/system-dynamic-management-views/linux-process-dynamic-management-views-transact-sql.md",
1879+
"source_path": "docs/relational-databases/system-dynamic-management-views/linux-process-dynamic-management-views-transact-sql.md",
18651880
"redirect_url": "/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views",
18661881
"redirect_document_id": false
18671882
},
18681883
{
1869-
"source_path": "docs/sql/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-all-stat-transact-sql.md",
1884+
"source_path": "docs/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-all-stat-transact-sql.md",
18701885
"redirect_url": "/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views",
18711886
"redirect_document_id": false
18721887
},
18731888
{
1874-
"source_path": "docs/sql/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-cpuinfo-transact-sql.md",
1889+
"source_path": "docs/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-cpuinfo-transact-sql.md",
18751890
"redirect_url": "/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views",
18761891
"redirect_document_id": false
18771892
},
18781893
{
1879-
"source_path": "docs/sql/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-meminfo-transact-sql.md",
1894+
"source_path": "docs/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-meminfo-transact-sql.md",
18801895
"redirect_url": "/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views",
18811896
"redirect_document_id": false
18821897
},
18831898
{
1884-
"source_path": "docs/sql/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-sql-maps-transact-sql.md",
1899+
"source_path": "docs/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-sql-maps-transact-sql.md",
18851900
"redirect_url": "/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views",
18861901
"redirect_document_id": false
18871902
},
18881903
{
1889-
"source_path": "docs/sql/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-sql-threads-transact-sql.md",
1904+
"source_path": "docs/relational-databases/system-dynamic-management-views/sys-dm-linux-proc-sql-threads-transact-sql.md",
18901905
"redirect_url": "/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views",
18911906
"redirect_document_id": false
1907+
},
1908+
{
1909+
"source_path": "docs/sql-hub-menu.md",
1910+
"redirect_url": "/sql/index",
1911+
"redirect_document_id": false
1912+
},
1913+
{
1914+
"source_path": "docs/microsoft-sql-documentation-table-of-contents.md",
1915+
"redirect_url": "/sql/index",
1916+
"redirect_document_id": false
1917+
},
1918+
{
1919+
"source_path": "docs/tools/sql-server-profiler/correlate-a-trace-with-windows-performance-log-data-sql-server-profiler.md",
1920+
"redirect_url": "/sql/tools/sql-server-profiler/correlate-a-trace-with-windows-performance-log-data",
1921+
"redirect_document_id": false
1922+
},
1923+
{
1924+
"source_path": "docs/tools/sql-server-profiler/modify-a-trace-template-sql-server-profiler.md",
1925+
"redirect_url": "/sql/tools/sql-server-profiler/modify-trace-templates",
1926+
"redirect_document_id": false
1927+
},
1928+
{
1929+
"source_path": "docs/whitepapers/microsoft-white-papers.md",
1930+
"redirect_url": "/sql/index",
1931+
"redirect_document_id": false
18921932
}
18931933
]
18941934
}

docs/TOC.md

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Architecture | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "04/18/2017"
4+
ms.date: "07/11/2017"
55
ms.prod: "sql-server-2016"
66
ms.reviewer: ""
77
ms.suite: ""
@@ -13,21 +13,20 @@ author: "jeannt"
1313
ms.author: "jeannt"
1414
manager: "jhubbard"
1515
---
16-
17-
# Architecture Overview - Machine Learning Services with Python
16+
# Architecture overview for Machine Learning Services with Python
1817

1918
This topic provides an overview of how Python is integrated with SQL Server, including the security model, the components in the database engine that support external script execution, and new components that enable interoperability of Python with SQL Server. For details see the linked topics.
2019

2120
> [!IMPORTANT]
22-
> Support for Python is available beginning with SQL Server 2017. This is a pre-release feature and subject to change.
21+
> Support for Python is available beginning with SQL Server 2017 CTP 2.0. This is a pre-release feature and subject to change.
2322
24-
## Python Interoperability
23+
## Python interoperability
2524

26-
SQL Server Machine Learning Services (In-Database) installs the Anaconda distribution of Python, and the Python 3.5 runtime and interpreter. This ensure near-complete compatibility with standard Python solutions. Python runs in a separate process from SQL Server, to ensure that database operations are not compromised.
25+
SQL Server Machine Learning Services (In-Database) installs the Anaconda distribution of Python, and the Python 3.5 runtime and interpreter. This ensures near-complete compatibility with standard Python solutions. Python runs in a separate process from SQL Server, to guarantee that database operations are not compromised.
2726

28-
For more information about the interaction of SQL Server with Python, see [Python Interoperability](/python-interoperability.md)
27+
For more information about the interaction of SQL Server with Python, see [Python interoperability](/python-interoperability.md)
2928

30-
## New Components that Support Python Integration
29+
## Components that support Python integration
3130

3231
The extensibility framework introduced in SQL Server 2016 now supports execution of Python script, through the addition of new language-specific components. These components improve data exchange speed and compression, while providing a secure, high-performance platform for running external scripts.
3332

@@ -41,12 +40,12 @@ All tasks are secured by Windows job objects or SQL Server security. Data is kep
4140

4241
For details, see [Security for Python](../../advanced-analytics/python/security-overview-sql-server-python-services.md)
4342

44-
## Resource Governance
43+
## Resource governance
4544

4645
In SQL Server Enterprise Edition, you can use Resource Governor to manage and monitor resource use of external script operations, including R script and Python scripts.
4746

4847
For more information, see [Resource Governance for R](../../advanced-analytics/r/resource-governance-for-r-services.md).
4948

50-
## See Also
49+
## Next steps
5150

52-
[Run Python using T-SQl](../tutorials/run-python-using-t-sql.md)
51+
[Run Python using T-SQL](../tutorials/run-python-using-t-sql.md)
21.8 KB
Loading

docs/advanced-analytics/python/new-components-in-sql-server-to-support-python-integration.md

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "New Components for Python Integration | Microsoft Docs"
2+
title: "Components for Python integration with SQL Server | Microsoft Docs"
33
ms.custom: ""
44
ms.date: "03/30/2017"
55
ms.prod: "sql-server-2016"
@@ -13,13 +13,13 @@ author: "jeannt"
1313
ms.author: "jeannt"
1414
manager: "jhubbard"
1515
---
16-
# New components in SQL Server to Support Python Integration
16+
# Components in SQL Server to support Python integration
1717

18-
Beginning in SQL Server 2017, Machine Learning Services supports Python as an external language that can be executed from T-SQL, or executed remotely using SQL Server as the compute context.
18+
Beginning in SQL Server 2017, Machine Learning Services supports Python as an external language that can be executed from T-SQL, or executed remotely using SQL Server as the compute context.
1919

2020
This topic describes the components in SQL Server 2017 that support extensibility in general and the Python language specifically.
2121

22-
## SQL Server Components and Providers
22+
## SQL Server components and providers
2323

2424
To configure SQL Server 2017 to allow Python script execution is a multi-step process.
2525

@@ -29,29 +29,34 @@ To configure SQL Server 2017 to allow Python script execution is a multi-step pr
2929

3030
Additional steps might be required to support remote script execution.
3131

32-
For more information, see [Set up Machine LEarnign Services](setup-python-machine-learning-services.md)
32+
For more information, see [Set up Machine Learning Services](setup-python-machine-learning-services.md)
3333

34-
### **Launchpad**
34+
### Launchpad
3535

3636
The SQL Server Trusted Launchpad is a service introduced in SQL Server 2016 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.
3737

38-
The Launchpad service will start only trusted launchers that are published by Microsoft, or that have been certified by Microsoft as meeting requirements for performance and resource management.
38+
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.
39+
3940
+ SQL Server 2016 supports R
4041
+ SQL Server 2017 supports R and Python 3.5
4142

4243
The [!INCLUDE[rsql_launchpad_md](../../includes/rsql-launchpad-md.md)] service runs under its own user account.
4344

45+
> [!TIP]
46+
> 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.
47+
4448
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:
49+
4550
+ RLauncher.dll for the R language
4651
+ Pythonlauncher.dll for Python 3.5
4752

4853
Each satellite process inherits the user account of the Launchpad and uses that worker account for the duration of script execution. If the Python script uses parallel processes, they are created under the same, single worker account.
4954

5055
For more information about the security context of the Launchpad, see [Security](security-overview-sql-server-python-services.md).
5156

52-
### **BxlServer and SQL Satellite**
57+
### BxlServer and SQL Satellite
5358

54-
If you run Process Explorer while a Python job is running, you might see one or multiple instances of BxlServer.
59+
If you run [Process Explorer](https://technet.microsoft.com/sysinternals/processexplorer.aspx) while a Python job is running, you might see one or multiple instances of BxlServer.
5560

5661
**BxlServer** is an executable provided by Microsoft that manages communication between [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] and Python (or R). It creates the Windows job objects that are used to contain external script sessions, provisions secure working folders for each external script job, and uses SQL Satellite to manage data transfer between the external runtime and [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)].
5762

@@ -72,28 +77,29 @@ SQL Satellite uses a custom data format that is optimized for fast data transfer
7277

7378
The SQL Satellite can be monitored by using windows extended events (xEvents). For more information, see [Extended Events for R](../../advanced-analytics/r/extended-events-for-sql-server-r-services.md).
7479

75-
76-
## Communication Channels Between Components
80+
## Communication channels between components
7781

7882
+ **TCP/IP**
83+
7984
By default, internal communications between [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] and the SQL Satellite use TCP/IP.
8085

8186
+ **Named Pipes**
8287

8388
Internal data transport between the BxlServer and [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] through SQL Satellite uses a proprietary, compressed data format to enhance performance. Data is exchanged between Python and BxlServer in BXL format, using Named Pipes.
8489

8590
+ **ODBC**
91+
8692
Communications between external data science clients and the [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] instance use ODBC. The account that sends the script jobs to [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] must have both permissions to connect to the instance and to run external scripts.
8793

8894
Additionally, depending on the task, the account might need these permissions:
95+
8996
+ Read data used by the job
9097
+ Write data to tables: for example, when saving results to a table
9198
+ Create database objects: for example, if saving external script as part of a new stored procedure.
9299

93100
When [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] is used as the compute context for Python script executed from a remote client, and the Python executable must retrieve data from an external source, ODBC is used for writeback. [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] will map the identity of the user issuing the remote command to the identity of the user on the current instance, and run the ODBC command using that user's credentials. The connection string needed to perform this ODBC call is obtained from the client code.
94101

95-
96-
## Interaction of Components
102+
## Interaction of components
97103

98104
The following diagrams depict the interaction of SQL Server components with the Python runtime in each of the supported scenarios: running script in-database, and remote execution from a Python terminal, using a SQL Server compute context.
99105

@@ -111,27 +117,29 @@ After the script has been embedded in the stored procedure, any application that
111117
4. BxlServer coordinates with the Python runtime to manage exchanges of data, and storage of working results.
112118
5. SQL Satellite manages communications about related tasks and processes with [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)].
113119
6. BxlServer uses SQL Satellite to communicate status and results to [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)].
114-
7. [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] gets results and closes related tasks and processes.
115-
120+
7. [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] gets results and closes related tasks and processes.
116121

117122
### Python scripts executed from a remote client
118123

119124
You can run Python scripts from a remote computer, such as a laptop, and have them execute in the context of the SQl Server computer, if these conditions are met:
125+
120126
+ You design the scripts appropriately
121-
+ The remote computer has installed the extensibility libraries that are used by Machine Learning Services.
127+
+ The remote computer has installed the extensibility libraries that are used by Machine Learning Services
122128

123129
The following diagram summarizes the overall workflow when scripts are sent from a remote computer.
124130

125-
![remote-sqlcc-from-python](../../advanced-analytics/python/media/remote-sqlcc-from-python.png)
131+
![remote-sqlcc-from-python](../../advanced-analytics/python/media/remote-sqlcc-from-python2.png)
126132

127-
1. For function that are supported in RevoScalePy functions, the Python runtime calls a linking function, which in turn calls BxlServer.
128-
2. BxlServer is included with machine Learning Services (In-Database) and runs in a separate process from the Python runtime.
133+
1. For functions that are supported in **revoscalepy**, the Python runtime calls a linking function, which in turn calls BxlServer.
134+
2. BxlServer is included with Machine Learning Services (In-Database) and runs in a separate process from the Python runtime.
129135
3. BxlServer determines the connection target and initiates a connection using ODBC, passing credentials supplied as part of the connection string in the Python script.
130136
4. BxlServer opens a connection to the [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] instance.
131-
5. When an external script runtime is called, the Launchpad service is invoked, which is turn starts the appropriate launcher: in this case, PythonLauncher.dll. Thereafter, processing of Python code is handled in a workflow similar to that when Python code is invoked from a stored procedure in T-SQL.
137+
5. When an external script runtime is called, the Launchpad service is invoked, which in turn starts the appropriate launcher: in this case, PythonLauncher.dll. Thereafter, processing of Python code is handled in a workflow similar to that when Python code is invoked from a stored procedure in T-SQL.
132138
6. PythonLauncher makes a call to the instance of the Python that is installed on the [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] computer.
133139
7. Results are returned to BxlServer.
134140
8. SQL Satellite manages communication with [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] and cleanup of related job objects.
135141
9. [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)] passes results back to the client.
136142

143+
## Next steps
137144

145+
[Architecture overview for Python in SQL Server](architecture-overview-sql-server-python.md)

0 commit comments

Comments
 (0)