Amazon RDS-MS SQLDBエクスポートインポート
Amazon RDS MSSQLは、DBをエクスポートおよびインポートするメカニズムとして、ネイティブのバックアップと復元を提供します。フルバックアップファイルは、オンプレミスデータベースから作成し、AmazonS3に保存できます。次に、このバックアップファイルは、SQLサーバーを実行している既存のAmazon RDSDBインスタンスに復元されます。同様の手順に従って、Amazon RDS MSSQLインスタンスからデータをエクスポートし、オンプレミスのSQLServerデータベースに復元できます。
次の図は、アプローチを説明しています。
上記で作成したバックアップファイルを、ターゲットRDSMSSQLデータベースが存在するのと同じリージョンにある事前に決定されたAmazonS3バケットにアップロードします。このリンクをたどって、アップロードする方法を学ぶことができます。
このネイティブのバックアップと復元のメカニズムには、次の利点があります。
データベースをAmazonRDSに移行します。
Amazon RDS SQL ServerDBインスタンス間でデータベースを移動します。
データをインポートおよびエクスポートします。
スキーマ、ストアドプロシージャ、トリガー、その他のデータベースコードを移行します。
DBインスタンス全体ではなく、単一のデータベースをバックアップおよび復元します。
テスト、トレーニング、およびデモンストレーション用のデータベースのコピーを作成します。
バックアップファイルをAmazonS3を介してAmazonRDSとの間で保存および転送し、ディザスタリカバリの保護層を追加します。
データベースをバックアップするには、SSMSクライアントソフトウェアからAmazon RDS MSSQLインスタンスに接続した後、rds_backup_databaseストアドプロシージャを呼び出します。ストアドプロシージャは、次のパラメータを使用して実行されます。
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',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1,
@type='FULL';
上記のストアドプロシージャが正常に完了すると、バックアップファイルが作成され、前述のS3のバケットに保存されます。
データベースを復元するには、SSMSクライアントソフトウェアからAmazon RDS MSSQLインスタンスに接続した後、rds_restore_databaseストアドプロシージャを呼び出します。ストアドプロシージャは、次のパラメータを使用して実行されます。
exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';