Files
Usefull_scripts/Daily_Backup_review/Start-PointInTimeRestore.ps1
T
pi-ux-ce 51dd4494db 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
2024-07-17 08:04:59 +00:00

85 lines
2.8 KiB
PowerShell

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