Skip to content

Commit dab1b39

Browse files
authored
Merge pull request #113946 from ShawnJackson/configure-bcdr-azure-ssis-integration-runtime
edit pass: configure-bcdr-azure-ssis-integration-runtime
2 parents 9a84296 + d17fc28 commit dab1b39

File tree

1 file changed

+69
-60
lines changed

1 file changed

+69
-60
lines changed
Lines changed: 69 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Configure Azure-SSIS Integration Runtime for SQL Database failover
3-
description: This article describes how to configure the Azure-SSIS Integration Runtime with Azure SQL Database geo-replication and failover for the SSISDB database
2+
title: Configure Azure-SSIS integration runtime for SQL Database failover
3+
description: This article describes how to configure the Azure-SSIS integration runtime with Azure SQL Database geo-replication and failover for the SSISDB database
44
services: data-factory
55
ms.service: data-factory
66
ms.workload: data-services
@@ -14,49 +14,51 @@ ms.custom: seo-lt-2019
1414
ms.date: 04/09/2020
1515
---
1616

17-
# Configure the Azure-SSIS Integration Runtime with Azure SQL Database geo-replication and failover
17+
# Configure the Azure-SSIS integration runtime with SQL Database geo-replication and failover
1818

1919
[!INCLUDE[appliesto-adf-asa-md](includes/appliesto-adf-xxx-md.md)]
2020

21-
This article describes how to configure the Azure-SSIS Integration Runtime with Azure SQL Database geo-replication for the SSISDB database. When a failover occurs, you can ensure that the Azure-SSIS IR keeps working with the secondary database.
21+
This article describes how to configure the Azure-SSIS integration runtime (IR) with Azure SQL Database geo-replication for the SSISDB database. When a failover occurs, you can ensure that the Azure-SSIS IR keeps working with the secondary database.
2222

2323
For more info about geo-replication and failover for SQL Database, see [Overview: Active geo-replication and auto-failover groups](../sql-database/sql-database-geo-replication-overview.md).
2424

2525
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
2626

27-
## Azure-SSIS IR failover with Azure SQL Database Managed Instance
27+
## Azure-SSIS IR failover with a SQL Database managed instance
2828

2929
### Prerequisites
3030

31-
Azure SQL Database Managed Instance uses **database master key (DMK)** to help secure data, credentials, and connection information that is stored in database. To enable the automatic decryption of DMK, a copy of the key is encrypted by using the **server master key (SMK)**. But SMK is not replicated in failover group, so you need to add an additional password on both primary and secondary instances for DMK decryption after failover.
31+
An Azure SQL Database managed instance uses a *database master key (DMK)* to help secure data, credentials, and connection information that's stored in a database. To enable the automatic decryption of DMK, a copy of the key is encrypted through the *server master key (SMK)*.
3232

33-
1. Execute below command on the SSISDB on primary instance. This step is adding a new encryption password.
33+
The SMK is not replicated in a failover group. You need to add a password on both the primary and secondary instances for DMK decryption after failover.
34+
35+
1. Run the following command for SSISDB on the primary instance. This step adds a new encryption password.
3436

3537
```sql
3638
ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD = 'password'
3739
```
3840

39-
2. Create failover group on Azure SQL Database Managed Instance.
41+
2. Create a failover group on an Azure SQL Database managed instance.
4042

41-
3. Run **sp_control_dbmasterkey_password** on the secondary instance, using the new encryption password.
43+
3. Run **sp_control_dbmasterkey_password** on the secondary instance, by using the new encryption password.
4244

4345
```sql
4446
EXEC sp_control_dbmasterkey_password @db_name = N'SSISDB',
4547
@password = N'<password>', @action = N'add';
4648
GO
4749
```
4850

49-
### Scenario 1 - Azure-SSIS IR is pointing to read-write listener endpoint
51+
### Scenario 1: Azure-SSIS IR is pointing to a read/write listener endpoint
5052

51-
If you want Azure-SSIS IR point to read-write listener endpoint, you need to point to primary server endpoint first. After putting SSISDB to failover group, you can change to read-write listener endpoint and restart Azure-SSIS IR.
53+
If you want the Azure-SSIS IR to point to a read/write listener endpoint, you need to point to the primary server endpoint first. After you put SSISDB in a failover group, you can change to the read/write listener endpoint and restart the Azure-SSIS IR.
5254

5355
#### Solution
5456

55-
When failover occurs, you have to do the following things:
57+
When failover occurs, take the following steps:
5658

57-
1. Stop Azure-SSIS IR on primary region.
59+
1. Stop the Azure-SSIS IR in the primary region.
5860

59-
2. Edit Azure-SSIS IR with new region, VNET and custom setup SAS URI information of secondary instance. As Azure-SSIS IR is pointing to read-write listener and the endpoint is transparent to Azure-SSIS IR, you don't need to edit the endpoint.
61+
2. Edit the Azure-SSIS IR with new region, virtual network, and shared access signature (SAS) URI information for custom setup on the secondary instance. Because the Azure-SSIS IR is pointing to a read/write listener and the endpoint is transparent to the Azure-SSIS IR, you don't need to edit the endpoint.
6062
6163
```powershell
6264
Set-AzDataFactoryV2IntegrationRuntime -Location "new region" `
@@ -65,19 +67,19 @@ When failover occurs, you have to do the following things:
6567
-SetupScriptContainerSasUri "new custom setup SAS URI"
6668
```
6769
68-
3. Restart Azure-SSIS IR.
70+
3. Restart the Azure-SSIS IR.
6971
70-
### Scenario 2 - Azure-SSIS IR is pointing to primary server endpoint
72+
### Scenario 2: Azure-SSIS IR is pointing to a primary server endpoint
7173
72-
The scenario is suitable if Azure-SSIS IR is pointing to primary server endpoint.
74+
This scenario is suitable if the Azure-SSIS IR is pointing to a primary server endpoint.
7375
7476
#### Solution
7577
76-
When failover occurs, you have to do the following things:
78+
When failover occurs, take the following steps:
7779
78-
1. Stop Azure-SSIS IR on primary region.
80+
1. Stop the Azure-SSIS IR in the primary region.
7981
80-
2. Edit Azure-SSIS IR with new region, endpoint and VNET information of secondary instance.
82+
2. Edit the Azure-SSIS IR with new region, endpoint, and virtual network information for the secondary instance.
8183
8284
```powershell
8385
Set-AzDataFactoryV2IntegrationRuntime -Location "new region" `
@@ -88,19 +90,19 @@ When failover occurs, you have to do the following things:
8890
-SetupScriptContainerSasUri "new custom setup SAS URI"
8991
```
9092
91-
3. Restart Azure-SSIS IR.
93+
3. Restart the Azure-SSIS IR.
9294
93-
### Scenario 3 - Azure-SSIS IR is pointing to public endpoint of Azure SQL Database Managed Instance
95+
### Scenario 3: Azure-SSIS IR is pointing to a public endpoint of a SQL Database managed instance
9496
95-
The scenario is suitable if the Azure-SSIS IR is pointing to public endpoint of Azure SQL Database Managed Instance and it doesn't join to VNET. The only difference between scenario 2 and this scenarios is that you don't need to edit VNET information of Azure-SSIS IR after failover.
97+
This scenario is suitable if the Azure-SSIS IR is pointing to a public endpoint of an Azure SQL Database managed instance and it doesn't join to a virtual network. The only difference from scenario 2 is that you don't need to edit virtual network information for the Azure-SSIS IR after failover.
9698
9799
#### Solution
98100
99-
When failover occurs, you have to do the following things:
101+
When failover occurs, take the following steps:
100102
101-
1. Stop Azure-SSIS IR on primary region.
103+
1. Stop the Azure-SSIS IR in the primary region.
102104
103-
2. Edit Azure-SSIS IR with new region and endpoint information of secondary instance.
105+
2. Edit the Azure-SSIS IR with the new region and endpoint information for the secondary instance.
104106
105107
```powershell
106108
Set-AzDataFactoryV2IntegrationRuntime -Location "new region" `
@@ -109,38 +111,38 @@ When failover occurs, you have to do the following things:
109111
-SetupScriptContainerSasUri "new custom setup SAS URI"
110112
```
111113
112-
3. Restart Azure-SSIS IR.
114+
3. Restart the Azure-SSIS IR.
113115
114-
### Scenario 4 - Attaching an existing SSISDB (SSIS catalog) to a new Azure-SSIS IR
116+
### Scenario 4: Attach an existing SSISDB instance (SSIS catalog) to a new Azure-SSIS IR
115117
116-
This scenario is suitable if you want to provision a new Azure-SSIS IR on secondary region or you want your SSISDB to keep working with a new Azure-SSIS IR in a new region when an ADF or Azure-SSIS IR disaster occurs in current region.
118+
This scenario is suitable if you want SSISDB to work with a new Azure-SSIS IR in a new region when an Azure Data Factory or Azure-SSIS IR disaster occurs in the current region.
117119
118120
#### Solution
119121
120-
When failover occurs, you have to do the following things:
122+
When failover occurs, take the following steps.
121123
122124
> [!NOTE]
123-
> Step 4 (creation of IR) needs to be done via PowerShell. Azure portal will report an error stating that SSISDB already exists.
125+
> Use PowerShell for step 4 (creation of the IR). If you don't, the Azure portal will report an error that says SSISDB already exists.
124126

125-
1. Stop Azure-SSIS IR on primary region.
127+
1. Stop the Azure-SSIS IR in the primary region.
126128

127-
2. Execute stored procedure to update metadata in SSISDB to accept connections from **\<new_data_factory_name\>** and **\<new_integration_runtime_name\>**.
129+
2. Run a stored procedure to update metadata in SSISDB to accept connections from **\<new_data_factory_name\>** and **\<new_integration_runtime_name\>**.
128130

129131
```sql
130132
EXEC [catalog].[failover_integration_runtime] @data_factory_name='<new_data_factory_name>', @integration_runtime_name='<new_integration_runtime_name>'
131133
```
132134

133-
3. Create a new data factory named **\<new_data_factory_name\>** in the new region. For more info, see Create a data factory.
135+
3. Create a new data factory named **\<new_data_factory_name\>** in the new region.
134136

135137
```powershell
136138
Set-AzDataFactoryV2 -ResourceGroupName "new resource group name" `
137139
-Location "new region"`
138140
-Name "<new_data_factory_name>"
139141
```
140142

141-
For more info about this PowerShell command, see [Create an Azure data factory using PowerShell](quickstart-create-data-factory-powershell.md)
143+
For more info about this PowerShell command, see [Create an Azure data factory using PowerShell](quickstart-create-data-factory-powershell.md).
142144

143-
4. Create a new Azure-SSIS IR named **\<new_integration_runtime_name\>** in the new region using Azure PowerShell.
145+
4. Create a new Azure-SSIS IR named **\<new_integration_runtime_name\>** in the new region by using Azure PowerShell.
144146

145147
```powershell
146148
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName "new resource group name" `
@@ -160,34 +162,39 @@ When failover occurs, you have to do the following things:
160162
-CatalogPricingTier $SSISDBPricingTier
161163
```
162164

163-
For more info about this PowerShell command, see [Create the Azure-SSIS integration runtime in Azure Data Factory](create-azure-ssis-integration-runtime.md)
165+
For more info about this PowerShell command, see [Create the Azure-SSIS integration runtime in Azure Data Factory](create-azure-ssis-integration-runtime.md).
166+
167+
164168

169+
## Azure-SSIS IR failover with SQL Database
165170

171+
### Scenario 1: Azure-SSIS IR is pointing to a read/write listener endpoint
166172

167-
## Azure-SSIS IR failover with Azure SQL Database
173+
This scenario is suitable when:
168174

169-
### Scenario 1 - Azure-SSIS IR is pointing to read-write listener endpoint
175+
- The Azure-SSIS IR is pointing to the read/write listener endpoint of the failover group.
176+
- The SQL Database server is *not* configured with the rule for the virtual network service endpoint.
170177

171-
This scenario is suitable Azure-SSIS IR is pointing to the read-write listener endpoint of the failover group and the SQL Database server is *not* configured with the virtual network service endpoint rule.
172-
If you want Azure-SSIS IR point to read-write listener endpoint, you need to point to primary server endpoint first. After putting SSISDB to failover group, you can change to read-write listener endpoint and restart Azure-SSIS IR.
178+
If you want the Azure-SSIS IR to point to a read/write listener endpoint, you need to point to the primary server endpoint first. After you put SSISDB in a failover group, you can change to a read/write listener endpoint and restart the Azure-SSIS IR.
173179

174180
#### Solution
175181

176-
When failover occurs, it is transparent to the Azure-SSIS IR. The Azure-SSIS IR automatically connects to the new primary of the failover group.
177-
If you want to update the region or other information in Azure-SSIS IR, you can stop it, edit and restart.
182+
When failover occurs, it's transparent to the Azure-SSIS IR. The Azure-SSIS IR automatically connects to the new primary of the failover group.
178183
184+
If you want to update the region or other information in the Azure-SSIS IR, you can stop it, edit, and restart.
179185
180-
### Scenario 2 - Azure-SSIS IR is pointing to primary server endpoint
181186
182-
The scenario is suitable if Azure-SSIS IR is pointing to primary server endpoint.
187+
### Scenario 2: Azure-SSIS IR is pointing to a primary server endpoint
188+
189+
This scenario is suitable if the Azure-SSIS IR is pointing to a primary server endpoint.
183190
184191
#### Solution
185192
186-
When failover occurs, you have to do the following things:
193+
When failover occurs, take the following steps:
187194
188-
1. Stop Azure-SSIS IR on primary region.
195+
1. Stop the Azure-SSIS IR in the primary region.
189196
190-
2. Edit Azure-SSIS IR with new region, endpoint, and VNET information of secondary instance.
197+
2. Edit the Azure-SSIS IR with new region, endpoint, and virtual network information for the secondary instance.
191198
192199
```powershell
193200
Set-AzDataFactoryV2IntegrationRuntime -Location "new region" `
@@ -198,36 +205,38 @@ When failover occurs, you have to do the following things:
198205
-SetupScriptContainerSasUri "new custom setup SAS URI"
199206
```
200207
201-
3. Restart Azure-SSIS IR.
208+
3. Restart the Azure-SSIS IR.
202209
203-
### Scenario 3 - Attaching an existing SSISDB (SSIS catalog) to a new Azure-SSIS IR
210+
### Scenario 3: Attach an existing SSISDB (SSIS catalog) to a new Azure-SSIS IR
204211
205-
This scenario is suitable if you want to provision a new Azure-SSIS IR on secondary region or you want your SSISDB to keep working with a new Azure-SSIS IR in a new region when an ADF or Azure-SSIS IR disaster occurs in current region.
212+
This scenario is suitable if you want to provision a new Azure-SSIS IR in a secondary region. It's also suitable if you want your SSISDB to keep working with a new Azure-SSIS IR in a new region when an Azure Data Factory or Azure-SSIS IR disaster occurs in the current region.
206213

207214
#### Solution
208215

216+
When failover occurs, take the following steps.
217+
209218
> [!NOTE]
210-
> Step 4 (creation of IR) needs to be done via PowerShell. Azure portal will report an error stating that SSISDB already exists.
219+
> Use PowerShell for step 4 (creation of the IR). If you don't, the Azure portal will report an error that says SSISDB already exists.
211220
212-
1. Stop Azure-SSIS IR on primary region.
221+
1. Stop the Azure-SSIS IR in the primary region.
213222
214-
2. Execute stored procedure to update metadata in SSISDB to accept connections from **\<new_data_factory_name\>** and **\<new_integration_runtime_name\>**.
223+
2. Run a stored procedure to update metadata in SSISDB to accept connections from **\<new_data_factory_name\>** and **\<new_integration_runtime_name\>**.
215224
216225
```sql
217226
EXEC [catalog].[failover_integration_runtime] @data_factory_name='<new_data_factory_name>', @integration_runtime_name='<new_integration_runtime_name>'
218227
```
219228
220-
3. Create a new data factory named **\<new_data_factory_name\>** in the new region. For more info, see Create a data factory.
229+
3. Create a new data factory named **\<new_data_factory_name\>** in the new region.
221230
222231
```powershell
223232
Set-AzDataFactoryV2 -ResourceGroupName "new resource group name" `
224233
-Location "new region"`
225234
-Name "<new_data_factory_name>"
226235
```
227236
228-
For more info about this PowerShell command, see [Create an Azure data factory using PowerShell](quickstart-create-data-factory-powershell.md)
237+
For more info about this PowerShell command, see [Create an Azure data factory using PowerShell](quickstart-create-data-factory-powershell.md).
229238
230-
4. Create a new Azure-SSIS IR named **\<new_integration_runtime_name\>** in the new region using Azure PowerShell.
239+
4. Create a new Azure-SSIS IR named **\<new_integration_runtime_name\>** in the new region by using Azure PowerShell.
231240
232241
```powershell
233242
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName "new resource group name" `
@@ -247,15 +256,15 @@ This scenario is suitable if you want to provision a new Azure-SSIS IR on second
247256
-CatalogPricingTier $SSISDBPricingTier
248257
```
249258
250-
For more info about this PowerShell command, see [Create the Azure-SSIS integration runtime in Azure Data Factory](create-azure-ssis-integration-runtime.md)
259+
For more info about this PowerShell command, see [Create the Azure-SSIS integration runtime in Azure Data Factory](create-azure-ssis-integration-runtime.md).
251260
252261
253262
## Next steps
254263
255264
Consider these other configuration options for the Azure-SSIS IR:
256265
257-
- [Configure the Azure-SSIS Integration Runtime for high performance](configure-azure-ssis-integration-runtime-performance.md)
266+
- [Configure the Azure-SSIS integration runtime for high performance](configure-azure-ssis-integration-runtime-performance.md)
258267
259268
- [Customize setup for the Azure-SSIS integration runtime](how-to-configure-azure-ssis-ir-custom-setup.md)
260269
261-
- [Provision Enterprise Edition for the Azure-SSIS Integration Runtime](how-to-configure-azure-ssis-ir-enterprise-edition.md)
270+
- [Provision Enterprise Edition for the Azure-SSIS integration runtime](how-to-configure-azure-ssis-ir-enterprise-edition.md)

0 commit comments

Comments
 (0)