ApsaraDB RDS for SQL Server インスタンスを作成した後、インスタンス上にデータベースを作成する必要があります。このトピックでは、RDS インスタンス上にデータベースを作成する方法と、作成できるデータベースの数に関する制限について説明します。
データベース数の制限
SQL Server 2008 R2 を実行する RDS インスタンスは、最大 50 個のデータベースをサポートします。RDS インスタンスが他の SQL Server バージョンを実行している場合、データベースの最大数は RDS のエディションによって異なります。次の数式を使用して、データベースの最大数を計算できます。
RDS クラスター版/RDS 高可用性版

CPU コア数の平方根を抽出し、その平方根を整数に切り捨て、その整数に 50 を掛けます。得られた値を X とします。この例では、データベースの最大数は X と 300 のうち小さい方の値と等しくなります。たとえば、RDS インスタンスが RDS 高可用性版で SQL Server 2016 SE を実行し、4 CPU コアと 8 GB のメモリを提供する場合、RDS インスタンスは最大 100 個のデータベースをサポートします。
RDS ベーシック版

CPU コア数の平方根を抽出し、その平方根を整数に切り捨て、その整数に 100 を掛けます。得られた値を X とします。この例では、データベースの最大数は X と 400 のうち小さい方の値と等しくなります。たとえば、RDS インスタンスが RDS ベーシック版で SQL Server 2019 SE を実行し、4 CPU コアと 8 GB のメモリを提供する場合、RDS インスタンスは最大 200 個のデータベースをサポートします。
説明 上記の数式の min は、2 つの値のうち小さい方の値が使用されることを示します。たとえば、min{100,300} の値は 100 です。
データベースの作成
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
左側のナビゲーションウィンドウで、 をクリックします。
データベースの作成 をクリックし、次のパラメーターを設定してから、作成 をクリックします。
パラメーター | 説明 |
データベース (DB) 名 | データベースの名前。名前は 2~64 文字で、文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。データベース名に中国語の文字は使用できません。名前は文字で始まり、文字または数字で終わる必要があります。 |
サポートする文字セット | データベースの文字セット。 |
補足 | データベースの説明。説明は最大 256 文字です。 |
よくある質問
エラー 現在のデータベース名が正しくありません。データベース名をリセットしてください。 を解決するにはどうすればよいですか?
問題の説明
RDS SQL Server インスタンスの [データベース] ページでデータベースを作成すると、エラーメッセージ 現在のデータベース名が正しくありません。データベース名をリセットしてください。 がエラーコード InvalidDBName.Duplicate とともに表示されます。

原因
同じ名前のデータベースが既に存在するため、データベースを作成できません。
RDS SQL Server インスタンスの [データベース] ページには、ONLINE ステータスのデータベースのみが表示されます。ONLINE 以外のステータス ( RESTORING、RECOVERING、OFFLINE など) のデータベースはコンソールに表示されません。これにより、ユーザーはデータベースが存在しないと誤解し、作成に失敗する可能性があります。
解決策
SSMS を使用して SQL Server インスタンスに接続します。
次の 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; -- システムデータベースを除外
以下に示すように、クエリ結果は同じ名前のデータベースが存在するかどうかとその現在のステータスを確認します。

同じ名前を持つ ONLINE 以外のステータスのデータベースについては、さまざまなシナリオに基づいて問題を解決します。
シナリオ 1: データベースを開かないオプションで OSS バックアップデータをクラウドに復元する
原因
OSS バックアップデータを RDS SQL Server に復元する際に、[データベースを開かない (差分バックアップまたはログファイルが保留中)] オプションを選択すると、データベースは ONLINE 以外の状態になります。

解決策
増分バックアップファイルのアップロードを続行する必要がある場合は、復元が完了した後に [クラウドへのバックアップデータレコード] タブからデータベースを開く必要があります。増分復元が不要になった場合は、データベースを直接開くことができます。

このデータベースが不要になり、再作成したい場合は、データベースを開いてからデータベースを削除できます。削除後、新しいデータベースを作成できます。
シナリオ 2: ログスペースがいっぱいになったため、データベースが RECOVERING 状態になる
シナリオ 3: データベースが手動で OFFLINE ステータスに設定されている
原因
データベースが管理者によって手動で OFFLINE ステータスに設定されている可能性があります。
解決策
sp_rds_set_db_online ストアドプロシージャを使用して、データベースを ONLINE ステータスに戻します。
USE master;
GO
EXEC sp_rds_set_db_online 'database_name';
GO
このデータベースが不要になり、再作成したい場合は、データベースのステータスが ONLINE になるまで待ってから、データベースを削除します。削除後、新しいデータベースを作成できます。
データベースを作成するときにエラーメッセージ Due to the limit number you can't create a database が表示された場合はどうすればよいですか?
原因: このエラーメッセージは、RDS インスタンス上のデータベースの数が、現在のインスタンスの仕様でサポートされている上限に達したために表示されます。RDS インスタンスで作成できるデータベースの数は、インスタンスの仕様によって制限されます。作成できるデータベースの最大数の計算方法の詳細については、このトピックの「データベース数の制限」セクションをご参照ください。
解決策: RDS インスタンスの仕様をスペックアップして、作成できるデータベースの最大数を増やすことができます。
RDS インスタンスでデータベースを作成するときに、データベース名に中国語の文字を使用できますか?
いいえ、データベース名に中国語の文字は使用できません。中国語の文字を使用すると、互換性の問題、スクリプトの解析の困難、移行のリスク、および管理の複雑さが増す可能性があります。RDS インスタンス上のデータベースの名前は、2~64 文字で、文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。名前は文字で始まり、文字または数字で終わる必要があります。システムの安定性と保守性を確保するために、これらの命名規則に従う必要があります。