すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:データベースの作成

最終更新日:Aug 26, 2026

ApsaraDB RDS for SQL Server インスタンスを作成した後、アプリケーションで使用するデータベースをインスタンスに作成する必要があります。このトピックでは、データベースを作成する方法と、ビジネス要件を満たすためにデータベースの数を計画する方法について説明します。

前提条件

ApsaraDB RDS for SQL Server インスタンスが作成済みであること。手順については、「ApsaraDB RDS for SQL Server インスタンスの作成」をご参照ください。

データベースの使用制限

データベース数

SQL Server 2008 R2 を実行するインスタンスの最大データベース数は 50 です。他の SQL Server バージョンを実行するインスタンスの場合、制限はインスタンスタイプに依存し、次のように計算されます:

  • RDS クラスター版 / RDS 高可用性版

    CPU コア数の平方根を計算し、その結果を切り捨てて最も近い整数にし、50 を掛けます。最大データベース数は、この結果と 300 のうちの最小値です。たとえば、4 CPU コアと 8 GB のメモリを搭載した SQL Server 2016 Standard Edition を実行する RDS 高可用性版インスタンスは、最大 100 個のデータベースをサポートします。

  • RDS ベーシック版

    CPU コア数の平方根を計算し、その結果を切り捨てて最も近い整数にし、100 を掛けます。最大データベース数は、この結果と 400 のうちの最小値です。たとえば、4 CPU コアと 8 GB のメモリを搭載した SQL Server 2019 Standard Edition を実行する RDS ベーシック版インスタンスは、最大 200 個のデータベースをサポートします。

説明

min 関数は 2 つの値のうち小さい方を返します。たとえば、min{100, 300} は 100 です。

データベースの作成

  1. RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
  2. 左側のナビゲーションペインで、データベース管理 をクリックします。

  3. データベースの作成 をクリックし、以下のパラメーターを設定してから、作成 をクリックします。

    パラメーター

    説明

    [データベース (DB) 名]

    データベースの名前を入力します。名前は 2~64 文字で、英字で始まり、英字または数字で終わる必要があります。使用できる文字は、大文字、小文字、数字、アンダースコア (_)、ハイフン (-) です。中国語文字はサポートされていません

    [サポートする文字セット]

    データベースの文字セットを選択します。

    [補足]

    データベースの説明を入力します。説明は最大 256 文字です。

関連操作

  • また、CreateDatabase API オペレーションを呼び出して、ApsaraDB RDS for SQL Server インスタンスにデータベースを作成することもできます。

  • Data Management (DMS) や SQL Server Management Studio (SSMS) クライアントなど、さまざまな方法でSQL Server インスタンスに接続できます。

よくある質問

データベース作成時に Specified DB name already exists in the This instance. というエラーメッセージが返された場合の対処法

問題

ApsaraDB RDS for SQL Server インスタンスの [データベース] ページでデータベースを作成すると、エラーメッセージ Specified DB name already exists in the This instance. が返されます。エラーコードは InvalidDBName.Duplicate です。

原因

同じ名前のデータベースがインスタンスにすでに存在します。既存のデータベースと同じ名前のデータベースは作成できません。

また、ApsaraDB RDS for SQL Server インスタンスの [データベース] ページには、ONLINE ステータスのデータベースのみが表示されます。RESTORINGRECOVERINGOFFLINE など、ONLINE ステータスではないデータベースはコンソールに表示されないため、データベースが存在しないと誤認し、作成の失敗につながる可能性があります。

ソリューション

  1. SSMS を使用して ApsaraDB RDS for SQL Server インスタンスに接続します

  2. 次の SQL ステートメントを実行して、インスタンスにある非システムデータベースとその状態を照会します。

    SELECT
        [name] AS DatabaseName,  -- データベースの名前
        state_desc AS StateDescription,  -- データベースの現在の状態 (ONLINE、OFFLINE、RECOVERING など)
        recovery_model_desc AS RecoveryModel  -- データベースの復旧モデル (SIMPLE、FULL など)
    FROM
        sys.databases
    WHERE
        database_id > 4; -- システムデータベースを除外

    次のサンプル結果が返されます。同じ名前のデータベースが存在するかどうかを確認し、データベースの現在の状態を表示できます。

    DatabaseName    StateDescription    RecoveryModel
    jmdb            ONLINE              FULL
    jmdb200         RECOVERING          FULL
  3. 同じ名前のデータベースが存在するが、ONLINE 状態ではない場合は、次のシナリオに基づいて問題を解決します。

    • シナリオ 1:OSS からバックアップデータを復元する際に、データベースをオンラインにしないことを選択した場合

      • 原因

        OSS から ApsaraDB RDS for SQL Server インスタンスにバックアップデータを復元する際に、[データベースをオンラインにしない (追加の差分バックアップまたはログバックアップ用)] オプションを選択した場合、データベースは非 ONLINE 状態のままになります。

        このオプションは、RDS コンソールの左側のナビゲーションペインにある [バックアップと復元] ページで [OSS バックアップデータを RDS に移行] をクリックすると表示される [インポートガイド] のステップ [3. データのインポート] にある [移行計画] セクションにあります。

      • 解決策

        引き続き増分バックアップファイルをアップロードする必要がある場合は、復元が完了した後、[バックアップデータのクラウド移行記録] タブでデータベースをオンラインにします。増分データを復元する必要がなくなった場合は、直接データベースをオンラインにできます。

        この場合、[バックアップデータのクラウド移行履歴] タブでは、タスクステータスは [待機中]、タスクタイプは [データベースをオンラインにしない (追加の差分バックアップまたはログバックアップ用)]、タスクの説明は オンライン待機中 です。

        データベースが不要になり、再作成する必要がある場合は、データベースをオンラインにしてから、データベースを削除し、再度データベースを作成できます。

    • シナリオ 2:ログ領域が満杯になったためにデータベースが RECOVERING 状態になる

      • 原因

        ログ領域が満杯になり、ログを書き込めません。その結果、データベースは RECOVERING 状態になります。インスタンスのエラーログを確認して、問題を確認できます。

        3/16/2024 2:05:35 AM    spid128    During undoing of a logged operation in database 'db_logistics', an error occurred at log record ID (1:88854:14712:2). Typically, the specific failure is logged previously as an error in...
        3/16/2024 2:05:35 AM    spid128    Error: 3314, Severity: 21, State: 3.
        3/16/2024 2:05:35 AM    spid128    The transaction log for database 'xxx' is full due to 'LOG_BACKUP'.
        3/16/2024 2:05:35 AM    spid128    Error: 9002, Severity: 17, State: 2.
        3/16/2024 2:05:35 AM    spid128    The transaction log for database 'xxx' is full due to 'LOG_BACKUP'.
      • 解決策

        • インスタンスのストレージ領域が満杯でログ領域を拡張できない場合は、インスタンスのストレージ容量を拡張し、その後インスタンスを手動で再起動する必要があります。再起動後、データベースは RECOVERING プロセスを続行します。復旧が完了すると、データベースは ONLINE 状態に戻ります。

        • データベースのログファイルに拡張制限が設定されており、ログ領域は満杯だがインスタンスのストレージ領域は満杯でない場合は、ログファイルのサイズ制限を増やすだけで済みます。インスタンスを再起動する必要はありません。ログファイルのサイズ制限を調整するには、次の操作を実行します。

          SQL Server Management Studio (SSMS) のオブジェクトエクスプローラーで、[jmdb]などのデータベースを右クリックし、[プロパティ]を選択します。

          [データベースのプロパティ] ダイアログボックスの左側のナビゲーションペインで [ファイル] ページを選択します。[データベースファイル] テーブルで、ファイルの種類が LOG のログファイルを見つけ、[自動拡張/最大サイズ] 列の [...] ボタンをクリックして、ログファイルの自動拡張設定と最大サイズを調整します。

          [jmdb_log の自動拡張の変更] ダイアログボックスで、[自動拡張を有効にする] を選択し、[ファイルの拡張][メガバイト単位] に設定して 64 などの増加値を入力し、[最大ファイルサイズ][制限値 (MB)] に設定して 2,097,152 (2 TB を示します) などの最大ファイルサイズを入力してから、[OK] をクリックします。

        データベースが不要になり、再作成する必要がある場合は、データベースが ONLINE 状態になるのを待ってから、データベースを削除し、再度データベースを作成できます。

    • シナリオ 3:データベースが手動で OFFLINE 状態に設定される

      • 原因

        データベースが管理者によって手動で OFFLINE 状態に設定された可能性があります。

      • 解決策

        sp_rds_set_db_online ストアドプロシージャを使用して、データベースを ONLINE 状態に戻します。

        USE master;
        GO
        EXEC sp_rds_set_db_online 'データベース名';
        GO

        データベースが不要になり、再作成する必要がある場合は、データベースが ONLINE 状態になるのを待ってから、データベースを削除し、再度データベースを作成できます。

データベース作成時に Due to the limit number you can't create a database というエラーメッセージが返された場合の対処法

  • 原因:このエラーは、ApsaraDB RDS for SQL Server インスタンスが、仕様上のデータベース最大数に達したことを示します。上限の計算方法については、このトピックの「データベースの使用制限」セクションをご参照ください。

  • 解決策:データベースの上限を増やすには、インスタンスの仕様をアップグレードできます。

ApsaraDB RDS for SQL Server データベースの名前に中国語文字を使用できますか?

いいえ、できません。データベース名に中国語文字を使用すると、互換性の問題、スクリプト解析の困難、移行のリスク、管理の複雑さを引き起こす可能性があります。ApsaraDB RDS for SQL Server では、データベース名は 2~64 文字で、英字で始まり、英字または数字で終わる必要があります。使用できる文字は、大文字、小文字、数字、アンダースコア (_)、ハイフン (-) のみです。これらの命名規則に従うことで、システムの安定性と保守性が確保されます。