Skip to content

Commit a5e158b

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/sql-docs-pr into offlinedocs
2 parents 6d675f1 + 9283d26 commit a5e158b

33 files changed

Lines changed: 208 additions & 95 deletions

File tree

.openpublishing.redirection.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3617,7 +3617,7 @@
36173617
},
36183618
{
36193619
"source_path": "docs/relational-databases/policy-based-management/lesson-2-2-subscribe-to-and-check-the-finance-name-policy.md",
3620-
"redirect_url": "/sql/relational-databases/policy-based-management/lesson-2-2-subscribe-to-and-check-the-finance-name-policy",
3620+
"redirect_url": "/sql/relational-databases/policy-based-management/lesson-2-create-and-apply-a-naming-standards-policy",
36213621
"redirect_document_id": false
36223622
},
36233623
{

docs/2014/database-engine/configure-windows/configure-windows-service-accounts-and-permissions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ manager: craigg
213213
214214
- <a name="GMSA"></a> **Group Managed Service Accounts**
215215

216-
A Group Managed Service Account is an MSA for multiple servers. Windows manages a service account for services running on a group of servers. Active Directory automatically updates the group managed service account password without restarting services. You can configure SQL Server services to use a group managed service account principal. Beginning with SQL Server 2014, SQL Server supports group managed service accounts on Windows Server 2012 R2 and later for standalone instances, failover cluster instances, and availability groups.
216+
A Group Managed Service Account is an MSA for multiple servers. Windows manages a service account for services running on a group of servers. Active Directory automatically updates the group managed service account password without restarting services. You can configure SQL Server services to use a group managed service account principal.Beginning with SQL Server 2014, SQL Server supports group managed service accounts for standalone instances.
217217

218218
To use a group managed service account for SQL Server 2014 or later, the operating system must be Windows Server 2012 R2 or later. Servers with Windows Server 2012 R2 require [KB 2998082](https://support.microsoft.com/kb/2998082) applied so that the services can log in without disruption immediately after a password change.
219219

docs/big-data-cluster/deploy-with-kubeadm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ After running the previous commands on each machine, choose one of the machines
8484

8585
```bash
8686
cat <<EOF > rbac.yaml
87-
apiVersion: rbac.authorization.k8s.io/v1beta1
87+
apiVersion: rbac.authorization.k8s.io/v1
8888
kind: ClusterRoleBinding
8989
metadata:
9090
name: default-rbac

docs/connect/odbc/linux-mac/connection-string-keywords-and-data-source-names-dsns.md

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Connecting using ODBC"
33
description: "Learn how to create a connection to a database from Linux or macOS using the Microsoft ODBC Driver for SQL Server."
44
ms.custom: ""
5-
ms.date: "01/19/2017"
5+
ms.date: "05/11/2020"
66
ms.prod: sql
77
ms.prod_service: connectivity
88
ms.reviewer: ""
@@ -16,7 +16,9 @@ ms.assetid: f95cdbce-e7c2-4e56-a9f7-8fa3a920a125
1616
author: David-Engel
1717
ms.author: v-daenge
1818
---
19+
1920
# Connecting to SQL Server
21+
2022
[!INCLUDE[Driver_ODBC_Download](../../../includes/driver_odbc_download.md)]
2123

2224
This topic discusses how you can create a connection to a [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)] database.
@@ -30,34 +32,40 @@ See [DSN and Connection String Keywords and Attributes](../dsn-connection-string
3032
3133
The value passed to the **Driver** keyword can be one of the following:
3234

33-
- The name you used when you installed the driver.
35+
- The name you used when you installed the driver.
3436

35-
- The path to the driver library, which was specified in the template .ini file used to install the driver.
37+
- The path to the driver library, which was specified in the template .ini file used to install the driver.
3638

37-
To create a DSN, create (if necessary) and edit the file **~/.odbc.ini** (`.odbc.ini` in your home directory) for a User DSN only accessible to the current user, or `/etc/odbc.ini` for a System DSN (administrative privileges required.) The following is a sample file that shows the minimal required entries for a DSN:
39+
DSNs are optional. You can use a DSN to define connection string keywords under a `DSN` name that you can then reference in the connection string. To create a DSN, create (if necessary) and edit the file **~/.odbc.ini** (`.odbc.ini` in your home directory) for a User DSN only accessible to the current user, or `/etc/odbc.ini` for a System DSN (administrative privileges required.) The following is a sample file that shows the minimal required entries for a DSN:
3840

39-
```
41+
```ini
42+
# [DSN name]
4043
[MSSQLTest]
41-
Driver = ODBC Driver 13 for SQL Server
42-
Server = [protocol:]server[,port]
43-
#
44+
Driver = ODBC Driver 17 for SQL Server
45+
# Server = [protocol:]server[,port]
46+
Server = tcp:localhost,1433
47+
#
4448
# Note:
4549
# Port is not a valid keyword in the odbc.ini file
4650
# for the Microsoft ODBC driver on Linux or macOS
4751
#
4852
```
4953

54+
To connect using the above DSN in a connection string, you would specify the `DSN` keyword like: `DSN=MSSQLTest;UID=my_username;PWD=my_password`
55+
The above connection string would be the equivalent of specifying a connection string without the `DSN` keyword like: `Driver=ODBC Driver 17 for SQL Server;Server=tcp:localhost,1433;UID=my_username;PWD=my_password`
56+
5057
You can optionally specify the protocol and port to connect to the server. For example, **Server=tcp:**_servername_**,12345**. Note that the only protocol supported by the Linux and macOS drivers is `tcp`.
5158

5259
To connect to a named instance on a static port, use <b>Server=</b>*servername*,**port_number**. Connecting to a dynamic port is not supported before version 17.4.
5360

5461
Alternatively, you can add the DSN information to a template file, and execute the following command to add it to `~/.odbc.ini` :
5562
- **odbcinst -i -s -f** _template_file_
56-
63+
5764
You can verify that your driver is working by using `isql` to test the connection, or you can use this command:
5865
- **bcp master.INFORMATION_SCHEMA.TABLES out OutFile.dat -S <server> -U <name> -P <password>**
5966

6067
## Using TLS/SSL
68+
6169
You can use Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), to encrypt connections to [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)]. TLS protects [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)] user names and passwords over the network. TLS also verifies the identity of the server to protect against man-in-the-middle (MITM) attacks.
6270

6371
Enabling encryption increases security at the expense of performance.
@@ -73,7 +81,7 @@ Regardless of the settings for **Encrypt** and **TrustServerCertificate**, the s
7381

7482
By default, encrypted connections always verify the server's certificate. However, if you connect to a server that has a self-signed certificate, also add the `TrustServerCertificate` option to bypass checking the certificate against the list of trusted certificate authorities:
7583

76-
```
84+
```
7785
Driver={ODBC Driver 13 for SQL Server};Server=ServerNameHere;Encrypt=YES;TrustServerCertificate=YES
7886
```
7987

docs/machine-learning/package-management/install-additional-r-packages-on-sql-server.md

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to use sqlmlutils to install new R packages to an instanc
44
ms.prod: sql
55
ms.technology: machine-learning
66

7-
ms.date: 11/20/2019
7+
ms.date: 05/11/2020
88
ms.topic: conceptual
99
author: garyericson
1010
ms.author: garye
@@ -47,54 +47,59 @@ The **sqlmlutils** package depends on the **RODBCext** package, and **RODBCext**
4747

4848
If the client computer has Internet access, you can download and install **sqlmlutils** and its dependent packages online.
4949

50-
1. Download the latest **sqlmlutils** zip file from https://github.com/Microsoft/sqlmlutils/tree/master/R/dist to the client computer. Don't unzip the file.
50+
1. Download the latest **sqlmlutils** file (`.zip` for Windows, `.tar.gz` for Linux) from https://github.com/Microsoft/sqlmlutils/tree/master/R/dist to the client computer. Don't expand the file.
5151

52-
1. Open a **Command Prompt** and run the following commands to install the packages **sqlmlutils** and **RODBCext**. Substitute the full path to the **sqlmlutils** zip file you downloaded (this example assumes the file is in your Documents folder). The **RODBCext** package is found online and installed.
52+
1. Open a **Command Prompt** and run the following commands to install the packages **RODBCext** and **sqlmlutils**. Substitute the path to the **sqlmlutils** file you downloaded. The **RODBCext** package is found online and installed.
5353

54+
::: moniker range=">=sql-server-ver15||=sqlallproducts-allversions"
5455
```console
55-
R -e "install.packages('RODBCext', repos='https://cran.microsoft.com')"
56-
R CMD INSTALL %UserProfile%\Documents\sqlmlutils_0.7.1.zip
56+
R -e "install.packages('RODBCext', repos='https://mran.microsoft.com/snapshot/2019-02-01/')"
57+
R CMD INSTALL sqlmlutils_0.7.1.zip
5758
```
59+
::: moniker-end
60+
61+
::: moniker range=">=sql-server-linux-ver15||=sqlallproducts-allversions"
62+
```console
63+
R -e "install.packages('RODBCext', repos='https://mran.microsoft.com/snapshot/2019-02-01/')"
64+
R CMD INSTALL sqlmlutils_0.7.1.tar.gz
65+
```
66+
::: moniker-end
5867

5968
### Install sqlmlutils offline
6069

61-
If the client computer doesn't have an Internet connection, you need to download the packages **sqlmlutils** and **RODBCext** in advance using a computer that does have Internet access. You then can copy the files to a folder on the client computer and install the packages offline.
70+
If the client computer doesn't have an Internet connection, you need to download the packages **RODBCext** and **sqlmlutils** in advance using a computer that does have Internet access. You then can copy the files to a folder on the client computer and install the packages offline.
6271

6372
The **RODBCext** package has a number of dependent packages, and identifying all dependencies for a package gets complicated. We recommend that you use [**miniCRAN**](https://andrie.github.io/miniCRAN/) to create a local repository folder for the package that includes all the dependent packages.
6473
For more information, see [Create a local R package repository using miniCRAN](create-a-local-package-repository-using-minicran.md).
6574

66-
The **sqlmlutils** package consists of a single zip file that you can copy to the client computer and install.
75+
The **sqlmlutils** package consists of a single file that you can copy to the client computer and install.
6776

6877
On a computer with Internet access:
6978

7079
1. Install **miniCRAN**. See [Install miniCRAN](create-a-local-package-repository-using-minicran.md#install-minicran) for details.
7180

72-
1. In RStudio, run the following R script to create a local repository of the package **RODBCext**. This example creates the repository in the folder `c:\downloads\rodbcext`.
73-
74-
::: moniker range=">=sql-server-2016||=sqlallproducts-allversions"
81+
1. In RStudio, run the following R script to create a local repository of the package **RODBCext**. This example assumes the repository will be created in the folder `rodbcext`.
7582

83+
::: moniker range=">=sql-server-ver15||=sqlallproducts-allversions"
7684
```R
77-
CRAN_mirror <- c(CRAN = "https://cran.microsoft.com")
78-
local_repo <- "c:/downloads/rodbcext"
85+
CRAN_mirror <- c(CRAN = "https://mran.microsoft.com/snapshot/2019-02-01/")
86+
local_repo <- "rodbcext"
7987
pkgs_needed <- "RODBCext"
8088
pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror);
8189

8290
makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");
8391
```
84-
8592
::: moniker-end
8693

8794
::: moniker range=">=sql-server-linux-ver15||=sqlallproducts-allversions"
88-
8995
```R
90-
CRAN_mirror <- c(CRAN = "https://cran.microsoft.com")
91-
local_repo <- "c:/downloads/rodbcext"
96+
CRAN_mirror <- c(CRAN = "https://mran.microsoft.com/snapshot/2019-02-01/")
97+
local_repo <- "rodbcext"
9298
pkgs_needed <- "RODBCext"
9399
pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror);
94100

95101
makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");
96102
```
97-
98103
::: moniker-end
99104

100105
For the `Rversion` value, use the version of R installed on SQL Server. To verify the installed version, use the following T-SQL command.
@@ -104,16 +109,29 @@ On a computer with Internet access:
104109
, @script = N'print(R.version)'
105110
```
106111

107-
1. Download the latest **sqlmlutils** zip file from [https://github.com/Microsoft/sqlmlutils/tree/master/R/dist](https://github.com/Microsoft/sqlmlutils/tree/master/R/dist) (don't unzip the file). For example, download the file to `c:\downloads\sqlmlutils_0.7.1.zip`.
112+
1. Download the latest **sqlmlutils** file (`.zip` for Windows, `.tar.gz` for Linux) from [https://github.com/Microsoft/sqlmlutils/tree/master/R/dist](https://github.com/Microsoft/sqlmlutils/tree/master/R/dist). Don't expand the file.
108113

109-
1. Copy the entire **RODBCext** repository folder (`c:\downloads\rodbcext`) and the **sqlmlutils** zip file (`c:\downloads\sqlmlutils_0.7.1.zip`) to the client computer. For example, copy them to the folder `c:\temp\packages` on the client computer.
114+
1. Copy the entire **RODBCext** repository folder and the **sqlmlutils** file to the client computer.
110115

111-
On the client computer you use to connect to SQL Server, open a command prompt and run the following commands to install **RODBCext** and then **sqlmlutils**.
116+
On the client computer you use to connect to SQL Server:
112117

113-
```console
114-
R -e "install.packages('RODBCext', repos='c:\temp\packages\rodbcext')"
115-
R CMD INSTALL c:\temp\packages\sqlmlutils_0.7.1.zip
116-
```
118+
1. Open a command prompt.
119+
120+
1. Run the following commands to install **RODBCext** and then **sqlmlutils**. Substitute the full paths to the **RODBCext** repository folder and the **sqlmlutils** file you copied to this computer.
121+
122+
::: moniker range=">=sql-server-ver15||=sqlallproducts-allversions"
123+
```console
124+
R -e "install.packages('RODBCext', repos='rodbcext')"
125+
R CMD INSTALL sqlmlutils_0.7.1.zip
126+
```
127+
::: moniker-end
128+
129+
::: moniker range=">=sql-server-linux-ver15||=sqlallproducts-allversions"
130+
```console
131+
R -e "install.packages('RODBCext', repos='rodbcext')"
132+
R CMD INSTALL sqlmlutils_0.7.1.tar.gz
133+
```
134+
::: moniker-end
117135

118136
## Add an R package on SQL Server
119137

@@ -150,8 +168,7 @@ On a computer with Internet access:
150168

151169
1. Run the following R script to create a local repository for **glue**. This example creates the repository folder in `c:\downloads\glue`.
152170

153-
::: moniker range=">=sql-server-2016||=sqlallproducts-allversions"
154-
171+
::: moniker range=">=sql-server-ver15||=sqlallproducts-allversions"
155172
```R
156173
CRAN_mirror <- c(CRAN = "https://cran.microsoft.com")
157174
local_repo <- "c:/downloads/glue"
@@ -160,11 +177,9 @@ On a computer with Internet access:
160177

161178
makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");
162179
```
163-
164180
::: moniker-end
165181

166182
::: moniker range=">=sql-server-linux-ver15||=sqlallproducts-allversions"
167-
168183
```R
169184
CRAN_mirror <- c(CRAN = "https://cran.microsoft.com")
170185
local_repo <- "c:/downloads/glue"
@@ -173,7 +188,6 @@ On a computer with Internet access:
173188

174189
makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");
175190
```
176-
177191
::: moniker-end
178192

179193

docs/relational-databases/indexes/columnstore-indexes-overview.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Columnstore indexes: Overview | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "06/08/2018"
4+
ms.date: "05/08/2020"
55
ms.prod: sql
66
ms.prod_service: "database-engine, sql-database, sql-data-warehouse, pdw"
77
ms.reviewer: ""
@@ -49,6 +49,14 @@ A rowgroup is a group of rows that are compressed into columnstore format at the
4949

5050
For high performance and high compression rates, the columnstore index slices the table into rowgroups, and then compresses each rowgroup in a column-wise manner. The number of rows in the rowgroup must be large enough to improve compression rates, and small enough to benefit from in-memory operations.
5151

52+
A rowgroup from where all data has been deleted transitions from COMPRESSED into TOMBSTONE state, and is later removed by a background process named the tuple-mover.
53+
54+
> [!TIP]
55+
> Having too many small rowgroups decreases the columnstore index quality. A reorganize operation will merge smaller rowgroups, following an internal threshold policy that determines how to remove deleted rows and combine the compressed rowgroups. After a merge, the index quality should be improved.
56+
57+
> [!NOTE]
58+
> Starting with [!INCLUDE[sql-server-2019](../../includes/sssqlv15-md.md)], the tuple-mover is helped by a background merge task that automatically compresses smaller OPEN delta rowgroups that have existed for some time as determined by an internal threshold, or merges COMPRESSED rowgroups from where a large number of rows has been deleted. This improves the columnstore index quality over time.
59+
5260
#### Column segment
5361
A column segment is a column of data from within the rowgroup.
5462

@@ -65,9 +73,16 @@ A clustered columnstore index is the physical storage for the entire table.
6573
To reduce fragmentation of the column segments and improve performance, the columnstore index might store some data temporarily into a clustered index called a *deltastore* and a btree list of IDs for deleted rows. The deltastore operations are handled behind the scenes. To return the correct query results, the clustered columnstore index combines query results from both the columnstore and the deltastore.
6674

6775
#### Delta rowgroup
68-
A delta rowgroup is a clustered index that's used only with columnstore indexes. It improves columnstore compression and performance by storing rows until the number of rows reaches a threshold and are then moved into the columnstore.
76+
A delta rowgroup is a clustered B-tree index that's used only with columnstore indexes. It improves columnstore compression and performance by storing rows until the number of rows reaches a threshold (1,048,576 rows) and are then moved into the columnstore.
77+
78+
When a delta rowgroup reaches the maximum number of rows, it transitions from an OPEN to CLOSED state. A background process named the tuple-mover checks for closed row groups. If the process finds a closed rowgroup, it compresses the delta rowgroup and stores it into the columnstore as a COMPRESSED rowgroup.
79+
80+
When a delta rowgroup has been compressed, the existing delta rowgroup transitions into TOMBSTONE state to be removed later by the tuple-mover when there is no reference to it.
81+
82+
For more information about rowgroup statuses, see [sys.dm_db_column_store_row_group_physical_stats (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sys-dm-db-column-store-row-group-physical-stats-transact-sql.md).
6983

70-
When a delta rowgroup reaches the maximum number of rows, it becomes closed. A tuple-mover process checks for closed row groups. If the process finds a closed rowgroup, it compresses the rowgroup and stores it into the columnstore.
84+
> [!NOTE]
85+
> Starting with [!INCLUDE[sql-server-2019](../../includes/sssqlv15-md.md)], the tuple-mover is helped by a background merge task that automatically compresses smaller OPEN delta rowgroups that have existed for some time as determined by an internal threshold, or merges COMPRESSED rowgroups from where a large number of rows has been deleted. This improves the columnstore index quality over time.
7186
7287
#### Deltastore
7388
A columnstore index can have more than one delta rowgroup. All of the delta rowgroups are collectively called the deltastore.

0 commit comments

Comments
 (0)