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/linux/quickstart-sql-server-containers-azure.md
+32-30Lines changed: 32 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "Quickstart: Deploy a SQL Server Container Cluster on Azure Kubernetes Se
3
3
description: This tutorial shows how to deploy a SQL Server high availability solution with Azure Kubernetes Service or Azure Red Hat OpenShift.
4
4
author: rwestMSFT
5
5
ms.author: randolphwest
6
-
ms.date: 10/20/2025
6
+
ms.date: 12/11/2025
7
7
ms.service: sql
8
8
ms.subservice: linux
9
9
ms.topic: quickstart
@@ -334,24 +334,24 @@ You create a manifest to describe the container, based on the SQL Server [mssql-
334
334
335
335
Copy the preceding code into a new file, named `sqldeployment.yaml`. Update the following values:
336
336
337
-
- MSSQL_PID `value: "Developer"`: Sets the container to run SQL Server Developer edition. Developer edition isn't licensed for production data. If the deployment is for production use, set the appropriate edition (`Enterprise`, `Standard`, or `Express`). For more information, see [How to license SQL Server](https://www.microsoft.com/sql-server/sql-server-2022-pricing).
337
+
| Parameter | Value | Description |
338
+
| --- | --- | --- |
339
+
| `MSSQL_PID` | `Developer` | Sets the container to run [!INCLUDE [sssql22-md](../includes/sssql22-md.md)] Developer edition. Developer edition isn't licensed for production data. If the deployment is for production use, set the appropriate edition (`Enterprise`, `Standard`, or `Express`). For more information, see [How to license SQL Server](https://www.microsoft.com/sql-server/sql-server-2022-pricing). |
340
+
| `persistentVolumeClaim` | `mssql-data` | This value requires an entry for `claimName` that maps to the name used for the persistent volume claim. This tutorial uses `mssql-data`. |
341
+
| `name` | `MSSQL_SA_PASSWORD` | Configures the container image to set the `sa` password, as defined in this section. |
- `persistentVolumeClaim`: This value requires an entry for `claimName:` that maps to the name used for the persistent volume claim. This tutorial uses `mssql-data`.
342
-
343
-
- `name: MSSQL_SA_PASSWORD`: Configures the container image to set the `sa` password, as defined in this section.
344
-
345
-
```yaml
346
-
valueFrom:
347
-
secretKeyRef:
348
-
name: mssql
349
-
key: MSSQL_SA_PASSWORD
350
-
```
343
+
```yaml
344
+
valueFrom:
345
+
secretKeyRef:
346
+
name: mssql
347
+
key: MSSQL_SA_PASSWORD
348
+
```
351
349
352
-
When Kubernetes deploys the container, it refers to the secret named `mssql` to get the value for the password.
350
+
When Kubernetes deploys the container, it refers to the secret named `mssql` to get the value for the password.
353
351
354
-
- `securityContext`: Defines privilege and access control settings for a pod or container. In this case, it's specified at the pod level, so all containers adhere to that security context. In the security context, we define the `fsGroup` with the value `10001`, which is the Group ID (GID) for the `mssql` group. This value means that all processes of the container are also part of the supplementary GID `10001` (`mssql`). The owner for volume `/var/opt/mssql` and any files created in that volume will be GID `10001` (the `mssql` group).
352
+
| Parameter | Description |
353
+
| --- | --- |
354
+
| `securityContext` | Defines privilege and access control settings for a pod or container. In this case, it's specified at the pod level, so all containers adhere to that security context. In the security context, we define the `fsGroup` with the value `10001`, which is the Group ID (GID) for the `mssql` group. This value means that all processes of the container are also part of the supplementary GID `10001` (`mssql`). The owner for volume `/var/opt/mssql` and any files created in that volume will be GID `10001` (the `mssql` group). |
355
355
356
356
> [!WARNING]
357
357
> By using the `LoadBalancer` service type, the SQL Server instance is accessible remotely (via the Internet) at port 1433.
@@ -495,22 +495,24 @@ You create a manifest to describe the container, based on the SQL Server [mssql-
495
495
496
496
Copy the preceding code into a new file, named `sqldeployment.yaml`. Update the following values:
497
497
498
-
- MSSQL_PID `value: "Developer"`: Sets the container to run SQL Server Developer edition. Developer edition isn't licensed for production data. If the deployment is for production use, set the appropriate edition (`Enterprise`, `Standard`, or `Express`). For more information, see [How to license SQL Server](https://www.microsoft.com/sql-server/sql-server-2022-pricing).
498
+
| Parameter | Value | Description |
499
+
| --- | --- | --- |
500
+
| `MSSQL_PID` | `Developer` | Sets the container to run [!INCLUDE [sssql22-md](../includes/sssql22-md.md)] Developer edition. Developer edition isn't licensed for production data. If the deployment is for production use, set the appropriate edition (`Enterprise`, `Standard`, or `Express`). For more information, see [How to license SQL Server](https://www.microsoft.com/sql-server/sql-server-2022-pricing). |
501
+
| `persistentVolumeClaim` | `mssql-data` | This value requires an entry for `claimName` that maps to the name used for the persistent volume claim. This tutorial uses `mssql-data`. |
502
+
| `name` | `MSSQL_SA_PASSWORD` | Configures the container image to set the `sa` password, as defined in this section. |
499
503
500
-
- `persistentVolumeClaim`: This value requires an entry for `claimName:` that maps to the name used for the persistent volume claim. This tutorial uses `mssql-data`.
501
-
502
-
- `name: MSSQL_SA_PASSWORD`: Configures the container image to set the `sa` password, as defined in this section.
503
-
504
-
```yaml
505
-
valueFrom:
506
-
secretKeyRef:
507
-
name: mssql
508
-
key: MSSQL_SA_PASSWORD
509
-
```
504
+
```yaml
505
+
valueFrom:
506
+
secretKeyRef:
507
+
name: mssql
508
+
key: MSSQL_SA_PASSWORD
509
+
```
510
510
511
-
When OpenShift deploys the container, it refers to the secret named `mssql` to get the value for the password.
511
+
When OpenShift deploys the container, it refers to the secret named `mssql` to get the value for the password.
512
512
513
-
- `securityContext`: Defines privilege and access control settings for a pod or container. There are settings applied at both the pod and container level. At the pod level, this option defines the `fsGroupChangePolicy` with the value `OnRootMismatch`. This ensures that the `fsGroup` selected by OpenShift is used for all the files in the `/var/opt/mssql` volume. At the container level, this option permits the `NET_BIND_SERVICE` capability, which allows the container to bind to ports lower than 1024.
513
+
| Parameter | Description |
514
+
| --- | --- |
515
+
| `securityContext` | Defines privilege and access control settings for a pod or container. There are settings applied at both the pod and container level. At the pod level, this option defines the `fsGroupChangePolicy` with the value `OnRootMismatch`. This ensures that the `fsGroup` selected by OpenShift is used for all the files in the `/var/opt/mssql` volume. At the container level, this option permits the `NET_BIND_SERVICE` capability, which allows the container to bind to ports lower than 1024. |
514
516
515
517
> [!WARNING]
516
518
> By using the `LoadBalancer` service type, the SQL Server instance is accessible remotely (via the Internet) at port 1433.
@@ -584,7 +586,7 @@ You can use the following applications to connect to the SQL Server instance.
584
586
585
587
To connect with `sqlcmd`, run the following command.
586
588
587
-
```cmd
589
+
```console
588
590
sqlcmd -S <External IP address> -U sa -P "<password>"
`-k:` is the path to the current keytab that is being used by [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] and set using the option `network.kerberoskeytabfile`in the `mssql.conf` file.
129
-
130
-
`-H:` is the fully qualified domain name of the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] host.
131
-
132
-
`-p:` is the port that [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] service is configured to listen on in the first command. In the second command, `-p` represents the `network.privilegedadaccount` that you're going to update the password for.
133
-
134
-
`kvno:` value needs to be the current kvno + 1. The current **kvno** value is obtained from step 3.
128
+
| Parameter | Description |
129
+
| --- | --- |
130
+
|`-k`| The path to the current keytab that is being used by [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] and set using the option `network.kerberoskeytabfile`in the `mssql.conf` file. |
131
+
|`-H`| The fully qualified domain name of the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] host. |
132
+
|`-p`| The port that [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] service is configured to listen on in the first command. In the second command, `-p` represents the `network.privilegedadaccount` that you're going to update the password for. |
133
+
| `kvno` | Value needs to be the current kvno + 1. The current **kvno** value is obtained from step 3. |
135
134
136
135
Once you run the above commands, you must provide your choice of encryption type for the keytab entries. Ensure you choose the right one for your environment.
0 commit comments