web-dev-qa-db-ja.com

Amazon-RDS(SQL-Server)バックアップまたはスナップショットをダウンロード

ローカルでWebアプリをテストするために、バックアップの1つをダウンロードしてラップトップに復元したいと考えています。 SQL Expressを使用しています。

これはこれに似ています MySQLの質問 。 T-SQLを使用してバックアップを実行できますか?そして、どういうわけかそれをS3に向けますか?

5
NealWalters

SQL Serverデータベースのインポートとエクスポート の手順に従うと、これは非常に簡単です。

主な手順は次のとおりです。

  • S3バケットを作成する
  • そのバケットへのIAMロールを持つオプショングループを作成します 。必ず「SQL_SERVER_BACKUP_RESTORE」オプションを選択してください。
  • オプショングループをRDSインスタンスに割り当てます
    • インスタンスが表示されているRDSダッシュボードに移動します。
    • RDSインスタンスをクリックして、詳細画面を表示します。
    • 右上の「変更」ボタンをクリックします。
    • [データベースオプション]-> [オプショングループ]まで下にスクロールします。
    • バックアップと復元オプションを持つ新しく作成されたオプショングループを選択します。
    • 保存/続行します。すぐに適用することを選択した場合でも、この変更が有効になるまで数分かかる場合があります。個人的には、ダウンタイムは発生しませんでした、YMMV。
  • バックアップスクリプトを実行します。
exec msdb.dbo.rds_backup_database 
     @source_db_name='database_name', 
     @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
     @overwrite_S3_backup_file=1;

このスクリプトはタスク#を返します。次のスクリプトを使用して、進行状況を追跡できます。

exec msdb..rds_task_status @task_id= <your task #>

それが完了したら、.bakファイルをダウンロードしてローカルで復元できます(同じSQLサーバーバージョンが実行されている場合など)

5
brodie