S3にあるバックアップ(.bak)からRDSでデータベースの復元

  • S3 にアップロードしたバックファイルから RDS for SQL Server でデータベースの復元を行います。

01

  1. RDS for SQL Server でデータベースの復元を行うには RDS で事前に用意されているプロシージャを実行します。

  2. SSMS の Object Explorer から RDS for SQL Server のエントリ(nodmshandson58sqltgt.xxxxx)を右クリックします。

  3. コンテキストメニューからNew Queryを選択します。


02

以下の SQL 文を Query Editor に入力し、実行します。

bucket_name は環境に合わせて変更してください。

exec msdb.dbo.rds_restore_database
@restore_db_name='AdventureWorks',
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/nondmshandson58/AdventureWorks2017.bak'
  1. 実行するには▶︎Executeボタンをクリックするか F5 を押します。

プロシージャの詳細は以下のマニュアルで確認できます。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html


03

復元タスクのステータスを確認するには、以下の SQL 文を実行します。

exec msdb.dbo.rds_task_status @db_name='AdventureWorks';
  1. % complete が 100、lifecycle が SUCCESS になっていれば復元は完了しています。

04

  1. 最後に AdventureWork が復元されたか、SSMS の RDS for SQL Server のエントリ(nondmshandson58sqltgt.xxxxx)の Databases を右クリックします。

  2. コンテキストメニューよりRefreshを選択してください。

  3. AdventureWorks データベースが復元されていることを確認し、テーブル等も復元されていることを確認してみてください。