In my previous post
we covered backup of BizTalk Services. In this post we will cover the other
part of the story, i.e. restore of BizTalk Services. To re-iterate, backup-restore
feature provides solution for following scenarios:
- Disaster Recovery
- Service migration from dev to prod
- Upgrade service edition (basic to standard, basic to premium and standard to premium)
Pre-requisites and Setup
You need to install Windows Azure PowerShell on your machine
and download Windows Azure BizTalk Service Management PowerShell Cmdlets.
Details about both of these is available here.
This link contains a sample for management of BizTalk Services through PowerShell.
Follow the description of this sample to setup your machine. Summarizing the
steps needed to be performed:
- Install Windows Azure PowerShell
- Compile the sample application to generate Microsoft.WindowsAzure.Management.BizTalkService.dll
- Import Microsoft.WindowsAzure.Management.BizTalkService.dll
- Set Azure Subscription
Perform Restore
Set Azure Subscription
If you followed the steps mentioned in the sample's
description you should have Windows Azure PowerShell command window open with
subscription set to the one where your BizTalk Service is provisioned. Execute
following commands to set Azure subscription:
C:\PS> $subID = <Subscription ID>
C:\PS> $thumbprint = <Certificate Thumbprint>
C:\PS> $myCert = Get-Item cert:\\LocalMachine\My\$thumbprint
C:\PS> Set-AzureSubscription –SubscriptionName "MySub" -SubscriptionId
$subID -Certificate $myCert
|
Note: Install the management
certificate for your subscription in machine's certificate store under Local Machine.
Execute Restore Cmdlet
Execute the Restore-AzureBizTalkService cmdlet to restore a BizTalk
Service deployment from a backup. This cmdlet takes following inputs:
- ResourceName – Name of your biztalk service
- Location – Region where you want to restore the service
- BackupName – Container inside storage account where backup is stored
- BackupStoreConectionString – Storage account connection string where backup is stored
- Configuration – Configuration file which contains additional input parameters for service restoration. The sample contains couple of configuration files that you can modify. I picked up the sample_create_mandatory.xml file as it only contains the mandatory parameters required to be provided. Another section below covers this configuration file in detail.
C:\PS> Restore-AzureBizTalkService
-ResourceName <Biztalk Service name> -Location "<Region>"
-BackupName <Backup container name> -BackupStoreConnectionString " BlobEndpoint=https://<account
name>.blob.core.windows.net/;QueueEndpoint=https://<account
name>.queue.core.windows.net/;TableEndpoint=https://<account
name>.table.core.windows.net/;AccountName=<account
name>;AccountKey=<account key>;DefaultEndpointsProtocol=https" -ConfigurationFile
"Configuration xml file path" |
Or...
C:\PS> Restore-AzureBizTalkService
-ResourceName <Biztalk Service name> -Location "<Region>"
-BackupName <Backup container name> -BackupStoreConnectionString " DefaultEndpointsProtocol=https;AccountName=<your
storage account name>;AccountKey=<your storage account key>" -ConfigurationFile
"Configuration xml file path" |
Note: This may take up around
30 minutes to 1 hour to complete.
On Azure Portal…
Configuration File
Configuration file contains the input parameters required by
various management operations like New, Restore, Update etc. Here is a sample
configuration file with mandatory parameters:
<?xml version="1.0" encoding="utf-8"?>
<ServiceSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ServiceVersion>1.1.0</ServiceVersion>
<Edition>developer</Edition>
<UnitCount>1</UnitCount>
<TrackingStoreConnectionString>Data Source=tcp:{server name}.database.windows.net;Initial
Catalog={database name};Integrated Security=False;User ID={user name}@{server
name};Password={password};Asynchronous Processing=True;Encrypt=True;TrustServerCertificate=False</TrackingStoreConnectionString>
<MonitoringStoreConnectionString>BlobEndpoint=https://{storage account
name}.blob.core.windows.net/;QueueEndpoint=https://{storage account
name}.queue.core.windows.net/;TableEndpoint=https://{storage account
name}.table.core.windows.net/;AccountName={storage account
name};AccountKey={storage account key};DefaultEndpointsProtocol=https</MonitoringStoreConnectionString>
</ServiceSettings>
|
You need to provide appropriate values for following
parameters in the configuration:
- Edition: Possible values for edition are
- developer
- standard
- premium
- basic
- Tracking store connection string
- Monitoring/Archiving store connection string
Execute Resume Cmdlet
BizTalk Service gets restored in a suspended
state where the service accept only management operations but runtime messages are not processed. Suspended
state lets you to change any configuration of the service before message
processing can start.
Execute the Resume-AzureBizTalkService cmdlet to resume the BizTalk
Service. This cmdlet takes following inputs:
- ResourceName – Name of your biztalk service
C:\PS> Resume-AzureBizTalkService
-ResourceName <Biztalk Service name> |
Note: This may take up around
15 minutes to complete.
Request submission…
Request completion…
On Azure Portal…