Skip to content

Commit a385cd6

Browse files
authored
Merge pull request Azure#10543 from MabOneSdk/users/sisi/sqlfilestream
[RecoveryServices] Sql restore accepting filestream DBs
2 parents f075566 + 932b886 commit a385cd6

File tree

5 files changed

+291483
-1
lines changed

5 files changed

+291483
-1
lines changed

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureWorkload/ItemTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,14 @@ public void TestAzureVmWorkloadFullRestore()
9494
TestController.NewInstance.RunPsTest(
9595
_logger, PsBackupProviderTypes.AzureWorkload, "Test-AzureVmWorkloadFullRestore");
9696
}
97+
98+
[Fact]
99+
[Trait(Category.AcceptanceType, Category.CheckIn)]
100+
[Trait(TestConstants.Workload, TestConstants.AzureVmWorkload)]
101+
public void TestAzureVmWorkloadFullRestoreWithFiles()
102+
{
103+
TestController.NewInstance.RunPsTest(
104+
_logger, PsBackupProviderTypes.AzureWorkload, "Test-AzureVmWorkloadFullRestoreWithFiles");
105+
}
97106
}
98107
}

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureWorkload/ItemTests.ps1

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ $containerName = "pstestwlvm1bca8"
1616
$resourceGroupName = "pstestwlRG1bca8"
1717
$vaultName = "pstestwlRSV1bca8"
1818
$resourceId = "/subscriptions/da364f0f-307b-41c9-9d47-b7413ec45535/resourceGroups/pstestwlRG1bca8/providers/Microsoft.Compute/virtualMachines/pstestwlvm1bca8"
19+
$resourceIdForFileDB = "/subscriptions/f879818f-5b29-4a43-8961-34169783144f/resourceGroups/psbvtrg/providers/Microsoft.Compute/virtualMachines/psbvtsqlvm"
1920
$policyName = "HourlyLogBackup"
2021
$instanceName = "sqlinstance;mssqlserver"
2122

@@ -531,4 +532,74 @@ function Test-AzureVmWorkloadFullRestore
531532
{
532533
Cleanup-Vault $vault $item $container
533534
}
535+
}
536+
537+
function Test-AzureVmWorkloadFullRestoreWithFiles
538+
{
539+
try
540+
{
541+
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "psbvtrg" -Name "pssqlbvtvault"
542+
$container = Register-AzRecoveryServicesBackupContainer `
543+
-ResourceId $resourceIdForFileDB `
544+
-BackupManagementType AzureWorkload `
545+
-WorkloadType MSSQL `
546+
-VaultId $vault.ID `
547+
-Force
548+
549+
$policy = Get-AzRecoveryServicesBackupProtectionPolicy `
550+
-VaultId $vault.ID `
551+
-Name $policyName
552+
553+
$protectableItems = Get-AzRecoveryServicesBackupProtectableItem `
554+
-VaultId $vault.ID `
555+
-Container $container `
556+
-WorkloadType "MSSQL" `
557+
-ItemType "SQLDataBase";
558+
559+
$protectableInstances = Get-AzRecoveryServicesBackupProtectableItem `
560+
-VaultId $vault.ID `
561+
-Container $container `
562+
-WorkloadType "MSSQL" `
563+
-ItemType "SQLInstance";
564+
565+
Enable-AzRecoveryServicesBackupProtection `
566+
-VaultId $vault.ID `
567+
-Policy $policy `
568+
-ProtectableItem $protectableItems[4];
569+
570+
$item = Get-AzRecoveryServicesBackupItem `
571+
-VaultId $vault.ID `
572+
-Container $container `
573+
-WorkloadType MSSQL;
574+
575+
$backupJob = Backup-AzRecoveryServicesBackupItem `
576+
-VaultId $vault.ID `
577+
-Item $item[0] `
578+
-BackupType "Full" | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
579+
580+
$backupStartTime = $backupJob.StartTime.AddMinutes(-1);
581+
$backupEndTime = $backupJob.EndTime.AddMinutes(1);
582+
583+
$recoveryPoint = Get-AzRecoveryServicesBackupRecoveryPoint `
584+
-VaultId $vault.ID `
585+
-StartDate $backupStartTime `
586+
-EndDate $backupEndTime `
587+
-Item $item;
588+
589+
$restoreJob1 = Get-AzRecoveryServicesBackupRecoveryPoint `
590+
-VaultId $vault.ID `
591+
-StartDate $backupStartTime `
592+
-EndDate $backupEndTime `
593+
-Item $item | Get-AzRecoveryServicesBackupWorkloadRecoveryConfig `
594+
-VaultId $vault.ID `
595+
-TargetItem $protectableInstances[0] `
596+
–AlternateWorkloadRestore | Restore-AzRecoveryServicesBackupItem `
597+
-VaultId $vault.ID | Wait-AzureRmRecoveryServicesBackupJob -VaultId $vault.ID
598+
599+
Assert-True { $restoreJob1.Status -eq "Completed" }
600+
}
601+
finally
602+
{
603+
Cleanup-Vault $vault $item $container
604+
}
534605
}

0 commit comments

Comments
 (0)