<# import a database from a blob container in another subsciption #> [CmdletBinding()] param ( [string] $environment, # to environment [string] $tenantid, [string] $production_subscriptionid, [string] $production_spn_clientid, [string] $production_spn_secret, [string] $subscriptionid, [string] $spn_clientid, [string] $spn_secret, [string] $skuname ) If ($environment -eq $null){ $environment = "DEV"; } Write-Host "************************************************" Write-Host "variables" Write-Host "************************************************" $resourcegroup1 = "AUAZE-$environment-DEMO" $production_resourcegroup1 = "AUAZE-PRD-DEMO" $sqlserver1 = "AUAZE-$environment-DEMO-dbsvrp1".ToLower() $keyvaultname = "au-DEMO-$environment-1".ToLower() $backups = 'backups' $filename = "DEMO_PRD_$(Get-Date -Format "yyyy-MM-dd").bacpac" ### YOU CAN ONLY IMPORT TODAYS PRODUCTION EXPORT $bloburi = "https://backups.blob.core.windows.net/bacpac/$filename" ### PRODUCTION Write-Host "************************************************" Write-Host "login via spn to production and get the container key" Write-Host "************************************************" az login --service-principal --username $production_spn_clientid --password $production_spn_secret --tenant $tenantid $keyvalue = az storage account keys list -g $production_resourcegroup1 -n $backups --subscription $production_subscriptionid --query '[0].value' -o json az logout --username $production_spn_clientid ### DEV or UAT Write-Host "************************************************" Write-Host "login to dev or uat" Write-Host "************************************************" az login --service-principal --username $spn_clientid --password $spn_secret --tenant $tenantid $sqladmin = az keyvault secret show --name 'sqladmin' --vault-name $keyvaultname --query 'value' $sqlpassword = az keyvault secret show --name 'sqlpassword' --vault-name $keyvaultname --query 'value' Write-Host "************************************************" Write-Host "import bacpac from production to blob container" Write-Host "************************************************" az account set --subscription $subscriptionid az sql db delete -g $resourcegroup1 -s $sqlserver1 -n "DEMO" --yes az sql db create -g $resourcegroup1 -s $sqlserver1 -n "DEMO" --service-objective $skuname az sql db import -s $sqlserver1 -n "DEMO" -g $resourcegroup1 -u $sqladmin -p $sqlpassword --auth-type SQL --storage-uri $bloburi --storage-key-type "StorageAccessKey" --storage-key "$keyvalue"