Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Criar um banco de dados

Última atualização: Oct 13, 2026

Após criar uma instância ApsaraDB RDS for SQL Server, você precisa criar bancos de dados na instância para suas aplicações. Este tópico descreve como criar um banco de dados e planejar o número de bancos de dados para atender aos requisitos do seu negócio.

Pré-requisitos

Uma instância ApsaraDB RDS for SQL Server foi criada. Para obter instruções, consulte Criar uma instância RDS for SQL Server.

Limites de banco de dados

Número máximo de bancos de dados

O limite de bancos de dados para instâncias SQL Server 2008 R2 é fixo em 50. Para todas as outras versões, o limite depende do tipo de instância.

RDS Cluster Edition e RDS High-availability Edition

Fórmula: min(floor(√CPU cores) × 50, 300)

  1. Calcule a raiz quadrada do número de núcleos de CPU.

  2. Arredonde para baixo até o inteiro mais próximo.

  3. Multiplique por 50.

  4. O resultado, limitado a 300, é o número máximo de bancos de dados.

Exemplo: Uma instância de 4 núcleos executando SQL Server 2016 Standard Edition suporta até floor(√4) × 50 = 2 × 50 = 100 bancos de dados.

RDS Basic Edition

Fórmula: min(floor(√CPU cores) × 100, 400)

  1. Calcule a raiz quadrada do número de núcleos de CPU.

  2. Arredonde para baixo até o inteiro mais próximo.

  3. Multiplique por 100.

  4. O resultado, limitado a 400, é o número máximo de bancos de dados.

Exemplo: Uma instância de 4 núcleos executando SQL Server 2019 Standard Edition suporta até floor(√4) × 100 = 2 × 100 = 200 bancos de dados.

A min função retorna o menor de dois valores. Por exemplo, min(100, 300) é 100.

Criar um banco de dados

  1. Acesse a página Instances. Na barra de navegação superior, selecione a região em que a instância RDS está localizada. Em seguida, encontre a instância RDS e clique no ID da instância.

  2. No painel de navegação à esquerda, clique em Databases.

  3. Clique em Create Database, configure os seguintes parâmetros e clique em Create.

    Parâmetro

    Descrição

    Database Name

    Insira um nome para o banco de dados. O nome deve ter de 2 a 64 caracteres, começar com uma letra e terminar com uma letra ou dígito. Pode conter letras maiúsculas, letras minúsculas, dígitos, sublinhados (_) e hífens (-). Caracteres chineses não são suportados.

    Supported Character Set

    Selecione um conjunto de caracteres para o banco de dados.

    Description

    Insira uma descrição para o banco de dados. A descrição pode ter até 256 caracteres.

Operações relacionadas

  • Você também pode chamar a operação de API CreateDatabase para criar um banco de dados em uma instância ApsaraDB RDS for SQL Server.

  • Você pode usar vários métodos para conectar à sua instância SQL Server, como Data Management (DMS) ou um cliente SQL Server Management Studio (SSMS).

FAQ

O que fazer se a mensagem de erro Specified DB name already exists in the This instance. for retornada ao criar um banco de dados?

Problema

Ao criar um banco de dados na página Databases de uma instância ApsaraDB RDS for SQL Server, a mensagem de erro Specified DB name already exists in the This instance. é retornada. O código de erro é InvalidDBName.Duplicate.

Causa

Um banco de dados com o mesmo nome já existe na instância. Não é possível criar um banco de dados cujo nome seja igual ao de um banco de dados existente.

Além disso, a página Databases de uma instância ApsaraDB RDS for SQL Server exibe apenas bancos de dados com status ONLINE. Bancos de dados que não estão no status ONLINE (como RESTORING, RECOVERING ou OFFLINE) não são exibidos no console. Portanto, você pode acreditar equivocadamente que o banco de dados não existe, o que pode levar a falhas na criação.

Solução

  1. Conecte à instância ApsaraDB RDS for SQL Server usando SSMS.

  2. Execute a seguinte instrução SQL para consultar os bancos de dados não sistemáticos na instância e seus estados:

    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

    O seguinte resultado de amostra é retornado. Você pode verificar se existe um banco de dados com o mesmo nome e visualizar o estado atual do banco de dados.

    DatabaseName    StateDescription    RecoveryModel
    jmdb            ONLINE              FULL
    jmdb200         RECOVERING          FULL
  3. Se existir um banco de dados com o mesmo nome, mas que não esteja no estado ONLINE, resolva o problema com base nos seguintes cenários:

    • Cenário 1: Você optou por não colocar o banco de dados online ao restaurar dados de backup do OSS

      • Causa

        Ao restaurar dados de backup do OSS para uma instância ApsaraDB RDS for SQL Server, se você selecionar a opção Do not bring the database online (for additional differential or log backups), o banco de dados permanece em um estado não ONLINE.

        Esta opção está localizada na seção Migration Plan na etapa 3. Import Data do Import Guide, que aparece após clicar em Migrate OSS Backup Data to RDS na página Backup and Restoration no painel de navegação à esquerda do console RDS.

      • Solução

        Se você ainda precisa enviar arquivos de backup incremental, coloque o banco de dados online na aba Cloud Migration Records of Backup Data após a conclusão da restauração. Se não for mais necessário restaurar dados incrementais, você pode colocar o banco de dados online diretamente.

        Neste caso, na aba Cloud Migration Records of Backup Data, o status da tarefa é Waiting, o tipo de tarefa é Do not bring the database online (for additional differential or log backups), e a descrição da tarefa é Waiting for online.

        Se o banco de dados não for mais necessário e precisar ser recriado, coloque o banco de dados online, exclua o banco de dados e crie o banco de dados novamente.

    • Cenário 2: O banco de dados entra no estado RECOVERING porque o espaço de log está cheio

      • Causa

        O espaço de log está cheio e os logs não podem ser gravados. Como resultado, o banco de dados entra no estado RECOVERING. Você pode verificar os logs de erro da instância para confirmar o problema:

        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'.
      • Solução

        • Se o espaço de armazenamento da instância estiver cheio e o espaço de log não puder ser expandido, você deve expandir a capacidade de armazenamento da instância e então reiniciar manualmente a instância. Após a reinicialização, o banco de dados continua o processo RECOVERING. Após a conclusão da recuperação, o banco de dados retorna ao estado ONLINE.

        • Se um limite de crescimento estiver definido para o arquivo de log do banco de dados e o espaço de log estiver cheio, mas o espaço de armazenamento da instância não estiver cheio, basta aumentar o limite de tamanho do arquivo de log. Não é necessário reiniciar a instância. Para ajustar o limite de tamanho do arquivo de log, execute as seguintes operações:

          No Object Explorer do SQL Server Management Studio (SSMS), clique com o botão direito no banco de dados, como jmdb, e selecione Properties.

          No painel de navegação à esquerda da caixa de diálogo Database Properties, selecione a página Files. Na tabela Database files, localize o arquivo de log cujo File Type é LOG e clique no botão ... na coluna Autogrowth / Maxsize para ajustar as configurações de crescimento automático e o tamanho máximo do arquivo de log.

          Na caixa de diálogo Change Autogrowth for jmdb_log, selecione Enable Autogrowth, defina File Growth como In Megabytes e insira um valor de crescimento, como 64, defina Maximum File Size como Limited to (MB) e insira um tamanho máximo de arquivo, como 2.097.152, que representa 2 TB, e clique em OK.

        Se o banco de dados não for mais necessário e precisar ser recriado, aguarde até que o banco de dados entre no estado ONLINE, exclua o banco de dados e crie o banco de dados novamente.

    • Cenário 3: O banco de dados é definido manualmente para o estado OFFLINE

      • Causa

        O banco de dados pode ter sido definido manualmente para o estado OFFLINE por um administrador.

      • Solução

        Use o procedimento armazenado sp_rds_set_db_online para trazer o banco de dados de volta ao estado ONLINE:

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

        Se o banco de dados não for mais necessário e precisar ser recriado, aguarde até que o banco de dados entre no estado ONLINE, exclua o banco de dados e crie o banco de dados novamente.

O que fazer se a mensagem de erro Due to the limit number you can't create a database for retornada ao criar um banco de dados?

  • Causa: Este erro indica que sua instância ApsaraDB RDS for SQL Server atingiu o número máximo de bancos de dados permitidos para suas especificações. Para obter informações sobre como os limites são calculados, consulte a seção Limites de banco de dados neste tópico.

  • Solução: Para aumentar o limite de bancos de dados, você pode atualizar as especificações da instância.

Posso usar caracteres chineses no nome de um banco de dados ApsaraDB RDS for SQL Server?

Não. O uso de caracteres chineses em nomes de banco de dados pode causar problemas de compatibilidade, dificuldades de análise de scripts, riscos de migração e complexidade de gerenciamento. No ApsaraDB RDS for SQL Server, o nome do banco de dados deve ter de 2 a 64 caracteres, começar com uma letra, terminar com uma letra ou dígito e conter apenas letras maiúsculas, letras minúsculas, dígitos, sublinhados (_) ou hífens (-). Seguir essas convenções de nomenclatura garante a estabilidade e a manutenção do sistema.