本番環境のDBをコピーしてデータのマスキング処理を行ったあとに別の環境にコピーして使うのをイメージしています。
PowerShellでAzureSQLDatabaseのポイントインタイムリストアからのリストア
で作成したDBをエクスポートするように作成しました。
こちらも残念ながらクラシック版です
function Start-CustomSqlDatabaseExport
{
[CmdletBinding()]
param (
[Parameter(Mandatory)]
[string] $serverAdmin,
[string] $serverPassword,
[string] $SourceServerName,
[string] $StorageAccountName,
[string] $StorageAccountKey,
[string] $ContainerName = "コンテナ名",
[string] $SourceDatabaseName = "リストア後DB"
)
if($SourceDatabaseName -eq "引数指定無しの場合")
{
$SourceDatabaseName = $SourceDatabaseName + (Get-Date -Format "_yyyyMMdd")
}
if($ContainerName -eq "引数指定なしの場合")
{
$ContainerName = $ContainerName + (Get-Date -Format "-yyyyMMdd")
try
{
New-AzureStorageContainer -Name $ContainerName -ErrorAction Stop
}
catch
{
Write-Output "Skipped New-AzureStorageContainer"
}
}
$TargetBlobName = $SourceDatabaseName + (Get-Date -Format "HHmmss") + ".bacpac"
#SQLDBの資格情報作成
$securePassword = ConvertTo-SecureString –String $serverPassword –AsPlainText -Force
$credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $serverAdmin, $securePassword
$SqlConnectionContext = New-AzureSqlDatabaseServerContext -ServerName $SourceServerName -Credential $credential
#格納先Storageの情報
$StorageContext = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$StorageContainer = Get-AzureStorageContainer -Name $ContainerName -Context $StorageContext
$exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlConnectionContext -StorageContainer $StorageContainer -DatabaseName $SourceDatabaseName -BlobName $TargetBlobName
$Counter = 1
while ($true)
{
#終了するまで待機
$DbExportStatus = Get-AzureSqlDatabaseImportExportStatus -Request $exportRequest -ErrorAction SilentlyContinue
if ($DbExportStatus.Status -eq 'Completed'){
break
}
sleep -Seconds 10 -Verbose
}
}
$serverAdmin="serverAdmin"
$serverPassword="serverPassword"
$SourceServerName="databaseservername"
$StorageAccountName="StorageAccountName"
$StorageAccountKey="StorageAccountKey"
Get-AzureSubscription -Current | Set-AzureSubscription -CurrentStorageAccountName $StorageAccountName
Start-CustomSqlDatabaseExport -serverAdmin $serverAdmin -serverPassword $serverPassword -SourceServerName $SourceServerName -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey