Azure SQL Databaseのバックアップ:ファイル出力
ストレージアクセスキーで出力
7つの引数が必要.
az sql db export --admin-password ${db-admin-password} ` --admin-user ${db-admin-user} ` --name ${origin_db} ` --resource-group ${resource-group} ` --server ${myserver} ` --storage-key-type StorageAccessKey ` --storage-uri ${storage-uri} ` --storage-key ${storage-key}
ストレージ関係を省略化してみる(同じサブスクリプションを利用している前提)
storage-keyの取得key1取得する
#ストレージアカウント ${storage-acccount} = "" #リソースグループ ${resource-group} = "" #アクセスキーのリストからkey1取得する az storage account keys list -g ${resource-group} -n ${storage-acccount} --query "[?keyName=='key1'].value|[0]" ''' ストレージのアクセスキーが減って、ストレージのアカウント名が増えた。 ストレージのURL(出力先のファイル名を含む)は、 blobサービスのエンドポイントとブロブのコンテナとフィル名の3つで構成されている。 blobサービスのエンドポイント ''' #URIのドメイン部分を取得 az storage account show -g ${resource-group} -n ${storage-acccount} --query "primaryEndpoints.blob" #実行結果は結局:"https://${storage-acccount}.blob.core.windows.net/" ''' ''' #SQLサーバ名 ${myserver} ="" #SQLサーバの管理者名 ${db-admin-user}="" #SQLサーバの管理者パスワード ${db-admin-password} ="" #バックアップ元のDB名 ${origin_db} ="" #リソースグループ名 ${resource-group}="" #バックアップ先(AzureStorage) #アカウント ${storage-acccount}="" #コンテナ ${container-name} ="" #バックアップ先のファイル名 ${file} = "" #ストレージのURL(出力先のファイル名を含む) ${Endpoint} = az storage account show -g ${resource-group} -n ${storage-acccount} --query "primaryEndpoints.blob" ${storage-uri} = ${Endpoint}+${container-name}+"/"+${file} #ストレージのアクセスキー ${storage-key} = az storage account keys list -g ${resource-group} -n ${storage-acccount} --query "[?keyName=='key1'].value | [0]" #DBバックアップ実行 az sql db export --admin-password ${db-admin-password} ` --admin-user ${db-admin-user} ` --name ${origin_db} ` --resource-group ${resource-group} ` --server ${myserver} ` --storage-key-type StorageAccessKey ` --storage-uri ${storage-uri} ` --storage-key ${storage-key}