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/azdata/reference/reference-azdata-notebook.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ ms.technology: big-data-cluster
15
15
16
16
[!INCLUDE[SQL Server 2019](../../includes/applies-to-version/sqlserver2019.md)]
17
17
18
-
The following article provides reference for the `sql` commands in the `azdata` tool. For more information about other `azdata` commands, see [azdata reference](reference-azdata.md).
18
+
The following article provides reference for the `notebook` commands in the `azdata` tool. For more information about other `azdata` commands, see [azdata reference](reference-azdata.md).
Copy file name to clipboardExpand all lines: docs/integration-services/data-flow/odata-source.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,13 @@ For the **Decimal** data type, the precision and scale are determined by the sou
49
49
> [!IMPORTANT]
50
50
> The OData Source component does not support complex types, such as multiple-choice items, in SharePoint lists.
51
51
52
+
> [!Note]
53
+
> If the source only allows TLS 1.2 connection, you need to enforce TLS 1.2 on your machine through registry settings. In an elevated command prompt run the following commands:
Most OData services can return results in multiple formats. You can specify the format of the result set by using the `$format` query option. Formats such as JSON and JSON Light are more efficient than ATOM or XML, and may give you better performance when transferring large amounts of data. The following table provides results from sample tests. As you can see, there was a 30-53% performance gain when switching from ATOM to JSON and a 67% performance gain when switching from ATOM to the new JSON light format (available in WCF Data Services 5.1).
Copy file name to clipboardExpand all lines: docs/linux/tutorial-sql-server-containers-kubernetes.md
+31-16Lines changed: 31 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ ms.custom: seo-lt-2019
5
5
author: MikeRayMSFT
6
6
ms.author: mikeray
7
7
ms.reviewer: vanto
8
-
ms.date: 01/10/2018
8
+
ms.date: 09/01/2020
9
9
ms.topic: tutorial
10
10
ms.prod: sql
11
11
ms.technology: linux
@@ -29,17 +29,17 @@ This tutorial demonstrates how to configure a highly available SQL Server instan
29
29
30
30
Kubernetes 1.6 and later has support for [storage classes](https://kubernetes.io/docs/concepts/storage/storage-classes/), [persistent volume claims](https://kubernetes.io/docs/concepts/storage/storage-classes/#persistentvolumeclaims), and the [Azure disk volume type](https://github.com/kubernetes/examples/tree/master/staging/volumes/azure_disk). You can create and manage your SQL Server instances natively in Kubernetes. The example in this article shows how to create a [deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) to achieve a high availability configuration similar to a shared disk failover cluster instance. In this configuration, Kubernetes plays the role of the cluster orchestrator. When a SQL Server instance in a container fails, the orchestrator bootstraps another instance of the container that attaches to the same persistent storage.
31
31
32
-

32
+

33
33
34
34
In the preceding diagram, `mssql-server` is a container in a [pod](https://kubernetes.io/docs/concepts/workloads/pods/pod/). Kubernetes orchestrates the resources in the cluster. A [replica set](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) ensures that the pod is automatically recovered after a node failure. Applications connect to the service. In this case, the service represents a load balancer that hosts an IP address that stays the same after failure of the `mssql-server`.
35
35
36
36
In the following diagram, the `mssql-server` container has failed. As the orchestrator, Kubernetes guarantees the correct count of healthy instances in the replica set, and starts a new container according to the configuration. The orchestrator starts a new pod on the same node, and `mssql-server` reconnects to the same persistent storage. The service connects to the re-created `mssql-server`.
37
37
38
-

38
+

39
39
40
40
In the following diagram, the node hosting the `mssql-server` container has failed. The orchestrator starts the new pod on a different node, and `mssql-server` reconnects to the same persistent storage. The service connects to the re-created `mssql-server`.
41
41
42
-

42
+

43
43
44
44
## Prerequisites
45
45
@@ -168,10 +168,12 @@ In this step, create a manifest to describe the container based on the SQL Serve
168
168
labels:
169
169
app: mssql
170
170
spec:
171
-
terminationGracePeriodSeconds: 10
171
+
terminationGracePeriodSeconds: 30
172
+
securityContext:
173
+
fsGroup: 10001
172
174
containers:
173
175
- name: mssql
174
-
image: mcr.microsoft.com/mssql/server:2017-latest
176
+
image: mcr.microsoft.com/mssql/server:2019-latest
175
177
ports:
176
178
- containerPort: 1433
177
179
env:
@@ -221,10 +223,12 @@ In this step, create a manifest to describe the container based on the SQL Serve
221
223
valueFrom:
222
224
secretKeyRef:
223
225
name: mssql
224
-
key: SA_PASSWORD
226
+
key: SA_PASSWORD
225
227
```
226
228
227
-
When Kubernetes deploys the container, it refers to the secret named `mssql` to get the value for the password.
229
+
When Kubernetes deploys the container, it refers to the secret named `mssql` to get the value for the password.
230
+
231
+
* `securityContext` : A securityContext defines privilege and access control settings for a Pod or Container, in this case it is specified at the pod level, so all containers ( in this case only one) adhere to that security context. In the security context we define the fsGroup with the value 10001 ( which is the GID for mssql group) means, all processes of the container are also part of the supplementary group ID 10001(mssql). The owner for volume /var/opt/mssql and any files created in that volume will be Group ID 10001(mssql group).
228
232
229
233
>[!NOTE]
230
234
>By using the `LoadBalancer` service type, the SQL Server instance is accessible remotely (via the internet) at port 1433.
@@ -266,7 +270,19 @@ In this step, create a manifest to describe the container based on the SQL Serve
266
270
267
271
```azurecli
268
272
az aks browse --resource-group <MyResourceGroup> --name <MyKubernetesClustername>
269
-
```
273
+
```
274
+
275
+
1. You can also verify the container is running as non-root by running the following command:
276
+
277
+
```azurecli
278
+
kubectl.exe exec <name of SQL POD> -it -- /bin/bash
279
+
```
280
+
281
+
and then run 'whoami' you should see the username as mssql. Which is a non-root user.
282
+
283
+
```azurecli
284
+
whoami
285
+
```
270
286
271
287
## Connect to the SQL Server instance
272
288
@@ -279,17 +295,17 @@ You can use the following applications to connect to the SQL Server instance.
To connect with `sqlcmd`, run the following command:
284
300
285
301
```cmd
286
302
sqlcmd -S <External IP Address> -U sa -P "MyC0m9l&xP@ssw0rd"
287
303
```
288
304
289
305
Replace the following values:
290
-
291
-
-`<External IP Address>`with the IP address for the `mssql-deployment` service
292
-
-`MyC0m9l&xP@ssw0rd`with your password
306
+
307
+
* `<External IP Address>` with the IP address for the `mssql-deployment` service
308
+
* `MyC0m9l&xP@ssw0rd` with your password
293
309
294
310
## Verify failure and recovery
295
311
@@ -308,6 +324,7 @@ To verify failure and recovery, you can delete the pod. Do the following steps:
308
324
```azurecli
309
325
kubectl delete pod mssql-deployment-0
310
326
```
327
+
311
328
`mssql-deployment-0`is the value returned from the previous step for pod name.
312
329
313
330
Kubernetes automatically re-creates the pod to recover a SQL Server instance, and connect to the persistent storage. Use `kubectl get pods` to verify that a new pod is deployed. Use `kubectl get services` to verify that the IP address for the new container is the same.
@@ -326,6 +343,4 @@ In this tutorial, you learned how to deploy SQL Server containers to a Kubernete
326
343
## Next steps
327
344
328
345
> [!div class="nextstepaction"]
329
-
>[Introduction to Kubernetes](https://docs.microsoft.com/azure/aks/intro-kubernetes)
330
-
331
-
346
+
>[Introduction to Kubernetes](https://docs.microsoft.com/azure/aks/intro-kubernetes)
0 commit comments