2

データベース スクリプトの展開をより適切に検証するために、Octopus 展開の最初のステップとして、運用データベースのミラー イメージを使用してステージング データベースを事前に初期化したいと考えています。SQL Azure と DACFX を使用しています。他の誰かがこれを試したかどうか、私は興味があります...

  • Start-AzureSqlDatabaseCopyこの操作に使用する適切な PS コマンドレットはありますか?
  • これは本番環境のパフォーマンスに影響しますか?
  • 他に考慮すべきオプションはありますか?

アップデート

以下のスクリプトを開発しましたが、うまくいくようです。ただし、データベースのコピーが完了するまで、スクリプトの完了をブロックするのに問題があります。ある時点Get-AzureSqlDatabaseCopyでエラーがスローされます (おそらく、Azure は負荷を処理できませんか?)。

Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\ServiceManagement\Azure\Azure.psd1'

$serverName = "..."
$sourceDbName = "..."
$targetDbName = "..."

$testdb = Get-AzureSqlDatabase -ServerName $serverName -DatabaseName $targetDbName -ErrorAction SilentlyContinue

IF (!$testdb)
{
    Write-Host "TestDB Not Found"
}
ELSE
{
    Remove-AzureSqlDatabase -ServerName $serverName -Database $testdb -Force
}

$dbCopy = Start-AzureSqlDatabaseCopy -ServerName $serverName -DatabaseName $sourceDbName -PartnerDatabase $targetDbName

WHILE ($dbCopy)
{
    Write-Progress -Activity "Copying Database" -PercentComplete [int]$dbCopy.PercentComplete
    $dbCopy = Get-AzureSqlDatabaseCopy -ServerName $serverName -DatabaseCopy $dbCopy

    # Sleep 10 seconds
    [System.Threading.Thread]::Sleep(10000);
}

Write-Host "Complete"

これが正しい方法であるかどうかはまだ確信が持てず、Azure に多くの負荷がかかっているようです (何らかの理由で実行中にポータルにログインできませんでした)。任意の考えをいただければ幸いです...

4

1 に答える 1