Azure SQL Databaseのコピー

Azure SQL Databaseのコピー

エラスティックプール上のDatabaseを同じエラスティックプール上にコピーする。

データベースをコピーする。

#データベース名
${origin_db} = "";
#リソースグループ名
${resource-group} = "";
#サーバ名
${myserver} = "" 
#エラスティックプール名
${elastic-pool} = ""
#日時の取得
${date_now} = Get-Date -Format "yyyyMMdd-HHmm"
#日時付きの名前を作成
${copy_db} = ${origin_db} + "_" + ${date_now}


az sql db copy -g ${resource-group} -s ${myserver} -n ${origin_db} --dest-name ${copy_db} --elastic-pool ${elastic-pool}

databaseを特定するには

データベース名、リソースグループ名、サーバ名が3つが必要。

az sql db show --name
               --resource-group
               --server

エラスティックプール名を設定から取得できるといいなあ。

エラスティックプール名を取得する

az sql db show --name ${origin_db}  --resource-group ${resource-group}  -
-server ${myserver} --query "{elasticPoolName: elasticPoolName}" -o tsv

データベースをコピーする。(引数3つ)

#データベース名
${origin_db} = "";
#リソースグループ名
${resource-group} = "";
#サーバ名
${myserver} = "" 

${date_now} = Get-Date -Format "yyyyMMdd-HHmm"
${copy_db} = ${origin_db} + "_" + ${date_now}


#エラスティックプール名
${elastic-pool} = az sql db show --name ${origin_db}  --resource-group ${resource-group}  --server ${myserver} --query "{elasticPoolName: elasticPoolName}" -o tsv

az sql db copy -g ${resource-group} -s ${myserver} -n ${origin_db} --dest-name ${copy_db} --elastic-pool ${elastic-pool}