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
|Arc Data extension for Azure Data Studio<br/>`arc`<br/>`azcli`|*No Changes*<br/>1.5.4 ([Download](https://aka.ms/ads-arcdata-ext))</br>1.5.4 ([Download](https://aka.ms/ads-azcli-ext))|
24
25
26
+
27
+
25
28
New for this release:
26
29
- Arc data controller
27
-
- Updates to TelemetryRouter implementation to include inbound and outbound TelemetryCollector layers alongside Kafka as a persistent buffer
28
-
- AD connector will now be upgraded when data controller is upgraded
29
30
30
31
- Arc-enabled SQL managed instance
31
-
- New reprovision replica task lets you rebuild a broken sql instance replica. For more information, see [Reprovision replica](#reprovision-replica).
32
-
- Edit Active Directory settings from the Azure portal
33
32
34
33
<!--
35
34
- Arc-enabled PostgreSQL server
36
35
-->
37
-
36
+
<!--
38
37
- `arcdata` Azure CLI extension
39
-
- Columns for release information added to the following commands: `az sql mi-arc list` this makes it easy to see what instance may need to be updated.
40
-
- Alternately you can run `az arcdata dc list-upgrades'
41
-
- New command to list AD Connectors `az arcdata ad-connector list --k8s-namespace <namespace> --use-k8s`
42
-
- Az CLI Polling for AD Connector create/update/delete: This feature changes the default behavior of `az arcdata ad-connector create/update/delete` to hang and wait until the operation finishes. To override this behavior, the user has to use the `--no-wait` flag when invoking the command.
43
-
44
-
### Reprovision replica
45
-
46
-
The reprovision replica task lets you rebuild a broken sql instance replica. It is intended to be used for a replica that is failing to synchronize, perhaps due to corruption of the data on the persistent volumes (PV) for that instance, or due to some recurring SQL issue, for example.
47
-
48
-
Support for reprovisioning of a replica is provided only via `az` CLI and kube-native. There is no portal support.
49
-
50
-
#### Prerequisites
51
-
52
-
Reprovisioning can only be performed on a multi-replica instance.
53
-
54
-
#### Request a reprovision replica
55
-
56
-
Request provisioning [via `az` CLI](#via-az-cli) or [via `kubectl`](#via-kubectl).
57
-
58
-
##### Via `az` CLI
59
-
60
-
```az
61
-
az sql mi-arc reprovision-replica -n <instance_name-replica_number> -k <namespace> --use-k8s
62
-
```
63
-
64
-
For example, for replica 2 of instance mySqlInstance in namespace arc, the command would be:
65
-
66
-
```az
67
-
az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s
68
-
```
69
-
70
-
This runs until completion at which point the console returns:
71
-
72
-
```az
73
-
sql-reprov-replica-mySqlInstance-2-1664217002.376132 is Ready
74
-
```
75
-
76
-
The name of the thing that is ready, is the kubernetes task. At this point you can either examine the task:
There is an optional `--no-wait` parameter for the command. If you send the request with `--no-wait`, the output will include the name of the task to be monitored. For example:
89
-
90
-
```az
91
-
az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s --no-wait
92
-
Reprovisioning replica mySqlInstance-2 in namespace `arc`. Please use
93
-
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217434.531035`
94
-
to check its status or
95
-
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask`
96
-
to view all reprovision tasks.
97
-
```
98
-
99
-
#### Via kubectl
100
-
101
-
The CRD for reprovision replica is fairly simple. You can create a yaml file with this structure:
- The task should reject attempts to reprovision the current primary replica. If the current primary is believed to be corrupted and in need of reprovisioning, the user should fail over to a different primary and then request the reprovisioning.
136
-
137
-
- Reprovisioning of multiple replicas in the same instance will serialize; the tasks will accumulate and be held in "Creating" state until the currently active task finishes *and is deleted*. There is no auto-cleanup of a completed task, so this serialization will affect the user even if they run the az command synchronously and wait for it to complete before requesting another reprovision. In all cases they will have to remove the task via kubectl before another reprovision on the same instance can run. **There is no warning about this, either in the az cli or in kubectl.**
138
-
139
-
140
-
More about that second limitation: If you have multiple requests to reprovision a replica in one instance, you may see something like this in the output from a `kubectl get SqlManagedInstanceReprovisionReplicaTask`:
141
-
142
-
```console
143
-
kubectl get SqlManagedInstanceReprovisionReplicaTask -n arc
That last entry for replica c-sql-kkncursza-1, `sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035`, will stay in status `Creating` until the completed one `sql-reprov-replica-c-sql-kkncursza-1-1664217002.376132` is removed.
This article highlights capabilities, features, and enhancements recently released or improved for Azure Arc-enabled data services.
18
18
19
+
## October 11, 2022
20
+
21
+
### Image tag
22
+
23
+
`v1.12.0_2022-10-11`
24
+
25
+
For complete release version information, see [Version log](version-log.md#october-11-2022).
26
+
27
+
New for this release:
28
+
- Arc data controller
29
+
- Updates to TelemetryRouter implementation to include inbound and outbound TelemetryCollector layers alongside Kafka as a persistent buffer
30
+
- AD connector will now be upgraded when data controller is upgraded
31
+
32
+
- Arc-enabled SQL managed instance
33
+
- New reprovision replica task lets you rebuild a broken sql instance replica. For more information, see [Reprovision replica](reprovision-replica.md).
34
+
- Edit Active Directory settings from the Azure portal
35
+
36
+
-`arcdata` Azure CLI extension
37
+
- Columns for release information added to the following commands: `az sql mi-arc list` this makes it easy to see what instance may need to be updated.
38
+
- Alternately you can run `az arcdata dc list-upgrades'
39
+
- New command to list AD Connectors `az arcdata ad-connector list --k8s-namespace <namespace> --use-k8s`
40
+
- Az CLI Polling for AD Connector create/update/delete: This feature changes the default behavior of `az arcdata ad-connector create/update/delete` to hang and wait until the operation finishes. To override this behavior, the user has to use the `--no-wait` flag when invoking the command.
description: This article explains how to rebuild a broken Azure Arc-enabled SQL Managed Instance replica. A replica may break due to storage corruption, for example.
This article describes how to provision a new replica to replace an existing replica in Azure Arc-enabled SQL Managed Instance.
17
+
18
+
When you reprovision a replica, you rebuild a new managed instance replica for an Azure Arc-enabled SQL Managed Instance deployment. Use this task to replace a replica that is failing to synchronize, for example, due to corruption of the data on the persistent volumes (PV) for that instance, or due to some recurring SQL issue.
19
+
20
+
You can reprovision a replica [via `az` CLI](#via-az-cli) or [via `kubectl`](#via-kubectl). You can't reprovision a replica from the Azure portal.
21
+
22
+
## Prerequisites
23
+
24
+
You can only reprovision a replica on a multi-replica instance.
25
+
26
+
## Via `az` CLI
27
+
28
+
Azure CLI `az sql mi-arc` command group includes `reprovision-replica`. To reprovision a replica, update the following example. Replace `<instance_name-replica_number>` with the instance name and replica number of the replica you want to replace. Replace `<namespace>`.
29
+
30
+
```az
31
+
az sql mi-arc reprovision-replica -n <instance_name-replica_number> -k <namespace> --use-k8s
32
+
```
33
+
34
+
For example, to reprovision replica 2 of instance `mySqlInstance` in namespace `arc`, use:
35
+
36
+
```az
37
+
az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s
38
+
```
39
+
40
+
The command runs until completion, at which point the console returns the name of the Kubernetes task:
41
+
42
+
```output
43
+
sql-reprov-replica-mySqlInstance-2-1664217002.376132 is Ready
44
+
```
45
+
46
+
At this point, you can either examine the task or delete it.
47
+
48
+
### Examine the task
49
+
50
+
The following example returns information about the state of the Kubernetes task:
> After a replica is reprovisioned, you must delete the task before another reprovision can run on the same instance. For more information, see [Limitations](#limitations).
58
+
59
+
### Delete the task
60
+
61
+
The following example deletes the Kubernetes task:
There's an optional `--no-wait` parameter for the command. If you send the request with `--no-wait`, the output includes the name of the task to be monitored. For example:
70
+
71
+
```az
72
+
az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s --no-wait
73
+
Reprovisioning replica mySqlInstance-2 in namespace `arc`. Please use
74
+
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217434.531035`
75
+
to check its status or
76
+
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask`
77
+
to view all reprovision tasks.
78
+
```
79
+
80
+
## Via kubectl
81
+
82
+
To reprovision with `kubectl`, create a custom resource. To create a custom resource to reprovision, you can create a .yaml file with this structure:
> After a replica is reprovisioned, you must delete the task before another reprovision can run on the same instance. For more information, see [Limitations](#limitations).
118
+
119
+
120
+
## Limitations
121
+
122
+
- The task rejects attempts to reprovision the current primary replica. If the current primary replica is corrupted and in need of reprovisioning, fail over to a different replica, and then request the reprovisioning.
123
+
124
+
- Reprovisioning of multiple replicas in the same instance runs serially. The tasks queue and are held in `Creating` state until the currently active task finishes **and is deleted**. There's no auto-cleanup of a completed task, so this serialization will affect you even if you run the `az sql mi-arc reprovision-replica` command synchronously and wait for it to complete before requesting another reprovision. In all cases, you have to remove the task via `kubectl` before another reprovision on the same instance can run.
125
+
126
+
More details about serialization of reprovision tasks: If you have multiple requests to reprovision a replica in one instance, you may see something like this in the output from a `kubectl get SqlManagedInstanceReprovisionReplicaTask`:
127
+
128
+
```console
129
+
kubectl get SqlManagedInstanceReprovisionReplicaTask -n arc
That last entry for replica c-sql-kkncursza-1, `sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035`, will stay in status `Creating` until the completed one `sql-reprov-replica-c-sql-kkncursza-1-1664217002.376132` is removed.
0 commit comments