ApsaraDB RDS for SQL Server は、セルフマネージドの SQL Server データベースを Alibaba Cloud に移行するためのソリューションを提供します。セルフマネージドの SQL Server データベースの完全バックアップデータを Alibaba Cloud Object Storage Service (OSS) にアップロードし、ApsaraDB RDS コンソールから、指定した ApsaraDB RDS for SQL Server データベースに完全バックアップデータをインポートするだけで移行できます。このソリューションは、データバックアップ、データ移行、ディザスタリカバリなどのシナリオに適しています。
前提条件
ApsaraDB RDS for SQL Server インスタンスは、次の要件を満たす必要があります:
インスタンスの残りのストレージ容量は、移行するデータファイルのサイズよりも大きい必要があります。ストレージ容量が不足している場合は、事前にインスタンスのストレージをアップグレードしてください。
インスタンスが SQL Server 2012 以降、またはクラウドディスクを使用する SQL Server 2008 R2 を実行している場合は、移行するデータベースと同じ名前のデータベースがインスタンスに存在しないことを確認してください。
インスタンスが高性能ローカルディスクを使用する SQL Server 2008 R2 を実行している場合は、移行するデータベースと同じ名前のデータベースがインスタンスに作成されていることを確認してください。
RAM ユーザーとしてログインする場合は、次の要件を満たす必要があります:
RAM ユーザーには、AliyunOSSFullAccess と AliyunRDSFullAccess の権限が付与されている必要があります。RAM ユーザーに権限を付与する方法の詳細については、RAM を使用した OSS 権限の管理およびRAM を使用した ApsaraDB RDS 権限の管理をご参照ください。
ご使用の Alibaba Cloud アカウント (メインアカウント) で、ApsaraDB RDS 公式サービスアカウントによる OSS リソースへのアクセス権限付与が完了している必要があります。
Alibaba Cloud アカウント (メインアカウント) で、手動で権限ポリシーを作成し、そのポリシーを RAM ユーザーにアタッチする必要があります。
注意事項
移行範囲:このソリューションは、単一データベース (データベースレベル) の移行のみをサポートします。複数のデータベースまたはすべてのデータベースを移行するには、インスタンスレベルの移行ソリューションを使用してください。
バージョンの互換性:セルフマネージドの SQL Server 環境で作成されたバックアップファイルは、下位バージョンの ApsaraDB RDS for SQL Server インスタンスには移行できません。
権限管理:ApsaraDB RDS サービスアカウントに OSS へのアクセス権限を付与すると、システムは RAM に
AliyunRDSImportRoleという名前のロールを作成します。このロールは変更または削除しないでください。変更または削除した場合、移行タスクは失敗します。誤ってロールを変更または削除した場合は、データ移行ウィザードで再度権限を付与してください。アカウント管理:移行完了後、元のデータベースのアカウントは使用できなくなります。ApsaraDB RDS コンソールでアカウントを再度作成してください。
OSS ファイルの保持:移行タスクが完了するまで、OSS からバックアップファイルを削除しないでください。削除した場合、タスクは失敗します。
バックアップファイルの要件:
ファイル名:ファイル名に
!@#$%^&*()_+-=などの特殊文字を含めることはできません。含まれている場合、移行は失敗します。拡張子:ApsaraDB RDS は、
.bak(完全バックアップ)、.diff(差分バックアップ)、および.trnまたは.log(ログバックアップ) ファイルを認識できます。ファイルタイプ:ただし、この移行方法でアップロードできるのは完全バックアップファイルのみです。差分バックアップファイルとログバックアップファイルはサポートされていません。
ファイルのソース:ソースデータが、以前にダウンロードした ApsaraDB RDS for SQL Server の完全バックアップファイル (デフォルトでは
.zip形式) である場合、データをクラウドに移行する前に.bakファイルに解凍してください。
課金
このソリューションでは、OSS 関連の料金のみが発生します。詳細については、以下をご参照ください。
シナリオ | 課金 |
自己管理データベースのバックアップファイルを OSS にアップロード | 無料です。 |
バックアップファイルを OSS に保存 | OSS ストレージ料金が発生します。課金の詳細については、「OSS 料金」をご参照ください。 |
バックアップファイルを OSS から ApsaraDB RDS に移行 |
|
準備
セルフマネージドデータベース環境で DBCC CHECKDB ステートメントを実行し、データベースに 割り当てエラー または 一貫性エラー が含まれていないことを確認します。データベースが正常な状態であれば、次の結果が返されます:
...
CHECKDB found 0 allocation errors and 0 consistency errors in database 'xxx'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.1. 自己管理型データベースのバックアップ
ApsaraDB RDS for SQL Server インスタンスのバージョンに基づいて、ソリューションを選択します。
SQL Server 2012 以降、またはクラウドディスクを使用する SQL Server 2008 R2
自己管理型データベースの完全バックアップを作成する前に、データの書き込みが停止していることを確認してください。バックアップ処理中に書き込まれたデータは、バックアップファイルに含まれません。
次のコマンドを実行して、ソースデータベースの現在の復旧モデルを確認します。
SELECT name AS DatabaseName, recovery_model_desc AS RecoveryModel, state_desc AS State FROM sys.databases ORDER BY name;ApsaraDB RDS への移行用に本番バックアップを作成する前に、データベースの復旧モデルを FULL に変更します。
ALTER DATABASE [db_simple] SET RECOVERY FULL WITH NO_WAIT;バックアップ スクリプトをダウンロードし、SQL Server Management Studio (SSMS) でバックアップ スクリプトを開きます。
スクリプトで、
YOU HAVE TO INIT PUBLIC VARIABLES HEREの下にある SELECT 文の次のパラメーターを変更します。パラメーター
説明
@backup_databases_list
バックアップするデータベース。複数のデータベースはセミコロン (;) またはカンマ (,) で区切ります。
@backup_type
バックアップタイプ。有効な値は次のとおりです。
FULL:完全バックアップ。
DIFF:差分バックアップ。
LOG:ログ バックアップ。
@backup_folder
バックアップファイルを保存するローカルディレクトリ。ディレクトリが存在しない場合は、自動的に作成されます。
@is_run
バックアップを実行するかどうかを指定します。有効な値は次のとおりです。
1:バックアップを実行します。
0:チェックのみを実行し、バックアップは実行しません。
バックアップ スクリプトを実行します。
高性能ローカルディスクを使用する SQL Server 2008 R2
Microsoft SQL Server Management Studio (SSMS) を開きます。
移行するデータベースにログインします。
次のコマンドを実行して、ソースデータベースの現在の復旧モデルを確認します。
USE master; GO SELECT name, CASE recovery_model WHEN 1 THEN 'FULL' WHEN 2 THEN 'BULK_LOGGED' WHEN 3 THEN 'SIMPLE' END model FROM sys.databases WHERE name NOT IN ('master','tempdb','model','msdb'); GOクエリ結果の
model値がFULLではない場合、ステップ 4 を実行します。クエリ結果の
model値がFULLの場合、ステップ 5 を実行します。
次のコマンドを実行して、ソースデータベースの復旧モデルを
FULLに設定します。ALTER DATABASE [dbname] SET RECOVERY FULL; GO ALTER DATABASE [dbname] SET AUTO_CLOSE OFF; GO重要復旧モデルを
FULLに設定すると、より多くの SQL Server ログが生成されます。 十分なディスク領域があることを確認してください。次のコマンドを実行して、ソースデータベースをバックアップします。
この例では、dbtest データベースを backup.bak ファイルにバックアップします。
USE master; GO BACKUP DATABASE [dbtest] to disk ='d:\backup\backup.bak' WITH COMPRESSION,INIT; GO次のコマンドを実行して、バックアップファイルの整合性を検証します。
USE master GO RESTORE FILELISTONLY FROM DISK = N'D:\backup\backup.bak';重要結果セットが返された場合、バックアップファイルは有効です。
エラーが報告された場合は、再度バックアップを実行してください。
任意:次のコマンドを実行して、データベースの復旧モデルを元に戻します。
重要データベースの復旧モデルがすでに
FULLの場合、このステップをスキップします。ALTER DATABASE [dbname] SET RECOVERY SIMPLE; GO
2. バックアップファイルの OSS へのアップロード
お使いの ApsaraDB RDS for SQL Server インスタンスのバージョンに基づいてソリューションを選択します。
SQL Server 2012 以降、またはクラウドディスクを使用する SQL Server 2008 R2
バックアップファイルを OSS にアップロードする前に、OSS にバケットを作成する必要があります。
OSS にバケットが既に存在する場合、そのバケットが次の要件を満たしていることを確認してください:
OSS にバケットが存在しない場合は、まずバケットを作成します。 (OSS がアクティベートされていることを確認してください)
OSS コンソールにログインし、バケット をクリックし、次に バケットの作成 をクリックします。
次の主要なパラメーターを設定し、他のパラメーターはデフォルト値のままにします。
重要このバケットは、今回のデータ移行でのみ使用されため、主要なパラメーターを設定するだけで済みます。データ漏洩や追加料金の発生を防ぐため、移行完了後は速やかにバケットを削除してください。
バケットを作成する際は、サーバー側の暗号化を有効にしないでください。
パラメーター
説明
例
[バケット名]
バケットの名前。名前はグローバルに一意である必要があり、バケット作成後は変更できません。
命名規則:
名前には、小文字、数字、ハイフン (-) のみを含めることができます。
名前は、小文字または数字で開始および終了する必要があります。
名前の長さは 3~63 文字である必要があります。
migratetest
[リージョン]
バケットが存在するリージョン。ECS インスタンスから内部ネットワーク経由でバケットにデータをアップロードし、内部ネットワーク経由で ApsaraDB RDS インスタンスにデータを復元する場合、ECS インスタンス、バケット、ApsaraDB RDS インスタンスが同じリージョンに存在することを確認してください。
中国 (杭州)
[ストレージタイプ]
標準ストレージ を選択します。このトピックで説明する移行操作は、他のストレージクラスのバケットをサポートしていません。
Standard
バックアップファイルを OSS にアップロードします。
自己管理型データベースのバックアップが完了したら、ApsaraDB RDS インスタンスと同じリージョンにある OSS バケットにバックアップファイルをアップロードします。バケットと ApsaraDB RDS インスタンスが同じリージョンにある場合、内部ネットワーク経由で通信できます。この場合、インターネットトラフィック料金は発生せず、データはより高速にアップロードされます。次のいずれかの方法を使用できます:
高性能ローカルディスクを使用する SQL Server 2008 R2
バックアップファイルを OSS にアップロードする前に、OSS にバケットを作成する必要があります。
OSS にバケットが既に存在する場合、そのバケットが次の要件を満たしていることを確認してください:
OSS にバケットが存在しない場合は、まずバケットを作成します。 (OSS がアクティベートされていることを確認してください)
OSS コンソールにログインし、バケット をクリックし、次に バケットの作成 をクリックします。
次の主要なパラメーターを設定し、他のパラメーターはデフォルト値のままにします。
重要このバケットは、今回のデータ移行でのみ使用されため、主要なパラメーターを設定するだけで済みます。データ漏洩や追加料金の発生を防ぐため、移行完了後は速やかにバケットを削除してください。
バケットを作成する際は、サーバー側の暗号化を有効にしないでください。
パラメーター
説明
例
[バケット名]
バケットの名前。名前はグローバルに一意である必要があり、バケット作成後は変更できません。
命名規則:
名前には、小文字、数字、ハイフン (-) のみを含めることができます。
名前は、小文字または数字で開始および終了する必要があります。
名前の長さは 3~63 文字である必要があります。
migratetest
[リージョン]
バケットが存在するリージョン。ECS インスタンスから内部ネットワーク経由でバケットにデータをアップロードし、内部ネットワーク経由で ApsaraDB RDS インスタンスにデータを復元する場合、ECS インスタンス、バケット、ApsaraDB RDS インスタンスが同じリージョンに存在することを確認してください。
中国 (杭州)
[ストレージタイプ]
標準ストレージ を選択します。このトピックで説明する移行操作は、他のストレージクラスのバケットをサポートしていません。
Standard
バックアップファイルを OSS にアップロードします。
自己管理型データベースのバックアップが完了したら、ApsaraDB RDS インスタンスと同じリージョンにある OSS バケットにバックアップファイルをアップロードします。バケットと ApsaraDB RDS インスタンスが同じリージョンにある場合、内部ネットワーク経由で通信できます。この場合、インターネットトラフィック料金は発生せず、データはより高速にアップロードされます。次のいずれかの方法を使用できます:
バックアップファイルの URL の有効期間を設定し、バックアップファイルの URL を取得します。
OSS コンソールにログインします。
バケット をクリックし、宛先バケットの名前をクリックします。
左側のナビゲーションペインで、ファイル管理 > ファイルリスト を選択します。
移行先データベースのバックアップファイルの「操作」列にある詳細をクリックし、表示されるパネルで[有効期限 (秒)]を 28800 秒 (8 時間) に変更します。
重要バックアップファイルの URL は、バックアップファイルを OSS から ApsaraDB RDS に移行する際に必要です。移行が完了する前に URL の有効期限が切れると、データ移行は失敗します。
オブジェクト URL のコピー をクリックすると、バックアップファイルの URL を取得できます。

バックアップファイルの URL を変更します。
取得した URL は、デフォルトではファイルのパブリック URL です。内部ネットワーク経でデータを移行するには、ファイル URL のエンドポイントを内部エンドポイントに変更します。
たとえば、バックアップファイルの URL が
http://rdstest.oss-cn-shanghai.aliyuncs.com/testmigraterds_20170906143807_FULL.bak?Expires=15141****&OSSAccessKeyId=TMP****の場合、URL のoss-cn-shanghai.aliyuncs.comをoss-cn-shanghai-internal.aliyuncs.comに変更します。重要内部エンドポイントは、ネットワークタイプとリージョンによって異なります。詳細については、「リージョンとエンドポイント」をご参照ください。
3. OSS バックアップデータの ApsaraDB RDS へのインポート
お使いの ApsaraDB RDS for SQL Server インスタンスのバージョンに基づいてソリューションを選択します。
SQL Server 2012 以降、またはクラウドディスクを使用する SQL Server 2008 R2
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
左側メニューで、復元 を選択します。
ページ上部の OSS バックアップデータをクラウド上で復元する をクリックします。
インポートガイド ページで、次へ を 2 回クリックしてデータインポートのステップに進みます。
説明OSS バックアップデータ移行機能を初めて使用する場合、ApsaraDB RDS サービスアカウントに OSS へのアクセス権限を付与する必要があります。権限付与アドレス をクリックし、権限付与を確認してください。そうしないと、権限の問題で OSS バケット ドロップダウンリストが空になります。
ページに移行対象のファイルが表示されない場合は、OSS 内のバックアップファイルの拡張子が要件を満たしているか、また、ApsaraDB RDS インスタンスと OSS バケットが同じリージョンにあるかを確認してください (このトピックの「注意事項」で拡張子の要件を確認できます)。
次のパラメーターを設定します。
パラメーター
説明
[データベース名]
移行先の ApsaraDB RDS インスタンスで、バックアップデータをインポートするデータベースの名前。名前は SQL Server の公式の命名規則に従う必要があります。
重要データをクラウドに移行する前に、移行先インスタンスにバックアップファイルから復元するデータベースと同じ名前のデータベースが存在しないこと、および同じ名前のアタッチされていないデータベースファイルが存在しないことを確認してください。どちらも存在しない場合、バックアップセット内の移行先データベース名と同じ名前のデータベースファイルを使用してデータベースを復元できます。
移行先インスタンスに、バックアップファイルから復元するデータベースと同じ名前のデータベースが存在する場合、または同じ名前のアタッチされていないデータベースファイルが存在する場合、移行は失敗します。
[OSS バケット]
バックアップファイルが保存されている OSS バケットを選択します。
[OSS ファイル]
右側の
アイコンをクリックして、ファイル名プレフィックスでバックアップファイルを検索します。各ファイルのファイル名、ファイルサイズ、更新時刻が表示されます。移行したいバックアップファイルを選択します。[クラウド移行計画]
[データベースを開く (完全バックアップファイルは 1 件のみ)]:完全移行。このオプションは、1 つの完全バックアップファイルのみを使用して移行するシナリオに適しています。この例では、[データベースを開く (完全バックアップファイルは 1 件のみ)] を選択します。この場合、CreateMigrateTask API の
BackupMode = FULLおよびIsOnlineDB = Trueになります。[データベースを開かない (差分バックアップまたはログファイルがあります)]:増分移行。このオプションは、完全バックアップファイルとログバックアップファイルまたは差分バックアップファイルを一緒に使用して移行するシナリオに適しています。この場合、CreateMigrateTask API の
BackupMode = UPDFおよびIsOnlineDB = Falseになります。
[整合性のチェックメソッド]
非同期 DBCC:システムはデータベースを開くときに DBCC CHECKDB を実行しません。代わりに、データベースを開くタスクが完了した後に非同期で DBCC CHECKDB を実行します。これにより、データベースを開くための時間的オーバーヘッドが削減され (DBCC CHECKDB は大規模なデータベースでは時間がかかります)、サービス停止時間が短縮されます。サービスがダウンタイムの影響を非常に受けやすく、DBCC CHECKDB の結果が不要な場合は、非同期 DBCC を使用してください。この場合、CreateMigrateTask API の
CheckDBMode = AsyncExecuteDBCheckになります。同期 DBCC:非同期 DBCC と比較して、同期 DBCC は DBCC CHECKDB の結果を重視し、自己管理型データベースのデータの整合性エラーを特定したいユーザーに適しています。この場合、データベースを開くのに必要な時間が増加します。この場合、CreateMigrateTask API の
CheckDBMode = SyncExecuteDBCheckになります。
OK をクリックします。
移行タスクが完了するまで待ちます。更新 をクリックしてタスクの最新のステータスを表示できます。移行タスクが失敗した場合は、タスクの説明にあるメッセージに基づいて問題をトラブルシューティングしてください。詳細については、このトピックの「一般的なエラー」をご参照ください。
説明データ移行が完了すると、システムは ApsaraDB RDS インスタンスの 自動バックアップポリシー に基づいて、指定されたバックアップ時間にバックアップを開始します。バックアップ時間は手動で変更できます。生成されたバックアップセットには移行されたデータが含まれます。ApsaraDB RDS インスタンスの 復元 ページでバックアップセットを表示できます。
バックアップ時間に達していないが、できるだけ早くクラウドでバックアップを生成したい場合は、手動バックアップを実行できます。
高性能ローカルディスクを使用する SQL Server 2008 R2
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
左側メニューで、データベース管理 をクリックします。
移行先のデータベースを見つけ、アクション 列の OSSからバックアップファイルを移行します をクリックします。

インポートガイド ダイアログボックスで、メッセージを読み、次へ をクリックします。
OSS アップロードに関するメッセージを読み、次へ をクリックします。
バックアップファイルOSS URL フィールドに、バックアップファイルの OSS URL を入力し、OK をクリックします。
説明ApsaraDB RDS for SQL Server インスタンスのうち、高性能ローカルディスクを使用する SQL Server 2008 R2 を実行しているものは、完全バックアップファイルを一度にクラウドへ移行するソリューションのみをサポートします。
4. View the backup migration progress
Select a solution based on the version of your ApsaraDB RDS for SQL Server instance.
SQL Server 2012 or later, or SQL Server 2008 R2 with cloud disks
Go to the [復元] page in the left-side navigation pane of the ApsaraDB RDS instance, and then view the backup migration records on the [クラウド上へのデータバックアップの記録] tab. The records include the task status, task start time, and task end time. By default, the records of the last week are displayed. You can change the time range as needed.

If [タスクステータス] is [失敗], check [タスクの説明] or click [ファイルの詳細を表示します] next to the destination migration task to identify and fix the cause of the failure, and then perform the data migration again.
SQL Server 2008 R2 with high-performance local disks
Go to the data migration page in the left-side navigation pane of the ApsaraDB RDS instance, and then find the destination migration task to view the progress of the data migration.
If [タスクステータス] is [失敗しました], check [タスクの説明] or click [ファイルの詳細を表示します] next to the destination migration task to identify and fix the cause of the failure, and then perform the data migration again.
一般的なエラー
各バックアップ移行の記録には、タスクの説明が含まれています。タスクの説明から、タスクの失敗やエラーの原因を特定できます。よくあるエラーメッセージは次のとおりです:
同名のデータベースの存在
エラーメッセージ 1:The database (xxx) is already exist on RDS, please backup and drop it, then try again.
エラーメッセージ 2:Database 'xxx' already exists. Choose a different database name.
原因:ApsaraDB RDS for SQL Server は、データの安全性を確保するため、既存のデータベースと同じ名前のデータベースへのデータ移行をサポートしていません。
対処方法:既存データベースのデータを上書きする場合は、既存データをバックアップし、データベースを削除してから、データ移行タスクを再度実行してください。
差分バックアップの使用
エラーメッセージ:Backup set (xxx.bak) is a Database Differential backup, we only accept a FULL Backup.
原因:指定されたバックアップセットが、完全バックアップではなく差分バックアップです。完全バックアップの一括移行では、完全バックアップのみがサポートされ、差分バックアップはサポートされていません。
トランザクションログバックアップの使用
エラーメッセージ:Backup set (xxx.trn) is a Transaction Log backup, we only accept a FULL Backup.
原因:指定されたバックアップセットが、完全バックアップではなくトランザクションログバックアップです。完全バックアップの一括移行では、完全バックアップのみがサポートされ、トランザクションログバックアップはサポートされていません。
バックアップファイルの検証失敗
エラーメッセージ:Failed to verify xxx.bak, backup file was corrupted or newer edition than RDS.
原因:バックアップファイルが破損しているか、自己管理環境の SQL Server インスタンスのバージョンが ApsaraDB RDS for SQL Server インスタンスのバージョンより新しいため、検証に失敗します。たとえば、SQL Server 2012 を実行する ApsaraDB RDS for SQL Server インスタンスに SQL Server 2016 のバックアップファイルを復元する場合に、このエラーが発生します。
対処方法:バックアップファイルが破損している場合は、自己管理環境で別の完全バックアップを作成し、移行タスクを再作成してください。自己管理環境の SQL Server インスタンスのバージョンが ApsaraDB RDS for SQL Server インスタンスのバージョンより新しい場合は、同じバージョンまたはそれ以降のバージョンを実行する ApsaraDB RDS for SQL Server インスタンスを使用してください。
説明既存の ApsaraDB RDS for SQL Server インスタンスをより新しいバージョンにアップグレードする方法については、「Upgrade database version」をご参照ください。
DBCC CHECKDB の実行失敗
エラーメッセージ:DBCC checkdb failed.
原因:DBCC CHECKDB が失敗しました。これは、自己管理環境のデータベースでエラーが発生していることを示しています。
対処方法:次のコマンドを実行して自己管理環境のデータベースエラーを修正し、データを再度移行してください。
重要このコマンドを使用したエラー修正処理では、データ損失が発生する可能性があります。
DBCC CHECKDB (DBName, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS
ストレージ容量の不足 1
エラーメッセージ:Not Enough Disk Space for restoring, space left (xxx MB) < needed (xxx MB).
原因:ApsaraDB RDS インスタンスのストレージの空き容量が、バックアップファイルの移行に必要な最小ストレージ容量を満たしていません。
対処方法:インスタンスのストレージ容量をアップグレードしてください。
ストレージ容量の不足 2
エラーメッセージ:Not Enough Disk Space, space left xxx MB < bak file xxx MB.
原因:ApsaraDB RDS インスタンスのストレージの空き容量がバックアップファイルのサイズより小さく、最小ストレージ容量要件を満たしていません。
対処方法:インスタンスのストレージ容量をアップグレードしてください。
ログインアカウントの権限不足
エラーメッセージ:Cannot open database "xxx" requested by the login. The login failed.
原因:ApsaraDB RDS インスタンスへのログインに使用するアカウントに、データベースへのアクセス権限がありません。
対処方法:ApsaraDB RDS インスタンスの アカウント管理 ページで、アカウントにデータベースへのアクセス権限または管理権限を付与してください。詳細については、「Modify the permissions of an account」および「Account permissions in an ApsaraDB RDS for SQL Server instance」をご参照ください。
特権アカウントの不在
エラーメッセージ:Your RDS doesn’t have any init account yet, please create one and grant permissions on RDS console to this migrated database (xxx).
原因:ApsaraDB RDS インスタンスに特権アカウントが存在しません。移行タスクは、移行後のデータベースに対して権限を付与すべきアカウントを判別できません。ただし、バックアップファイルは移行先インスタンスに復元されます。そのため、タスクステータスは Success になります。
対処方法:特権アカウントを作成してください。
RAM ユーザーの操作権限不足
Q1:データ移行タスクの作成手順のステップ 5 を実行する際、すべてのパラメーターを設定しましたが、OK ボタンがグレーアウトしてクリックできません。どうすればよいですか?
A1:RAM ユーザーとしてログインしており、アカウントの権限が不足しているため、ボタンをクリックできない可能性があります。このトピックの 前提条件 を確認し、必要な権限が付与されていることを確認してください。
Q2:RAM ユーザーで
AliyunRDSImportRoleに権限を付与しようとすると、permission deniedメッセージが表示されます。どうすればよいですか?A2:Alibaba Cloud のメインアカウントを使用して、RAM ユーザーに AliyunRAMFullAccess 権限を一時的に付与してください。
SQL Server システムデータベース名と同一のデータベース名
エラーメッセージ:The database (xxx) is mssql system db, change your database name and try again.
原因:指定したデータベース名が、master、msdb、tempdb、model などの SQL Server システムデータベースの名前と同じです。
対処方法:別のデータベース名を指定してください。
RDS インスタンスのシステムデータベース名と同一のデータベース名
エラーメッセージ:The database (xxx) is RDS system db, change your database name and try again.
原因:指定したデータベース名が、rdscore などの ApsaraDB RDS for SQL Server インスタンスの管理データベースの名前と同じです。
対処方法:別のデータベース名を指定してください。
データベース数の上限超過
エラーメッセージ:The database (xxx) migration failed due to databases count limitation: xxx.
原因:データベース数が上限を超えています。
対処方法:インスタンス上のデータベース数を減らしてから、再試行してください。
OSS ダウンロード URL の問題
エラーメッセージ 1:Failed to download backup (xxx) since OSS URL was expired.
エラーメッセージ 2:Failed to download since could not find backup file (xxx) on OSS.
原因:OSS のダウンロード URL の有効期限が切れている、ApsaraDB RDS のサービスアカウントに権限が付与されていない、RAM ユーザーの権限が不足している、またはファイルが存在しません。
対処方法:OSS にファイルが存在するか、権限が正しく付与されているか、権限が有効であるかを確認し、再試行してください。
ストライプバックアップの問題
エラーメッセージ:Failed to verify (xxx.bak), error message:The media set has xxx media families but only 1 are provided. All members must be provided. VERIFY DATABASE is terminating abnormally.
原因:ソースデータベースのバックアップ作成時にストライプバックアップ機能が使用されています。この場合、完全バックアップは複数の .bak ファイルに分割されますが、OSS から ApsaraDB RDS へデータを移行する際に 1 つのファイルしか指定されていません。ApsaraDB RDS では、複数ファイルを一度に使用した移行はサポートされていません。
対処方法:ソースデータベースを 1 つの .bak ファイルにバックアップしてから、再試行してください。
一般的な返信メッセージ
タスクタイプ | タスクステータス | タスクの説明 | 説明 |
完全バックアップファイルの 1 回限りの移行 | Success |
| 移行に成功しました。 |
失敗 |
| OSS ダウンロード URL の有効期間が切れたため、移行に失敗しました。 | |
| バックアップファイルが破損しているか、RDS バージョンよりも新しいバージョンで作成されているため、移行に失敗しました。 | ||
| DBCC CHECKDB 操作が失敗したため、移行に失敗しました。 | ||
| トランザクションログバックアップファイルが使用されたため、移行に失敗しました。 | ||
| 差分バックアップファイルが使用されたため、移行に失敗しました。 |
関連 API オペレーション
API | 説明 |
OSS から ApsaraDB RDS for SQL Server インスタンスにバックアップファイルを復元し、バックアップデータ移行タスクを作成します。 | |
ApsaraDB RDS for SQL Server インスタンスで、バックアップデータ移行タスクのデータベースを開きます。 | |
ApsaraDB RDS for SQL Server インスタンスのバックアップデータ移行タスクの一覧を照会します。 | |
ApsaraDB RDS for SQL Server インスタンスにあるバックアップデータ移行タスクのバックアップファイルの詳細を照会します。 |



をクリックし、アップロードするバックアップファイルを選択して、[開く] をクリックします。ローカルファイルが OSS にアップロードされます。

