Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Create a database

Dernière mise à jour :Oct 13, 2026

Une fois l'instance ApsaraDB RDS for SQL Server créée, vous devez y créer des bases de données pour vos applications. Cette rubrique explique comment créer une base de données et planifier le nombre de bases de données afin de répondre à vos besoins métier.

Prérequis

Vous avez créé une instance ApsaraDB RDS for SQL Server. Pour plus d'informations, consultez la rubrique Créer une instance RDS for SQL Server.

Limites des bases de données

Nombre maximal de bases de données

La limite du nombre de bases de données pour les instances SQL Server 2008 R2 est fixée à 50. Pour toutes les autres versions, la limite dépend du type d'instance.

Édition Cluster RDS et Édition Haute Disponibilité RDS

Formule : min(floor(√CPU cores) × 50, 300)

  1. Calculez la racine carrée du nombre de cœurs CPU.

  2. Arrondissez le résultat à l'entier inférieur.

  3. Multipliez ce nombre par 50.

  4. Le résultat, plafonné à 300, correspond au nombre maximal de bases de données.

Exemple : Une instance à 4 cœurs exécutant SQL Server 2016 Standard Edition prend en charge jusqu'à floor(√4) × 50 = 2 × 50 = 100 bases de données.

Édition Basic RDS

Formule : min(floor(√CPU cores) × 100, 400)

  1. Calculez la racine carrée du nombre de cœurs CPU.

  2. Arrondissez le résultat à l'entier inférieur.

  3. Multipliez ce nombre par 100.

  4. Le résultat, plafonné à 400, correspond au nombre maximal de bases de données.

Exemple : Une instance à 4 cœurs exécutant SQL Server 2019 Standard Edition prend en charge jusqu'à floor(√4) × 100 = 2 × 100 = 200 bases de données.

La fonction min renvoie la plus petite des deux valeurs. Par exemple, min(100, 300) donne 100.

Créer une base de données

  1. Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS. Localisez ensuite l'instance RDS et cliquez sur son ID.

  2. Dans le volet de navigation de gauche, cliquez sur Databases.

  3. Cliquez sur Create Database, configurez les paramètres suivants, puis cliquez sur Create.

    Paramètre

    Description

    Database Name

    Saisissez un nom pour la base de données. Le nom doit comporter entre 2 et 64 caractères, commencer par une lettre et se terminer par une lettre ou un chiffre. Il peut contenir des lettres majuscules, des lettres minuscules, des chiffres, des traits de soulignement (_) et des tirets (-). Les caractères chinois ne sont pas pris en charge.

    Supported Character Set

    Sélectionnez un jeu de caractères pour la base de données.

    Description

    Saisissez une description pour la base de données. La description peut comporter jusqu'à 256 caractères.

Opérations connexes

  • Vous pouvez également appeler l'opération API CreateDatabase pour créer une base de données sur une instance ApsaraDB RDS for SQL Server.

  • Plusieurs méthodes permettent de se connecter à votre instance SQL Server, telles que Data Management (DMS) ou un client SQL Server Management Studio (SSMS).

FAQ

Que faire si le message d'erreur Specified DB name already exists in the This instance. s'affiche lors de la création d'une base de données ?

Problème

Lorsque vous créez une base de données sur la page Databases d'une instance ApsaraDB RDS for SQL Server, le message d'erreur Specified DB name already exists in the This instance. s'affiche. Le code d'erreur est InvalidDBName.Duplicate.

Cause

Une base de données portant le même nom existe déjà sur l'instance. Vous ne pouvez pas créer une base de données dont le nom est identique à celui d'une base de données existante.

De plus, la page Databases d'une instance ApsaraDB RDS for SQL Server affiche uniquement les bases de données dont l'état est ONLINE. Les bases de données qui ne sont pas dans l'état ONLINE (telles que RESTORING, RECOVERING ou OFFLINE) ne sont pas affichées dans la console. Par conséquent, vous pouvez croire à tort que la base de données n'existe pas, ce qui peut entraîner des échecs de création.

Solution

  1. Connectez-vous à l'instance ApsaraDB RDS for SQL Server à l'aide de SSMS.

  2. Exécutez l'instruction SQL suivante pour interroger les bases de données non système de l'instance et leurs états :

    SELECT
        [name] AS DatabaseName,  -- The name of the database
        state_desc AS StateDescription,  -- The current state of the database, such as ONLINE, OFFLINE, or RECOVERING
        recovery_model_desc AS RecoveryModel  -- The recovery model of the database, such as SIMPLE or FULL
    FROM
        sys.databases
    WHERE
        database_id > 4; -- Filter out system databases

    Le résultat suivant est renvoyé à titre d'exemple. Vous pouvez vérifier si une base de données portant le même nom existe et consulter l'état actuel de la base de données.

    DatabaseName    StateDescription    RecoveryModel
    jmdb            ONLINE              FULL
    jmdb200         RECOVERING          FULL
  3. Si une base de données portant le même nom existe mais n'est pas dans l'état ONLINE, résolvez le problème en fonction des scénarios suivants :

    • Scénario 1 : Vous choisissez de ne pas mettre la base de données en ligne lors de la restauration des données de sauvegarde depuis OSS

      • Cause

        Lorsque vous restaurez des données de sauvegarde depuis OSS vers une instance ApsaraDB RDS for SQL Server, si vous sélectionnez l'option Do not bring the database online (for additional differential or log backups), la base de données reste dans un état autre que ONLINE.

        Cette option se trouve dans la section Migration Plan à l'étape 3. Import Data du guide Import Guide, qui s'affiche après avoir cliqué sur Migrate OSS Backup Data to RDS sur la page Backup and Restoration dans le volet de navigation de gauche de la console RDS.

      • Solution

        Si vous devez toujours télécharger des fichiers de sauvegarde incrémentielle, mettez la base de données en ligne dans l'onglet Cloud Migration Records of Backup Data une fois la restauration terminée. Si vous n'avez plus besoin de restaurer des données incrémentielles, vous pouvez directement mettre la base de données en ligne.

        Dans ce cas, dans l'onglet Cloud Migration Records of Backup Data, l'état de la tâche est Waiting, le type de tâche est Do not bring the database online (for additional differential or log backups) et la description de la tâche est Waiting for online.

        Si la base de données n'est plus nécessaire et doit être recréée, mettez-la en ligne, supprimez la base de données, puis créez-la à nouveau.

    • Scénario 2 : La base de données passe à l'état RECOVERING car l'espace journal est saturé

      • Cause

        L'espace journal est saturé et les journaux ne peuvent pas être écrits. Par conséquent, la base de données passe à l'état RECOVERING. Vous pouvez vérifier les journaux d'erreurs de l'instance pour confirmer le problème :

        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'.
      • Solution

        • Si l'espace de stockage de l'instance est saturé et que l'espace journal ne peut pas être étendu, augmentez la capacité de stockage de l'instance puis redémarrez manuellement l'instance. Après le redémarrage, la base de données poursuit le processus de récupération. Une fois la récupération terminée, la base de données revient à l'état ONLINE.

        • Si une limite de croissance est définie pour le fichier journal de la base de données et que l'espace journal est saturé alors que l'espace de stockage de l'instance ne l'est pas, il vous suffit d'augmenter la limite de taille du fichier journal. Vous n'avez pas besoin de redémarrer l'instance. Pour ajuster la limite de taille du fichier journal, procédez comme suit :

          Dans l'Explorateur d'objets de SQL Server Management Studio (SSMS), faites un clic droit sur la base de données, par exemple jmdb, et sélectionnez Properties.

          Dans le volet de navigation de gauche de la boîte de dialogue Database Properties, sélectionnez la page Files. Dans le tableau Database files, recherchez le fichier journal dont le File Type est LOG, puis cliquez sur le bouton ... dans la colonne Autogrowth / Maxsize pour ajuster les paramètres de croissance automatique et la taille maximale du fichier journal.

          Dans la boîte de dialogue Change Autogrowth for jmdb_log, sélectionnez Enable Autogrowth, définissez File Growth sur In Megabytes et saisissez une valeur de croissance, par exemple 64, définissez Maximum File Size sur Limited to (MB) et saisissez une taille de fichier maximale, par exemple 2 097 152, ce qui indique 2 To, puis cliquez sur OK.

        Si la base de données n'est plus nécessaire et doit être recréée, attendez qu'elle passe à l'état ONLINE, supprimez la base de données, puis créez-la à nouveau.

    • Scénario 3 : La base de données est définie manuellement sur l'état OFFLINE

      • Cause

        Un administrateur a peut-être défini manuellement la base de données sur l'état OFFLINE.

      • Solution

        Utilisez la procédure stockée sp_rds_set_db_online pour remettre la base de données dans l'état ONLINE :

        USE master;
        GO
        EXEC sp_rds_set_db_online 'Database name';
        GO

        Si la base de données n'est plus nécessaire et doit être recréée, attendez qu'elle passe à l'état ONLINE, supprimez la base de données, puis créez-la à nouveau.

Que faire si le message d'erreur Due to the limit number you can't create a database s'affiche lors de la création d'une base de données ?

  • Cause : Cette erreur indique que votre instance ApsaraDB RDS for SQL Server a atteint le nombre maximal de bases de données autorisé pour ses spécifications. Pour savoir comment les limites sont calculées, consultez la section Limites des bases de données de cette rubrique.

  • Solution : Pour augmenter la limite de bases de données, mettez à niveau les spécifications de l'instance.

Puis-je utiliser des caractères chinois dans le nom d'une base de données ApsaraDB RDS for SQL Server ?

Non. L'utilisation de caractères chinois dans les noms de bases de données peut entraîner des problèmes de compatibilité, des difficultés d'analyse des scripts, des risques liés à la migration et une complexité de gestion. Dans ApsaraDB RDS for SQL Server, un nom de base de données doit comporter entre 2 et 64 caractères, commencer par une lettre, se terminer par une lettre ou un chiffre, et contenir uniquement des lettres majuscules, des lettres minuscules, des chiffres, des traits de soulignement (_) ou des tirets (-). Le respect de ces conventions de dénomination garantit la stabilité et la maintenabilité du système.