Update 44 files
- /Daily_Backup_review/database_s3_check.ps1 - /Daily_Backup_review/Get-StorageContainerContent.ps1 - /Daily_Backup_review/Global_Checks.ps1 - /Daily_Backup_review/list_table_within_databases.ps1 - /Daily_Backup_review/Start-AzureSQLExport.ps1 - /Daily_Backup_review/Start-BackupCheckBpScus.ps1 - /Daily_Backup_review/Start-BackupCheckBpWeu.ps1 - /Daily_Backup_review/Start-BackupCheckRoserAttachments.ps1 - /Daily_Backup_review/Start-BackupCheckRoserCloud.ps1 - /Daily_Backup_review/Start-BackupCheckTotal.ps1 - /Daily_Backup_review/Start-DatabaseExport.ps1 - /Daily_Backup_review/Start-PointInTimeRestore.ps1 - /Daily_Backup_review/list_databases_within_instances.py - /Daily_Citrix_VDA_and_Server_Utilization_review/Cloudwatch_review/cloudwatch_alarm_ap-southeast-2.json - /Daily_Citrix_VDA_and_Server_Utilization_review/Cloudwatch_review/Cloudwatch_review.ps1 - /Ansible/audit-netscaler-exp.yaml - /Ansible/concurrent-user.yaml - /Ansible/do-something.yaml - /Ansible/hello-world.yaml - /Ansible/p6-log-cleanup.yaml - /Ansible/Roser_DB_backup_one_off.yaml - /Ansible/test-sql.yaml - /Ansible/test-sql-double-creds.yaml - /RoserUsefull/access_bulk_servers.ps1 - /RoserUsefull/access_bulk_servers_cezar.ps1 - /RoserUsefull/Bulk_copy_files.ps1 - /RoserUsefull/Besfort_data.ps1 - /RoserUsefull/check_permissions_bulk_servers.ps1 - /RoserUsefull/Check-p6interface-checksum.ps1 - /RoserUsefull/compare_files.ps1 - /RoserUsefull/connections_parser.ps1 - /RoserUsefull/drop_rds_registry_key.ps1 - /RoserUsefull/EmergencyAccessRemote.ps1 - /RoserUsefull/Keycloak_TestConnection.ps1 - /RoserUsefull/Kickoff_disconnected_users.ps1 - /RoserUsefull/launch_jira.ps1 - /RoserUsefull/launch_jira_gui.ps1 - /RoserUsefull/ownership_taker_anonymized.ps1 - /RoserUsefull/purge_files.ps1 - /RoserUsefull/remove_local_profiles_PowerShell.PS1 - /RoserUsefull/retrieve_attachements.ps1 - /RoserUsefull/Send_patch_multiple_servers.ps1 - /RoserUsefull/Test-RSAAPI-BP.ps1 - /RoserUsefull/Linux_identify_big_files.sh
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
Param(
|
||||
$SubscriptionID,
|
||||
$ResourceGroupName,
|
||||
$SourceInstanceName,
|
||||
$SourceDatabaseName,
|
||||
$DestinationInstanceName,
|
||||
$DestinationDatabaseName,
|
||||
$PointInTime,
|
||||
[switch]$NonInteractive
|
||||
)
|
||||
|
||||
|
||||
Write-Verbose "- $($PSBoundParameters | ConvertTo-Json)"
|
||||
|
||||
Login-AzAccount
|
||||
|
||||
if(-not $SubscriptionID) {
|
||||
$Subscription = Get-AzSubscription | Out-Gridview -passthru # Select your subscription
|
||||
} else {
|
||||
$Subscription = Get-AzSubscription -SubscriptionId $SubscriptionID
|
||||
}
|
||||
Select-AzSubscription -Subscription $Subscription.SubscriptionId
|
||||
|
||||
if(-not $ResourceGroupName) {
|
||||
$ResourceGroup = Get-AzResourceGroup | Out-Gridview -passthru # Select your resource group
|
||||
} else {
|
||||
$ResourceGroup = Get-AzResourceGroup -ResourceGroupName $ResourceGroupName
|
||||
}
|
||||
|
||||
if(-not $SourceInstanceName) {
|
||||
$SourceInstance = Get-AzSqlInstance | Out-Gridview -Passthru # Select the source instance for the restore
|
||||
} else {
|
||||
$SourceInstance = Get-AzSqlInstance -Name $SourceInstanceName
|
||||
}
|
||||
|
||||
if(-not $DestinationInstanceName) {
|
||||
$DestinationInstance = Get-AzSqlInstance | Out-GridView -PassThru # Select the Target instance for the restore
|
||||
} else {
|
||||
$DestinationInstance = Get-AzSqlInstance -Name $DestinationInstanceName
|
||||
}
|
||||
|
||||
if(-not $SourceDatabaseName) {
|
||||
$SourceDatabase = Get-AzSqlInstanceDatabase -InstanceName $SourceInstance.ManagedInstanceName -ResourceGroupName $ResourceGroup.ResourceGroupName | Out-GridView -PassThru # Select Database to restore
|
||||
} else {
|
||||
$SourceDatabase = Get-AzSqlInstanceDatabase -InstanceName $SourceInstance.ManagedInstanceName -Name $SourceDatabaseName -ResourceGroupName $ResourceGroup.ResourceGroupName
|
||||
}
|
||||
|
||||
if(-not $DestinationDatabaseName) {
|
||||
$DestinationDatabaseName = read-host -Prompt 'Destination DB name'
|
||||
}
|
||||
|
||||
if(-not $PointInTime) {
|
||||
$PointInTime = Get-Date
|
||||
}
|
||||
|
||||
|
||||
$ParamRestoreAzSqlinstanceDatabase = @{
|
||||
FromPointInTimeBackup = $true
|
||||
InstanceName = $SourceInstance.ManagedInstanceName
|
||||
Name = $SourceDatabase.Name
|
||||
ResourceGroupName = $ResourceGroup.ResourceGroupName
|
||||
PointInTime = $PointInTime
|
||||
TargetInstanceDatabaseName = $DestinationDatabaseName
|
||||
TargetResourceGroupName = $ResourceGroup.ResourceGroupName
|
||||
TargetInstanceName = $DestinationInstance.ManagedInstanceName
|
||||
}
|
||||
|
||||
Write-Verbose @"
|
||||
@Param = @{
|
||||
`$SubscriptionID = '$($Subscription.SubscriptionID)'
|
||||
`$ResourceGroupName = '$($ResourceGroup.ResourceGroupName)'
|
||||
`$SourceInstanceName = '$($SourceInstance.ManagedInstanceName)'
|
||||
`$SourceDatabaseName = '$($SourceDatabase.Name)'
|
||||
`$DestinationInstanceName = '$($DestinationInstance.ManagedInstanceName)'
|
||||
`$DestinationDatabaseName = '$($DestinationDatabaseName)'
|
||||
}
|
||||
"@
|
||||
|
||||
|
||||
if(-not $NonInteractive) {
|
||||
write-warning "$($ParamRestoreAzSqlinstanceDatabase | ConvertTo-JSon)"
|
||||
Write-Warning "Continue with Restore?" -WarningAction Inquire
|
||||
}
|
||||
|
||||
Restore-AzSqlinstanceDatabase @ParamRestoreAzSqlInstanceDatabase
|
||||
Reference in New Issue
Block a user