Skip to content

Commit 6cc6e66

Browse files
Merge pull request #32890 from rwestMSFT/rw-0121-linux-freshness
SQL Server on Linux content refresh
2 parents da58a5b + e8577fe commit 6cc6e66

40 files changed

Lines changed: 195 additions & 179 deletions

File tree

docs/linux/includes/availability-group-multiple-network-interfaces.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 10/04/2023
4+
ms.date: 01/21/2025
55
ms.service: sql
66
ms.subservice: linux
77
ms.topic: include

docs/linux/includes/cluster-pacemaker-concepts.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 09/14/2023
4+
ms.date: 01/21/2025
55
ms.service: sql
66
ms.subservice: linux
77
ms.topic: include
88
ms.custom:
99
- linux-related-content
1010
---
11-
## <a id="pacemakerNotify"></a> Understand SQL Server resource agent for Pacemaker
11+
<a id="pacemakerNotify"></a>
12+
13+
## Understand SQL Server resource agent for Pacemaker
1214

1315
[!INCLUDE [sssql17-md](../../includes/sssql17-md.md)] introduced `sequence_number` to `sys.availability_groups` to show if a replica marked as `SYNCHRONOUS_COMMIT` was up to date. `sequence_number` is a monotonically increasing BIGINT that represents how up-to-date the local availability group replica is with respect to the rest of the replicas in the availability group. Performing failovers, adding or removing replicas, and other availability group operations update this number. The number is updated on the primary, then pushed to secondary replicas. Thus a secondary replica that is up-to-date has the same `sequence_number` as the primary.
1416

docs/linux/includes/linux-forced-unit-access.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 06/29/2023
4+
ms.date: 01/21/2025
55
ms.service: sql
66
ms.subservice: linux
77
ms.topic: include

docs/linux/includes/linux-supported-platforms-2022.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
author: rwestMSFT
33
ms.author: randolphwest
44
ms.reviewer: vanto
5-
ms.date: 11/17/2023
5+
ms.date: 01/21/2025
66
ms.service: sql
77
ms.subservice: linux
88
ms.topic: include

docs/linux/includes/odbc-ubuntu.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 07/11/2023
4+
ms.date: 01/21/2025
55
ms.service: sql
66
ms.topic: include
77
ms.custom:
@@ -58,7 +58,7 @@ Use the following steps to install the **mssql-tools18** on Ubuntu.
5858
To update to the latest version of **mssql-tools**, run the following commands:
5959

6060
```bash
61-
sudo apt-get update
61+
sudo apt-get update
6262
sudo apt-get install mssql-tools18
6363
```
6464

docs/linux/new-to-linux-resources.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
2-
title: New to linux resources for SQL users
2+
title: New to Linux Resources for SQL Users
33
titleSuffix: SQL Server
44
description: Resources and guidance for SQL Server users who are new to Linux.
55
author: rwestMSFT
66
ms.author: randolphwest
7-
ms.reviewer: randolphwest
8-
ms.date: 03/15/2023
7+
ms.date: 01/21/2025
98
ms.service: sql
109
ms.subservice: linux
1110
ms.topic: conceptual
@@ -18,7 +17,7 @@ ms.custom:
1817

1918
This article is intended to provide a learning path through an introduction of Linux concepts. Use the sections in the article as a guided learning path to familiarize yourself with the Linux environment.
2019

21-
This is not intended to be a comprehensive list but instead provides the bare minimum you need to help you administer and navigate your [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] on Linux environment. See the [full list of tutorials](https://www.linux.org/forums/linux-beginner-tutorials.123/) to learn more.
20+
This isn't intended to be a comprehensive list but instead provides the bare minimum you need to help you administer and navigate your [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] on Linux environment. See the [full list of tutorials](https://www.linux.org/forums/linux-beginner-tutorials.123/) to learn more.
2221

2322
## What is Linux?
2423

docs/linux/quickstart-install-connect-red-hat.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: SQL Server
44
description: This quickstart shows how to install SQL Server on Red Hat Enterprise Linux (RHEL) and then create and query a database with sqlcmd.
55
author: rwestMSFT
66
ms.author: randolphwest
7-
ms.date: 11/18/2024
7+
ms.date: 01/21/2025
88
ms.service: sql
99
ms.subservice: linux
1010
ms.topic: conceptual
@@ -43,7 +43,7 @@ For more information on supported platforms, see [Release notes for SQL Server 2
4343

4444
> [!TIP]
4545
> This tutorial requires user input and an internet connection. If you're interested in the [unattended](sql-server-linux-setup.md#unattended) or [offline](sql-server-linux-setup.md#offline) installation procedures, see [Installation guidance for SQL Server on Linux](sql-server-linux-setup.md).
46-
If you choose to have a pre-installed [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] VM on RHEL ready to run your production-based workload, then please follow the [best practices](/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-checklist) for creating the SQL Server VM.
46+
If you choose to have a pre-installed [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] VM on RHEL ready to run your production-based workload, follow the [best practices](/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-checklist) for creating the SQL Server VM.
4747

4848
<!--SQL Server 2019 on Linux-->
4949
::: moniker range="=sql-server-linux-ver15 || =sql-server-ver15"

docs/linux/sql-server-linux-active-directory-authentication.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: This tutorial provides the configuration steps for Active Directory
55
author: amitkh-msft
66
ms.author: amitkh
77
ms.reviewer: vanto, randolphwest
8-
ms.date: 11/18/2024
8+
ms.date: 01/21/2025
99
ms.service: sql
1010
ms.subservice: linux
1111
ms.topic: tutorial
@@ -108,7 +108,7 @@ Configuring Active Directory authentication for [!INCLUDE [ssnoversion-md](../in
108108
```
109109

110110
> [!NOTE]
111-
> SPNs can take several minutes to propagate through your domain, especially if the domain is large. If you receive the error, `kvno: Server not found in Kerberos database while getting credentials for MSSQLSvc/<fully qualified domain name of host machine>:<tcp port>@CONTOSO.COM`, please wait a few minutes and try again.</br></br> The above commands will only work if the server has been joined to an Active Directory domain, which was covered in the previous section.
111+
> SPNs can take several minutes to propagate through your domain, especially if the domain is large. If you receive the error, `kvno: Server not found in Kerberos database while getting credentials for MSSQLSvc/<fully qualified domain name of host machine>:<tcp port>@CONTOSO.COM`, wait a few minutes and try again. The previous commands only work if the server has been joined to an Active Directory domain, which was covered in an earlier section.
112112
113113
1. Using **[ktpass](/windows-server/administration/windows-commands/ktpass)**, add keytab entries for each SPN using the following commands on a Windows machine Command Prompt:
114114

@@ -163,14 +163,13 @@ Configuring Active Directory authentication for [!INCLUDE [ssnoversion-md](../in
163163
sudo systemctl restart mssql-server
164164
```
165165

166-
> [!TIP]
167-
> Optionally, disable UDP connections to the domain controller to improve performance. In many cases, UDP connections consistently fail when connecting to a domain controller, so you can set config options in `/etc/krb5.conf` to skip UDP calls. Edit `/etc/krb5.conf` and set the following options:
168-
>
169-
> ```bash
170-
> /etc/krb5.conf
171-
> [libdefaults]
172-
> udp_preference_limit=0
173-
> ```
166+
Optionally, you can disable UDP connections to the domain controller to improve performance. In many cases, UDP connections consistently fail when connecting to a domain controller, so you can set config options in `/etc/krb5.conf` to skip UDP calls. Edit `/etc/krb5.conf` and set the following options:
167+
168+
```bash
169+
/etc/krb5.conf
170+
[libdefaults]
171+
udp_preference_limit=0
172+
```
174173

175174
At this point, you're ready to use Active Directory-based logins in [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)].
176175

docs/linux/sql-server-linux-active-directory-join-domain.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: This article provides guidance joining a SQL Server Linux host mach
55
author: amitkh-msft
66
ms.author: amitkh
77
ms.reviewer: vanto, randolphwest
8-
ms.date: 06/27/2024
8+
ms.date: 01/21/2025
99
ms.service: sql
1010
ms.subservice: linux
1111
ms.topic: conceptual
@@ -253,7 +253,9 @@ After the basic configuration and connectivity with domain controller is verifie
253253
- [Option 1: Use an SSSD package](#option1)
254254
- [Option 2: Use third-party OpenLDAP provider utilities](#option2)
255255

256-
### <a id="option1"></a> Option 1: Use SSSD package to join Active Directory domain
256+
<a id="option1"></a>
257+
258+
### Option 1: Use SSSD package to join Active Directory domain
257259

258260
This method joins the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] host to an Active Directory domain using **realmd** and **sssd** packages.
259261

@@ -309,9 +311,9 @@ Use the following steps to join a [!INCLUDE [ssnoversion-md](../includes/ssnover
309311

310312
---
311313

312-
2. If the Kerberos client package installation prompts you for a realm name, enter your domain name in uppercase.
314+
1. If the Kerberos client package installation prompts you for a realm name, enter your domain name in uppercase.
313315

314-
3. After you confirm that your DNS is configured properly, join the domain by running the following command. You must authenticate using an Active Directory account that has sufficient privileges in Active Directory to join a new machine to the domain. This command creates a new computer account in Active Directory, creates the `/etc/krb5.keytab` host keytab file, configures the domain in `/etc/sssd/sssd.conf`, and updates `/etc/krb5.conf`.
316+
1. After you confirm that your DNS is configured properly, join the domain by running the following command. You must authenticate using an Active Directory account that has sufficient privileges in Active Directory to join a new machine to the domain. This command creates a new computer account in Active Directory, creates the `/etc/krb5.keytab` host keytab file, configures the domain in `/etc/sssd/sssd.conf`, and updates `/etc/krb5.conf`.
315317

316318
Because of an issue with **realmd**, first set the machine hostname to the FQDN instead of to the machine name. Otherwise, **realmd** might not create all required SPNs for the machine and DNS entries won't automatically update, even if your domain controller supports dynamic DNS updates.
317319

@@ -339,7 +341,7 @@ Use the following steps to join a [!INCLUDE [ssnoversion-md](../includes/ssnover
339341

340342
For more information, see how to [configure SSSD manually](https://access.redhat.com/articles/3023951), and [configure NSS to work with SSSD](https://docs.redhat.com/documentation/red_hat_enterprise_linux/7/html/system-level_authentication_guide/configuring_services#Configuration_Options-NSS_Configuration_Options).
341343

342-
4. Verify that you can now gather information about a user from the domain, and that you can acquire a Kerberos ticket as that user. The following example uses **id**, [kinit](https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/kinit.html), and [klist](https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/klist.html) commands for this.
344+
1. Verify that you can now gather information about a user from the domain, and that you can acquire a Kerberos ticket as that user. The following example uses **id**, [kinit](https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/kinit.html), and [klist](https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/klist.html) commands for this.
343345

344346
```bash
345347
id user@contoso.com
@@ -361,14 +363,16 @@ Use the following steps to join a [!INCLUDE [ssnoversion-md](../includes/ssnover
361363

362364
For more information, see the Red Hat documentation for [Discovering and Joining Identity Domains](https://docs.redhat.com/documentation/red_hat_enterprise_linux/7/html/windows_integration_guide/realmd-domain).
363365

364-
### <a id="option2"></a> Option 2: Use third-party OpenLDAP provider utilities
366+
<a id="option2"></a>
367+
368+
### Option 2: Use third-party OpenLDAP provider utilities
365369

366370
You can use third-party utilities such as [PBIS](https://www.beyondtrust.com/), [VAS](https://www.oneidentity.com/products/one-identity-safeguard-authentication-services), or [Centrify](https://delinea.com/centrify). This article doesn't cover steps for each individual utility. You must first use one of these utilities to join the Linux host for [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] to the domain before continuing forward.
367371

368372
[!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] doesn't use third-party integrator's code or library for any Active Directory-related queries. [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] always queries Active Directory using OpenLDAP library calls directly in this setup. The third-party integrators are only used to join the Linux host to Active Directory domain, and [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] doesn't have any direct communication with these utilities.
369373

370374
> [!IMPORTANT]
371-
> Please see the recommendations for using the `mssql-conf network.disablesssd` configuration option in the Additional configuration options section of the article [Use Active Directory authentication with SQL Server on Linux](sql-server-linux-active-directory-authentication.md#additionalconfig).
375+
> See the recommendations for using the `mssql-conf network.disablesssd` configuration option in the Additional configuration options section of the article [Use Active Directory authentication with SQL Server on Linux](sql-server-linux-active-directory-authentication.md#additionalconfig).
372376

373377
Verify that your `/etc/krb5.conf` is configured correctly. For most third-party Active Directory providers, this configuration is done automatically. However, check `/etc/krb5.conf` for the following values to prevent any future issues:
374378

docs/linux/sql-server-linux-ad-auth-rotate-keytabs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Recommendations on rotating keytabs for SQL Server on Linux using a
44
author: amitkh-msft
55
ms.author: amitkh
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 11/18/2024
7+
ms.date: 01/21/2025
88
ms.service: sql
99
ms.subservice: linux
1010
ms.topic: conceptual
@@ -90,7 +90,7 @@ You can install **adutil** and integrate it with **mssql-conf**, which means you
9090
sqluser@contoso.com's password:
9191
Confirm sqluser@contoso.com's password:
9292
93-
SQL Server needs to be restarted in order to adopt the new AD configuration, please run 'systemctl restart mssql-server.service'.
93+
SQL Server needs to be restarted in order to adopt the new AD configuration. To restart, run `systemctl restart mssql-server.service`.
9494
9595
bash-4.4$ klist -kte /var/opt/mssql/secrets/mssql.keytab
9696
Keytab name: FILE:/var/opt/mssql/secrets/mssql.keytab

0 commit comments

Comments
 (0)