Compartilhar via


CREATE DATABASE (Banco de Dados SQL do Azure)

Cria um novo banco de dados. Você deve estar conectado ao banco de dados mestre para criar um novo banco de dados.

Aplica-se a: Banco de dados SQL do Azure. Para obter informações de sintaxe do SQL Server, consulte CREATE DATABASE (SQL Server Transact-SQL).

Sintaxe

CREATE DATABASE database_name [ COLLATE collation_name ]
{
   (<edition_options> [, ...n]) 
}

<edition_options> ::= 
{
      MAXSIZE = { 100 MB | 500 MB | 1 | 5 | 10 | 20 | 30 … 150…500 } GB  
    | EDITION = { 'web' | 'business' | 'basic' | 'standard' | 'premium' } 
    | SERVICE_OBJECTIVE = { 'shared' | 'basic' | 'S0' | 'S1' | 'S2' | 'P1' | 'P2' | 'P3' } 
}
[;]

To copy a database:
CREATE DATABASE destination_database_name
     AS COPY OF [source_server_name.] source_database_name
[;]

Argumentos

Este diagrama de sintaxe demonstra os argumentos com suporte no Banco de dados SQL do Azure.

  • database_name
    O nome do novo banco de dados. Este nome deve ser exclusivo no servidor de dados Banco de dados SQL e deve estar de acordo com a regras do SQL Server para identificadores. Para obter mais informações, consulte Identificadores.

  • Collation_name
    Especifica o agrupamento padrão do banco de dados. O nome do agrupamento pode ser um nome de agrupamento do Windows ou um nome de agrupamento SQL. Se não for especificado, o banco de dados será atribuído o agrupamento padrão, que é SQL_Latin1_General_CP1_CI_AS.

    Para obter mais informações sobre nomes de agrupamentos Windows e SQL, COLLATE (Transact-SQL).

  • EDITION
    Especifica a camada de serviço do banco de dados. Os valores disponíveis são: 'web', 'business', 'basic', 'standard' e 'premium'.

    Quando EDITION for especificado, mas MAXSIZE não for especificado, MAXSIZE será definido como o tamanho mais restritivo com suporte na edição.

  • MAXSIZE
    Especifica o tamanho máximo do banco de dados. MAXSIZE deve ser válido para a EDIÇÃO especificada (camada de serviço) A seguir, estão os valores com suporte para MAXSIZE e os padrões (D) para as camadas de serviço.

    MAXSIZE

    Web

    Business

    Básica

    Standard

    Premium

    100 MB

    500 MB

    1 GB

    √ (D)

    2 GB

    √ (D)

    5 GB

    10 GB

    √ (D)

    20 GB

    30 GB

    40 GB

    50 GB

    100 GB

    150 GB

    200 GB

    250 GB

    √ (D)

    300 GB

    400 GB

    500 GB

    √ (D)

    As regras a seguir se aplicam aos argumentos MAXSIZE e EDITION:

    • O valor MAXSIZE, se especificado, precisa ser um valor válido exibido na tabela acima.

    • Se MAXSIZE for definido como um valor inferior a 5 GB e EDITION não for especificado, a edição do banco de dados será definida automaticamente como Web.

    • Se MAXSIZE for definido como um valor superior a 5 GB e EDITION não for especificado, a edição do banco de dados será definida automaticamente como Business.

    • Se EDITION for especificado, mas MAXSIZE não for especificado, o valor padrão da edição será usado. Por exemplo, se EDITION for definido como Standard e MAXSIZE não for especificado, MAXSIZE será automaticamente definido como 500 MB.

    • Se MAXSIZE nem EDITION forem especificados, EDITION será definido como Web e MAXZISE será definido como 1 GB.

  • SERVICE_OBJECTIVE
    Especifica o nível de desempenho. Para obter descrições do objetivo do serviço e mais informações sobre o tamanho, as edições e as combinações de objetivos do serviço, consulte Camadas de Serviço e Níveis de Desempenho do Banco de Dados SQL do Azure. Se o SERVICE_OBJECTIVE especificado não tiver suporte pela EDITION, você receberá um erro.

  • destination_database_name
    Esse é o nome do usuário de banco de dados que foi criado pela cópia do banco de dados. Este nome deve ser exclusivo no servidor de dados Banco de dados SQL (destino) e deve estar de acordo com a regras do SQL Server para identificadores. Para obter mais informações, consulte Identificadores.

  • AS COPY OF [source_server_name.]source_database_name
    Para copiar um banco de dados para o mesmo servidor Banco de dados SQL ou um servidor diferente.

    Dica

    AS COPY OF não pode ser usado com nenhum outro argumento CREATE DATABASE.

    • source_server_name
      O nome do servidor Banco de dados SQL onde o banco de dados de origem está localizado. Esse parâmetro é opcional quando o banco de dados de origem e o banco de dados de destino devem estar localizados no mesmo servidor Banco de dados SQL.

      Observação: o argumento AS COPY OF não oferece suporte aos nomes de domínio exclusivos totalmente qualificados. Em outras palavras, se o nome de domínio totalmente qualificado do seu servidor for serverName.database.windows.net, use somente serverName durante a cópia do banco de dados.

    • source_database_name
      O nome do banco de dados que deve ser copiado.

Banco de dados SQL do Azure não oferece suporte aos seguintes argumentos e opções ao usar a instrução CREATE DATABASE:

  • Os parâmetros relacionados à colocação física do arquivo, como <filespec> e <filegroup>

  • Opções de acesso externo, como DB_CHAINING e TRUSTWORTHY

  • Anexando um banco de dados

  • Opções do service broker, como ENABLE_BROKER, NEW_BROKER e ERROR_BROKER_CONVERSATIONS

  • Instantâneo do banco de dados

Para obter mais informações sobre os argumentos e a instrução CREATE DATABASE, consulte CREATE DATABASE (SQL Server Transact-SQL).

Comentários

Os bancos de dados no Banco de dados SQL do Azure tem várias configurações padrão que são definidas quando o banco de dados é criado. Para obter mais informações sobre essas configurações padrão, consulte a lista de valores em DATABASEPROPERTYEX (Transact-SQL).

MAXSIZE fornece a capacidade de limitar o tamanho do banco de dados. Se o tamanho do banco de dados atingir seu MAXSIZE, você receberá o código de erro 40544. Quando isso ocorre, você não pode inserir ou atualizar dados nem criar novos objetos (como tabelas, procedimentos armazenados, exibições e funções). No entanto, você ainda pode ler e excluir dados, truncar tabelas, descartar tabelas e índices e reconstruir índices. Você pode atualizar MAXSIZE para um valor maior que o tamanho atual do banco de dados ou excluir alguns dados para liberar espaço de armazenamento. Pode haver um atraso máximo de quinze minutos para que você possa inserir novos dados.

Importante

A instrução CREATE DATABASE deve ser a única instrução em um lote do Transact-SQL.Você deve estar conectado ao banco de dados master ao executar a instrução CREATE DATABASE.

Para alterar o tamanho, a edição ou os valores do objetivo do serviço posteriormente, use ALTER DATABASE (Transact-SQL).

Cópias de banco de dados

Copiar um banco de dados usando a instrução CREATE DATABASE é uma operação assíncrona. Portanto, uma conexão com o servidor de Banco de dados SQL não é necessária para a duração completa do processo de cópia. A instrução CREATE DATABASE retornará o controle para o usuário depois que a entrada no sys.databases for criada, mas antes que a operação de cópia de banco de dados seja concluída. Em outras palavras, a instrução CREATE DATABASE é retornada com êxito quando a cópia do banco de dados ainda está em andamento. Você pode monitorar o processo de cópia com as exibições sys.dm_database_copies e sys.databases. A exibição sys.dm_operations_status pode ser usada e retornará o status das operações de banco de dados, incluindo a cópia do banco de dados. Quando o processo de cópia é concluído com êxito, o banco de dados de destino fica transacionalmente consistente com o banco de dados de origem. Para mais informações sobre copiar bancos de dados no Banco de dados SQL, consulte Copiando Bancos de Dados no Banco de Dados SQL do Azure.

Dica

Quando um banco de dados é copiado para um novo banco de dados, este é criado com a mesma camada de serviço e nível de desempenho do banco de dados de origem.Por exemplo, uma cópia de um banco de dados Premium com nível de desempenho P1 será criada como um novo banco de dados Premium com nível de desempenho P1.

A seguinte sintaxe e as regras semânticas aplicam-se ao uso do argumento AS COPY OF:

  • Os nomes do servidor de origem e do servidor para o destino de impressão podem ser iguais ou diferentes. Quando são o mesmo, esse parâmetro é opcional e o contexto do servidor da sessão atual será usado por padrão.

  • Os nomes do banco de dados de origem e destino devem ser especificados, exclusivo e estarem em conformidade com as regras do SQL Server para identificadores. Para obter mais informações, consulte Identificadores.

  • A instrução CREATE DATABASE deve ser executada dentro do contexto do banco de dados mestre do servidor Banco de dados SQL em que o novo banco de dados será criado.

  • Depois de a cópia ser concluída, o banco de dados de destino deve ser gerenciado como um banco de dados independente. Você pode executar as instruções ALTER DATABASE e DROP DATABASE no novo banco de dados independentemente do banco de dados de origem. Você também pode copiar o novo banco de dados para outro novo banco de dados.

  • O banco de dados de destino não poderá ser acessado até que o processo de cópia seja concluído. Você pode verificar o status do processo de cópia consultando o sys.dm_operations_status ou a coluna state na exibição sys.databases ou a coluna percentage_complete na exibição sys.dm_database_copies no servidor Banco de dados SQL de destino.

    Durante o processo de cópia, a coluna state da exibição de sys.databases mostra Copying no servidor Banco de dados SQL de destino. Além disso, a coluna percentange_complete do sys.dm_database_copies mostra a porcentagem de bytes que foi copiada no servidor de destino.

  • O banco de dados de origem pode continuar a ser acessado enquanto a cópia do banco de dados está em andamento.

Permissões

Somente o logon de entidade de segurança no nível do servidor (criado pelo processo de provisionamento) ou os membros da função de banco de dados dbmanager podem criar bancos de dados. Os servidores lógicos de origem e de destino devem pertencer à mesma assinatura do Azure.