CREATE DATABASECREATE DATABASE

Cria um novo banco de dados.Creates a new database.

Clique em uma das guias a seguir para ver sintaxe, argumentos, comentários, permissões e exemplos de uma versão específica do SQL com a qual você está trabalhando.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Para obter mais informações sobre as convenções de sintaxe, consulte Convenções de sintaxe Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Clique em um produto!Click a product!

Na linha a seguir, clique em qualquer nome de produto de seu interesse.In the following row, click whichever product name you are interested in. O clique exibe conteúdo diferente aqui nesta página da Web, apropriado para qualquer produto no qual você clicar.The click displays different content here on this webpage, appropriate for whichever product you click.

* SQL Server *  * SQL Server *   Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

Visão geralOverview

No SQL Server, essa instrução cria um novo banco de dados e os arquivos usados e seus grupos de arquivos.In SQL Server, this statement creates a new database and the files used and their filegroups. Também pode ser usado para criar um instantâneo de banco de dados ou anexar arquivos de banco de dados para criar um banco de dados com os arquivos desanexados de outro banco de dados.It can also be used to create a database snapshot, or attach database files to create a database from the detached files of another database.

SintaxeSyntax

Criar um banco de dados.Create a database.

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
      [ PRIMARY ] <filespec> [ ,...n ]
      [ , <filegroup> [ ,...n ] ]
      [ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
      FILESTREAM ( <filestream_option> [,...n ] )
    | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
    | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
    | NESTED_TRIGGERS = { OFF | ON }
    | TRANSFORM_NOISE_WORDS = { OFF | ON}
    | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
    | DB_CHAINING { OFF | ON }
    | TRUSTWORTHY { OFF | ON }
    | PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='<Filepath to folder on DAX formatted volume>' )
}

<filestream_option> ::=
{
      NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
    | DIRECTORY_NAME = 'directory_name'
}

<filespec> ::=
{
(
    NAME = logical_file_name ,
    FILENAME = { 'os_file_name' | 'filestream_path' }
    [ , SIZE = size [ KB | MB | GB | TB ] ]
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup name [ [ CONTAINS FILESTREAM ] [ DEFAULT ] | CONTAINS MEMORY_OPTIMIZED_DATA ]
    <filespec> [ ,...n ]
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
}

Anexar um banco de dadosAttach a database

CREATE DATABASE database_name
    ON <filespec> [ ,...n ]
    FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
        | ATTACH_REBUILD_LOG }
[;]

<attach_database_option> ::=
{
      <service_broker_option>
    | RESTRICTED_USER
    | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

Criar um instantâneo do banco de dadosCreate a database snapshot

CREATE DATABASE database_snapshot_name
    ON
    (
        NAME = logical_file_name,
        FILENAME = 'os_file_name'
    ) [ ,...n ]
    AS SNAPSHOT OF
[;]

ArgumentosArguments

database_name É o nome do novo banco de dados.database_name Is the name of the new database. Nomes de bancos de dados devem ser exclusivos dentro de uma instância do SQL ServerSQL Server e estar de acordo com as regras de identificadores.Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

database_name pode conter um máximo de 128 caracteres, a menos que um nome lógico não esteja especificado para o arquivo de log.database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. Se não for especificado um nome de arquivo de log lógico, SQL ServerSQL Server gerará o logical_file_name e os_file_name para o log acrescentando um sufixo a database_name.If a logical log file name is not specified, SQL ServerSQL Server generates the logical_file_name and the os_file_name for the log by appending a suffix to database_name. Isso limita o database_name a 123 caracteres de modo que o nome do arquivo lógico gerado não seja maior do que 128 caracteres.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

Se o nome do arquivo de dados não for especificado, SQL ServerSQL Server usará database_name como o logical_file_name e como o os_file_name.If data file name is not specified, SQL ServerSQL Server uses database_name as both the logical_file_name and as the os_file_name. O caminho padrão é obtido do Registro.The default path is obtained from the registry. O caminho padrão pode ser alterado usando as Propriedades do Servidor (Página Configurações de Banco de Dados) no Management StudioManagement Studio.The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. A alteração do caminho padrão exige o reinício do SQL ServerSQL Server.Changing the default path requires restarting SQL ServerSQL Server.

CONTAINMENT = { NONE | PARTIAL }CONTAINMENT = { NONE | PARTIAL }

Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Especifica o status de contenção do banco de dados.Specifies the containment status of the database. NONE = banco de dados dependente.NONE = non-contained database. PARTIAL = banco de dados parcialmente independente.PARTIAL = partially contained database.

ONON
Especifica que os arquivos em disco usados para armazenar as seções de dados do banco de dados, arquivos de dados, são definidos explicitamente.Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. ON é necessário quando seguido por uma lista de itens <filespec> separados por vírgulas que definem os arquivos de dados para o grupo de arquivos primário.ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. A lista de arquivos no grupo de arquivos primário pode ser seguida por uma lista opcional de itens de <filegroup> separados por vírgulas que definem os grupos de arquivos de usuários e seus arquivos.The list of files in the primary filegroup can be followed by an optional, comma-separated list of <filegroup> items that define user filegroups and their files.

PRIMARYPRIMARY
Especifica que a lista <filespec> associada define o arquivo primário.Specifies that the associated <filespec> list defines the primary file. O primeiro arquivo especificado na entrada <filespec> no grupo de arquivos primário torna-se o arquivo primário.The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. Um banco de dados pode conter apenas um arquivo primário.A database can have only one primary file. Para obter mais informações, consulte Database Files and Filegroups.For more information, see Database Files and Filegroups.

Se PRIMARY não estiver especificado, o primeiro arquivo listado na instrução CREATE DATABASE se tornará o arquivo primário.If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ONLOG ON
Especifica que os arquivos em disco usados para armazenar o log do banco de dados, os arquivos de log, são definidos explicitamente.Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON é seguido por uma lista separada por vírgulas de itens <filespec> que definem os arquivos de log.LOG ON is followed by a comma-separated list of <filespec> items that define the log files. Se LOG ON não estiver especificado, um arquivo de log será criado automaticamente com um tamanho de 25 por cento da soma dos tamanhos de todos os arquivos de dados do banco de dados ou 512 KB, o que for maior.If LOG ON is not specified, one log file is automatically created, which has a size that is 25 percent of the sum of the sizes of all the data files for the database, or 512 KB, whichever is larger. Esse arquivo é colocado no local padrão de arquivo de log.This file is placed in the default log-file location. Para obter informações sobre esse local, veja Exibir ou alterar os locais padrão de arquivos de log e dados – SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

LOG ON não pode ser especificado em um instantâneo do banco de dados.LOG ON cannot be specified on a database snapshot.

COLLATE collation_name COLLATE collation_name
Especifica a ordenação padrão do banco de dados.Specifies the default collation for the database. O nome da ordenação pode ser um nome de ordenação do Windows ou um nome de ordenação SQL.Collation name can be either a Windows collation name or a SQL collation name. Se não estiver especificado, a ordenação padrão da instância do SQL ServerSQL Server será atribuída ao banco de dados.If not specified, the database is assigned the default collation of the instance of SQL ServerSQL Server. Um nome de ordenação não pode ser especificado em um instantâneo do banco de dados.A collation name cannot be specified on a database snapshot.

Um nome de ordenação não pode ser especificado com as cláusulas FOR ATTACH ou FOR ATTACH_REBUILD_LOG.A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. Para obter informações sobre como alterar a ordenação de um banco de dados anexado, acesse o site da Microsoft.For information about how to change the collation of an attached database, visit this Microsoft Web site.

Para saber mais sobre nomes de ordenações Windows e SQL, confira COLLATE.For more information about the Windows and SQL collation names, see COLLATE.

Observação

Os bancos de dados independentes são agrupados de maneira diferente dos bancos de dados dependente.Contained databases are collated differently than non-contained databases. Veja Ordenações de banco de dados independentes para obter mais informações.Please see Contained Database Collations for more information.

WITH <option>WITH <option>
<filestream_options><filestream_options>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Aplica-se a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) até SQL Server 2017SQL Server 2017.NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Especifica o nível de acesso não transacional de FILESTREAM ao banco de dados.Specifies the level of non-transactional FILESTREAM access to the database.

ValorValue DescriçãoDescription
OFFOFF O acesso não transacional está desabilitado.Non-transactional access is disabled.
READONLYREADONLY Os dados FILESTREAM deste banco de dados podem ser lidos por processos não transacionais.FILESTREAM data in this database can be read by non-transactional processes.
FULLFULL O acesso não transacional completo a FileTables FILESTREAM está habilitado.Full non-transactional access to FILESTREAM FileTables is enabled.

DIRECTORY_NAME = <nome_do_diretório>DIRECTORY_NAME = <directory_name>
Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Um nome de diretório compatível com o Windows.A windows-compatible directory name. Esse nome deve ser exclusivo entre todos os nomes de Database_Directory na instância do SQL ServerSQL Server.This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. A comparação de exclusividade não diferencia maiúsculas de minúsculas, independentemente das configurações de ordenação do SQL ServerSQL Server.Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. Essa opção deve ser definida antes da criação de um FileTable neste banco de dados.This option should be set before creating a FileTable in this database.

As opções a seguir são permitidas apenas quando CONTAINMENT estiver definido como PARTIAL.The following options are allowable only when CONTAINMENT has been set to PARTIAL. Se CONTAINMENT não for definida como NOME, ocorrerão erros.If CONTAINMENT is set to NONE, errors will occur.

  • DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>

    Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Confira Configurar a opção de Configuração de Servidor de linguagem de texto completo padrão para obter uma descrição completa dessa opção.See Configure the default full-text language Server Configuration Option for a full description of this option.

  • DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>

    Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Confira Configurar a opção de Configuração de Servidor de idioma padrão para obter uma descrição completa dessa opção.See Configure the default language Server Configuration Option for a full description of this option.

  • NESTED_TRIGGERS = { OFF | ON}NESTED_TRIGGERS = { OFF | ON}

    Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Confira Configurar a opção de Configuração de Servidor de gatilhos aninhados para obter uma descrição completa dessa opção.See Configure the nested triggers Server Configuration Option for a full description of this option.

  • TRANSFORM_NOISE_WORDS = { OFF | ON}TRANSFORM_NOISE_WORDS = { OFF | ON}

    Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Confira Opção de Configuração de Servidor transformar palavras de ruído para obter uma descrição completa dessa opção.See transform noise words Server Configuration Optionfor a full description of this option.

  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <qualquer ano entre 1753 e 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    Quatro dígitos que representam um ano.Four digits representing a year. 2049 é o valor padrão.2049 is the default value. Veja Configurar a opção de Configuração de Servidor de corte de ano com dois dígitos para obter uma descrição completa dessa opção.See Configure the two digit year cutoff Server Configuration Option for a full description of this option.

  • DB_CHAINING { OFF | ON }DB_CHAINING { OFF | ON }

    Quando ON estiver especificado, o banco de dados poderá ser a origem ou o destino de um encadeamento de propriedades de bancos de dados.When ON is specified, the database can be the source or target of a cross-database ownership chain.

    Quando OFF, o banco de dados não poderá participar do encadeamento de propriedades de bancos de dados.When OFF, the database cannot participate in cross-database ownership chaining. O padrão é OFF.The default is OFF.

    Importante

    A instância do SQL ServerSQL Server reconhecerá essa configuração quando a opção do servidor Encadeamento de Propriedades de Bancos de Dados for 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Quando Encadeamento de Propriedades de BD for 1 (ON), todos os bancos de dados de usuário poderão participar de cadeias de propriedades de bancos de dados, independentemente do valor dessa opção.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. Essa opção é definida por meio de sp_configure.This option is set by using sp_configure.

    A definição dessa opção requer associação à função de servidor fixa sysadmin.To set this option, requires membership in the sysadmin fixed server role. A opção DB_CHAINING não pode ser definida nesses bancos de dados do sistema: mestre, modelo, tempdb.The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

  • TRUSTWORTHY { OFF | ON }TRUSTWORTHY { OFF | ON }

    Quando ON estiver especificado, os módulos de banco de dados (por exemplo, exibições, funções definidas pelo usuário ou procedimentos armazenados) que usam um contexto de representação poderão acessar recursos fora do banco de dados.When ON is specified, database modules (for example, views, user-defined functions, or stored procedures) that use an impersonation context can access resources outside the database.

    Quando OFF, os módulos do banco de dados em um contexto de representação não poderão acessar recursos fora do banco de dados.When OFF, database modules in an impersonation context cannot access resources outside the database. O padrão é OFF.The default is OFF.

    TRUSTWORTHY será definido como OFF sempre que o banco de dados for anexado.TRUSTWORTHY is set to OFF whenever the database is attached.

    Por padrão, todos os bancos de dados do sistema, exceto o banco de dados msdb, têm TRUSTWORTHY definido como OFF.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. O valor não pode ser alterado para os bancos de dados modelo e tempdb.The value cannot be changed for the model and tempdb databases. É recomendável nunca definir a opção TRUSTWORTHY como ON para o banco de dados mestre.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

  • PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )

    Quando essa opção é especificada, o buffer de log de transações é criado em um volume que está localizado em um dispositivo de disco apoiado pela Memória de Classe de Armazenamento (armazenamento não volátil NVDIMM-N), também conhecido como buffer de log persistente.When this option is specified, the transaction log buffer is created on a volume that is located on a disk device backed by Storage Class Memory (NVDIMM-N nonvolatile storage) - also known as a persistent log buffer. Para saber mais, confira Aceleração de latência de Transação Confirmada usando Memória de Classe de Armazenamento.For more information, see Transaction Commit latency acceleration using Storage Class Memory. Aplica-se a: SQL Server 2017 (14.x)SQL Server 2017 (14.x) e posterior.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and newer.

FOR ATTACH [ WITH < attach_database_option > ]FOR ATTACH [ WITH < attach_database_option > ]
Especifica que o banco de dados é criado pela anexação de um conjunto existente de arquivos do sistema operacional.Specifies that the database is created by attaching an existing set of operating system files. Deve haver uma entrada <filespec> que especifica o arquivo primário.There must be a <filespec> entry that specifies the primary file. As únicas outras entradas <filespec> necessárias são as de arquivos que têm um caminho diferente daquele de quando o banco de dados foi criado pela primeira vez ou anexado pela última vez.The only other <filespec> entries required are those for any files that have a different path from when the database was first created or last attached. Uma entrada <filespec> deve ser especificada para estes arquivos.A <filespec> entry must be specified for these files.

FOR ATTACH exige o seguinte:FOR ATTACH requires the following:

  • Todos os arquivos de dados (MDF e NDF) devem estar disponíveis.All data files (MDF and NDF) must be available.
  • Se existirem vários arquivos de log, todos eles deverão estar disponíveis.If multiple log files exist, they must all be available.

Se um banco de dados de leitura/gravação tiver um único arquivo de log que não esteja disponível no momento e se o banco de dados foi encerrado sem usuários ou transações abertas antes da operação de anexação, FOR ATTACH reconstruirá automaticamente o arquivo de log e atualizará o arquivo primário.If a read/write database has a single log file that is currently unavailable, and if the database was shut down with no users or open transactions before the attach operation, FOR ATTACH automatically rebuilds the log file and updates the primary file. Por outro lado, para um banco de dados somente leitura, o log não pode ser reconstruído porque o arquivo primário não pode ser atualizado.In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. Portanto, ao anexar um banco de dados somente leitura com um log que não está disponível, você deve fornecer os arquivos de log ou os arquivos na cláusula FOR ATTACH.Therefore, when you attach a read-only database with a log that is unavailable, you must provide the log files, or the files in the FOR ATTACH clause.

Observação

Um banco de dados criado por uma versão mais recente do SQL ServerSQL Server não pode ser anexado em versões anteriores.A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

No SQL ServerSQL Server, todos os arquivos de texto completo que fazem parte do banco de dados que está sendo anexado serão anexados com o banco de dados.In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. Para especificar um novo caminho do catálogo de texto completo, especifique o novo local sem o nome do arquivo do sistema operacional de texto completo.To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. Para obter mais informações, consulte a seção Exemplos.For more information, see the Examples section.

A anexação de um banco de dados que contém uma opção de FILESTREAM "Nome de diretório", em uma instância do SQL ServerSQL Server, solicitará que o SQL ServerSQL Server verifique se o nome de Database_Directory é exclusivo.Attaching a database that contains a FILESTREAM option of "Directory name", into a SQL ServerSQL Server instance will prompt SQL ServerSQL Server to verify that the Database_Directory name is unique. Se não for, a operação de anexação falhará com o erro "O nome do Database_Directory do FILESTREAM <nome> não é exclusivo nesta instância do SQL Server".If it is not, the attach operation fails with the error, "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance". Para evitar esse erro, o parâmetro opcional, directory_name deve ser passado para essa operação.To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

FOR ATTACH não pode ser especificado em um instantâneo do banco de dados.FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH pode especificar a opção de RESTRICTED_USER.FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER permite que somente os membros da função de banco de dados fixa db_owner e das funções de servidor fixas dbcreator e sysadmin conectem-se ao banco de dados, mas não limita seu número.RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but does not limit their number. As tentativas de usuários não qualificados são recusadas.Attempts by unqualified users are refused.

Se o banco de dados usar Service BrokerService Broker, use WITH <service_broker_option> na cláusula FOR ATTACH:If the database uses Service BrokerService Broker, use the WITH <service_broker_option> in your FOR ATTACH clause:

<service_broker_option><service_broker_option>
Controla entrega de mensagem Service BrokerService Broker e o identificador Service BrokerService Broker para o banco de dados.Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. As opções Service BrokerService Broker podem ser especificadas somente quando a cláusula FOR ATTACH é usada.Service BrokerService Broker options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKERENABLE_BROKER
Especifica que o Service BrokerService Broker está habilitado para o banco de dados especificado.Specifies that Service BrokerService Broker is enabled for the specified database. Ou seja, a entrega das mensagens é iniciada e is_broker_enabled é definido como verdadeiro na exibição do catálogo sys.databases.That is, message delivery is started, and is_broker_enabled is set to true in the sys.databases catalog view. O banco de dados retém o identificador do Service BrokerService Broker existente.The database retains the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Cria um novo valor de service_broker_guid no sys.databases e no banco de dados restaurado e encerra todos os pontos de extremidade de conversa com limpeza.Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. O agente está habilitado, mas nenhuma mensagem é enviada aos pontos de extremidade de conversa remotos.The broker is enabled, but no message is sent to the remote conversation endpoints. Qualquer rota que referencia o antigo identificador do Service BrokerService Broker deve ser recriada novamente com o novo identificador.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Encerra todas as conversas com um erro que declara que o banco de dados está anexado ou restaurado.Ends all conversations with an error stating that the database is attached or restored. O agente é desabilitado até que essa operação seja concluída e, em seguida, é habilitado.The broker is disabled until this operation is completed and then enabled. O banco de dados retém o identificador do Service BrokerService Broker existente.The database retains the existing Service BrokerService Broker identifier.

Ao anexar um banco de dados replicado que tenha sido copiado, em vez de desanexado, considere o seguinte:When you attach a replicated database that was copied instead of being detached, consider the following:

  • Se você anexar o banco de dados à mesma instância e versão de servidor como banco de dados original, nenhuma etapa adicional será necessária.If you attach the database to the same server instance and version as the original database, no additional steps are required.
  • Se anexar o banco de dados à mesma instância de servidor, mas com uma versão atualizada, você deverá executar sp_vupgrade_replication para atualizar a replicação depois que a operação de anexação tiver sido concluída.If you attach the database to the same server instance but with an upgraded version, you must execute sp_vupgrade_replication to upgrade replication after the attach operation is complete.
  • Se você anexar o banco de dados a uma instância de servidor diferente, independentemente da versão, deverá executar sp_removedbreplication para remover a replicação depois que a operação de anexação tiver sido concluída.If you attach the database to a different server instance, regardless of version, you must execute sp_removedbreplication to remove replication after the attach operation is complete.

Observação

A anexação funciona com o formato de armazenamento vardecimal, mas o Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine deve ser atualizado pelo menos para o SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2.Attach works with the vardecimal storage format, but the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine must be upgraded to at least SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2. Não é possível anexar um banco de dados que usa formato de armazenamento vardecimal a uma versão anterior do SQL ServerSQL Server.You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. Para obter mais informações sobre o formato de armazenamento vardecimal, veja Compactação de dados.For more information about the vardecimal storage format, see Data Compression.

Quando um banco de dados é anexado ou restaurado pela primeira vez a uma nova instância do SQL ServerSQL Server, uma cópia da chave mestra de banco de dados (criptografada pela chave mestra de serviço) ainda não está armazenada no servidor.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. É necessário usar a instrução OPEN MASTER KEY para descriptografar a DMK (chave mestra do banco de dados).You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Após a descriptografia da DMK, você tem a opção de habilitar a descriptografia automática no futuro usando a instrução ALTER MASTER KEY REGENERATE para provisionar o servidor com uma cópia da DMK criptografada com a SMK (chave mestra de serviço).Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). Quando um banco de dados for atualizado de uma versão anterior, a DMK deverá ser regenerada para usar o algoritmo AES mais recente.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Para obter mais informações sobre como regenerar a DMK, consulte ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. O tempo necessário para regenerar a chave DMK para atualizar o AES depende do número de objetos protegidos pela DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. É necessário regenerar a chave DMK para atualizar o AES somente uma vez, isso não tem impacto sobre regenerações futuras como parte de uma estratégia de rotação de chave.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy. Para obter informações sobre como atualizar um banco de dados usando anexar, veja Atualizar um banco de dados utilizando desanexar e anexar.For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach.

Importante

É recomendável não anexar bancos de dados de origens desconhecidas ou não confiáveis.We recommend that you do not attach databases from unknown or untrusted sources. Esses bancos de dados podem conter um código mal-intencionado que pode executar um código Transact-SQLTransact-SQL inesperado ou provocar erros modificando o esquema ou a estrutura física do banco de dados.Such databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. Antes de usar um banco de dados de origem desconhecida ou não confiável, execute DBCC CHECKDB no banco de dados em um servidor que não seja de produção, e também examine o código, como procedimentos armazenados ou outro código definido pelo usuário, no banco de dados.Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server, and also examine the code, such as stored procedures or other user-defined code, in the database.

Observação

As opções TRUSTWORTHY e DB_CHAINING não causam nenhum efeito quando um banco de dados é anexado.The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOGFOR ATTACH_REBUILD_LOG
Especifica que o banco de dados é criado pela anexação de um conjunto existente de arquivos do sistema operacional.Specifies that the database is created by attaching an existing set of operating system files. Essa opção é limitada a bancos de dados de leitura/gravação.This option is limited to read/write databases. Deve haver uma entrada <filespec> especificando o arquivo primário.There must be a <filespec> entry specifying the primary file. Se um ou mais arquivos de log de transações estiverem ausentes, o arquivo de log será reconstruído.If one or more transaction log files are missing, the log file is rebuilt. O ATTACH_REBUILD_LOG cria automaticamente um novo arquivo de log de 1 MB.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. Esse arquivo é colocado no local padrão de arquivo de log.This file is placed in the default log-file location. Para obter informações sobre esse local, veja Exibir ou alterar os locais padrão de arquivos de log e dados – SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

Observação

Se os arquivos de log estiverem disponíveis, o Mecanismo de Banco de DadosDatabase Engine usará esses arquivos em vez de reconstruir os arquivos de log.If the log files are available, the Mecanismo de Banco de DadosDatabase Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG exige o seguinte:FOR ATTACH_REBUILD_LOG requires the following:

  • Um desligamento correto do banco de dados.A clean shutdown of the database.
  • Todos os arquivos de dados (MDF e NDF) devem estar disponíveis.All data files (MDF and NDF) must be available.

Importante

Essa operação interrompe a cadeia de backup de log.This operation breaks the log backup chain. É recomendável que um backup completo do banco de dados seja executado após a conclusão da operação.We recommend that a full database backup be performed after the operation is completed. Para obter mais informações, consulte BACKUP.For more information, see BACKUP.

Normalmente, FOR ATTACH_REBUILD_LOG é usado quando você copia um banco de dados de leitura/gravação com um log grande em outro servidor onde a cópia será usada principalmente, ou apenas, para operações de leitura e, portanto, exige menos espaço de log do que o banco de dados original.Typically, FOR ATTACH_REBUILD_LOG is used when you copy a read/write database with a large log to another server where the copy will be used mostly, or only, for read operations, and therefore requires less log space than the original database.

FOR ATTACH_REBUILD_LOG não pode ser especificado em um instantâneo do banco de dados.FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

Para obter mais informações sobre como anexar e desanexar bancos de dados, veja Anexação e desanexação de banco de dados.For more information about attaching and detaching databases, see Database Detach and Attach.

<filespec><filespec>
Controla as propriedades do arquivo.Controls the file properties.

NAME logical_file_name NAME logical_file_name
Especifica o nome lógico do arquivo.Specifies the logical name for the file. NAME é exigido quando FILENAME está especificado, exceto ao especificar uma das cláusulas FOR ATTACH.NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. Um grupo de arquivos FILESTREAM não pode ser denominado PRIMARY.A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_name logical_file_name
É o nome lógico usado no SQL ServerSQL Server ao referenciar o arquivo.Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name deve ser exclusivo no banco de dados e estar de acordo com a regras de identificadores.Logical_file_name must be unique in the database and comply with the rules for identifiers. O nome pode ser um caractere ou constante Unicode ou um identificador normal ou delimitado.The name can be a character or Unicode constant, or a regular or delimited identifier.

FILENAME { ' os_file_name ' | ' filestream_path ' }FILENAME { 'os_file_name' | 'filestream_path' }
Especifica o nome do arquivo (físico) do sistema operacional.Specifies the operating system (physical) file name.

' os_file_name ' ' os_file_name '
É o caminho e o nome do arquivo usados pelo sistema operacional quando o arquivo é criado.Is the path and file name used by the operating system when you create the file. O arquivo deve residir em um dos seguintes dispositivos: o servidor local no qual o SQL ServerSQL Server está instalado, uma rede de área de armazenamento [SAN] ou em uma rede baseada em iSCSI.The file must reside on one of the following devices: the local server on which SQL ServerSQL Server is installed, a Storage Area Network [SAN], or an iSCSI-based network. O caminho especificado deve existir antes da execução da instrução CREATE DATABASE.The specified path must exist before executing the CREATE DATABASE statement. Para obter mais informações, consulte "Arquivos de grupos de arquivos do banco de dados" na seção Comentários.For more information, see "Database Files and Filegroups" in the Remarks section.

Os parâmetros SIZE, MAXSIZE e FILEGROWTH podem ser definidos quando um caminho UNC está especificado para o arquivo.SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

Se o arquivo estiver em uma partição bruta, os_file_name deverá especificar apenas a letra da unidade de uma partição bruta existente.If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. Apenas um arquivo de dados pode ser criado em cada partição bruta.Only one data file can be created on each raw partition.

Arquivos de dados não devem ser colocados em sistemas de arquivos compactados a não ser que os arquivos sejam secundários e somente leitura ou que o banco de dados seja somente leitura.Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. Arquivos de log nunca devem ser colocados em sistemas de arquivos compactados.Log files should never be put on compressed file systems.

' filestream_path ' ' filestream_path '
Para um grupo de arquivos FILESTREAM, FILENAME faz referência a um caminho onde dados FILESTREAM serão armazenados.For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. O caminho até a última pasta deve existir e a última pasta não deve existir.The path up to the last folder must exist, and the last folder must not exist. Por exemplo, se você especificar o caminho C:\MyFiles\MyFilestreamData, C:\MyFiles deve existir antes da execução de ALTER DATABASE, mas a pasta MyFilestreamData não deve existir.For example, if you specify the path C:\MyFiles\MyFilestreamData, C:\MyFiles must exist before you run ALTER DATABASE, but the MyFilestreamData folder must not exist.

O grupo de arquivos e o arquivo (<filespec>) devem ser criados na mesma instrução.The filegroup and file (<filespec>) must be created in the same statement.

As propriedades SIZE e FILEGROWTH não se aplicam a um grupo de arquivos FILESTREAM.The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE size SIZE size
Especifica o tamanho do arquivo.Specifies the size of the file.

SIZE não pode ser especificado quando o os_file_name for especificado como um caminho UNC.SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE não se aplica a um grupo de arquivos FILESTREAM.SIZE does not apply to a FILESTREAM filegroup.

size size
É o tamanho inicial do arquivo.Is the initial size of the file.

Quando o tamanho do arquivo primário não é informado, o Mecanismo de Banco de DadosDatabase Engine usa o tamanho do arquivo primário no modelo de banco de dados.When size is not supplied for the primary file, the Mecanismo de Banco de DadosDatabase Engine uses the size of the primary file in the model database. O tamanho padrão do modelo é de 8 MB (começando com SQL Server 2016 (13.x)SQL Server 2016 (13.x)) ou 1 MB (para versões anteriores).The default size of model is 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). Quando um arquivo de dados secundário ou um arquivo de log for especificado, mas o tamanho não for especificado para o arquivo, o Mecanismo de Banco de DadosDatabase Engine fará com que o arquivo ter 8 MB (começando com SQL Server 2016 (13.x)SQL Server 2016 (13.x)) ou 1 MB (para versões anteriores).When a secondary data file or log file is specified, but size is not specified for the file, the Mecanismo de Banco de DadosDatabase Engine makes the file 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). O tamanho especificado para o arquivo primário deve ser, no mínimo, tão grande quanto o arquivo primário do banco de dados modelo.The size specified for the primary file must be at least as large as the primary file of the model database.

Os sufixos KB (quilobyte), MB (megabyte), GB (gigabyte) ou TB (terabyte) podem ser usados.The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. O padrão é MB.The default is MB. Especifique um número inteiro; não inclua um decimal.Specify a whole number; do not include a decimal. Size é um valor inteiro.Size is an integer value. Para valores maiores que 2147483647, use unidades maiores.For values greater than 2147483647, use larger units.

MAXSIZE max_size MAXSIZE max_size
Especifica o tamanho máximo até o qual o arquivo pode crescer.Specifies the maximum size to which the file can grow. MAXSIZE não pode ser especificado quando o os_file_name for especificado como um caminho UNC.MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_size max_size
É o tamanho máximo do arquivo.Is the maximum file size. Os sufixos KB, MB, GB e TB podem ser usados.The KB, MB, GB, and TB suffixes can be used. O padrão é MB.The default is MB. Especifique um número inteiro; não inclua um decimal.Specify a whole number; do not include a decimal. Se um max_size não for especificado, o arquivo aumentará até que o disco esteja cheio.If max_size is not specified, the file grows until the disk is full. Max_size é um valor inteiro.Max_size is an integer value. Para valores maiores que 2147483647, use unidades maiores.For values greater than 2147483647, use larger units.

UNLIMITEDUNLIMITED
Especifica que o arquivo crescerá até que o disco esteja cheio.Specifies that the file grows until the disk is full. No SQL ServerSQL Server, um arquivo de log especificado com crescimento ilimitado tem um tamanho máximo de 2 TB, e um arquivo de dados tem um tamanho máximo de 16 TB.In SQL ServerSQL Server, a log file specified with unlimited growth has a maximum size of 2 TB, and a data file has a maximum size of 16 TB.

Observação

Não há nenhum tamanho máximo quando essa opção é especificada para um contêiner FILESTREAM.There is no maximum size when this option is specified for a FILESTREAM container. Ele continua crescendo até que o disco esteja cheio.It continues to grow until the disk is full.

FILEGROWTH growth_increment FILEGROWTH growth_increment
Especifica o incremento de crescimento automático do arquivo.Specifies the automatic growth increment of the file. A configuração de FILEGROWTH de um arquivo não pode exceder a configuração de MAXSIZE.The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. FILEGROWTH não pode ser especificado quando o os_file_name é especificado como um caminho UNC.FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH não se aplica a um grupo de arquivos FILESTREAM.FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_increment growth_increment
É a quantidade de espaço adicionada ao arquivo sempre que novo espaço é necessário.Is the amount of space added to the file every time new space is required.

O valor pode ser especificado em MB, KB, GB, TB ou porcentagem (%).The value can be specified in MB, KB, GB, TB, or percent (%). Se um número for especificado sem um sufixo MB, KB, ou %, o padrão será MB.If a number is specified without an MB, KB, or % suffix, the default is MB. Quando % está especificada, o tamanho do incremento de crescimento é a porcentagem especificada do tamanho do arquivo no momento em que ocorre o incremento.When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. O tamanho especificado é arredondado para os 64 KB mais próximos e o valor mínimo é de 64 KB.The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

Um valor 0 indica que o crescimento automático está desativado e nenhum espaço adicional é permitido.A value of 0 indicates that automatic growth is off and no additional space is allowed.

Se FILEGROWTH não é especificado, os valores padrão são:If FILEGROWTH is not specified, the default values are:

VersãoVersion Valores padrãoDefault values
Iniciando o SQL Server 2016 (13.x)SQL Server 2016 (13.x)Beginning SQL Server 2016 (13.x)SQL Server 2016 (13.x) Dados 64 MB.Data 64 MB. Arquivos de log 64 MB.Log files 64 MB.
Iniciando o SQL Server 2005 (9.x)SQL Server 2005 (9.x)Beginning SQL Server 2005 (9.x)SQL Server 2005 (9.x) Dados 1 MB.Data 1 MB. Arquivos de log 10%.Log files 10%.
Antes do SQL Server 2005 (9.x)SQL Server 2005 (9.x)Prior to SQL Server 2005 (9.x)SQL Server 2005 (9.x) Dados 10%.Data 10%. Arquivos de log 10%.Log files 10%.

<filegroup><filegroup>
Controla as propriedades do grupo de arquivos.Controls the filegroup properties. O grupo de arquivos não pode ser especificado em um instantâneo do banco de dados.Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_name FILEGROUP filegroup_name
É o nome lógico do grupo de arquivos.Is the logical name of the filegroup.

filegroup_name filegroup_name
filegroup_name deve ser exclusivo no banco de dados e não pode ser os nomes PRIMARY e PRIMARY_LOG fornecidos pelo sistema.filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. O nome pode ser um caractere ou constante Unicode ou um identificador normal ou delimitado.The name can be a character or Unicode constant, or a regular or delimited identifier. O nome deve estar de acordo com as regras de identificadores.The name must comply with the rules for identifiers.

CONTAINS FILESTREAMCONTAINS FILESTREAM
Especifica que o grupo de arquivos armazena BLOBs (objetos binários grandes) FILESTREAM no sistema de arquivos.Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

Aplica-se a: do SQL Server 2014 (12.x)SQL Server 2014 (12.x) ao SQL Server 2017SQL Server 2017Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017

Especifica que o grupo de arquivos armazena dados memory_optimized no sistema de arquivos.Specifies that the filegroup stores memory_optimized data in the file system. Para obter mais informações, veja OLTP In-Memory – Otimização In-Memory.For more information, see In-Memory OLTP - In-Memory Optimization. Apenas um grupo de arquivos MEMORY_OPTIMIZED_DATA é permitido por banco de dados.Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. Para obter exemplos de códigos que criam um grupo de arquivos para armazenar dados com otimização de memória, veja Criando uma tabela com otimização de memória e um procedimento armazenado compilado nativamente.For code samples that create a filegroup to store memory-optimized data, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

DEFAULTDEFAULT
Especifica que o grupo de arquivos nomeado é o grupo de arquivos padrão no banco de dados.Specifies the named filegroup is the default filegroup in the database.

database_snapshot_name database_snapshot_name
É o nome do novo instantâneo do banco de dados.Is the name of the new database snapshot. Nomes de instantâneos de bancos de dados devem ser exclusivos dentro de uma instância do SQL ServerSQL Server e estar de acordo com as regras de identificadores.Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name pode ter no máximo 128 caracteres.database_snapshot_name can be a maximum of 128 characters.

ON ( NAME = logical_file_name , FILENAME =' os_file_name ') [ , ... n ]ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]
Na criação de um instantâneo do banco de dados, especifica uma lista de arquivos no banco de dados de origem.For creating a database snapshot, specifies a list of files in the source database. Para que o instantâneo funcione, todos os arquivos de dados devem ser especificados individualmente.For the snapshot to work, all the data files must be specified individually. No entanto, arquivos de log não são permitidos para instantâneos do banco de dados.However, log files are not allowed for database snapshots. Os grupos de arquivos FILESTREAM não são suportados pelos instantâneos do banco de dados.FILESTREAM filegroups are not supported by database snapshots. Se um arquivo de dados FILESTREAM for incluído em uma cláusula CREATE DATABASE ON, a instrução falhará e um erro será gerado.If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

Para obter descrições de NAME e FILENAME e seus valores, veja as descrições dos valores equivalentes de <filespec>.For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

Observação

Quando você cria um instantâneo do banco de dados, as outras opções de <filespec> e a palavra-chave PRIMARY não são permitidas.When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_name Especifica que o banco de dados que está sendo criado é um instantâneo de banco de dados do banco de dados de origem especificado por source_database_name.AS SNAPSHOT OF source_database_name Specifies that the database being created is a database snapshot of the source database specified by source_database_name. O instantâneo e o banco de dados de origem devem estar na mesma instância.The snapshot and source database must be on the same instance.

Para saber mais, confira Instantâneos do banco de dados na seção Comentários.For more information, see Database Snapshots in the Remarks section.

RemarksRemarks

O backup do banco de dados mestre deve ser feito sempre que um banco de dados de usuário é criado, modificado ou descartado.The master database should be backed up whenever a user database is created, modified, or dropped.

A instrução CREATE DATABASE deve ser executada em modo de confirmação automática (o modo padrão de gerenciamento de transações) e não deve ser permitida em uma transação explícita ou implícita.The CREATE DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

É possível usar uma instrução CREATE DATABASE para criar um banco de dados e os arquivos que armazenam o banco de dados.You can use one CREATE DATABASE statement to create a database and the files that store the database. O SQL ServerSQL Server implementa a instrução CREATE DATABASE usando as seguintes etapas:SQL ServerSQL Server implements the CREATE DATABASE statement by using the following steps:

  1. O SQL ServerSQL Server usa uma cópia do modelo de banco de dados para inicializar o banco de dados e seu metadados.The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.
  2. Um GUID do agente de serviço é atribuído ao banco de dados.A service broker GUID is assigned to the database.
  3. Em seguida, o Mecanismo de Banco de DadosDatabase Engine preenche o restante do banco de dados com páginas vazias, exceto as páginas que têm dados internos que registram como o espaço é usado no banco de dados.The Mecanismo de Banco de DadosDatabase Engine then fills the rest of the database with empty pages, except for pages that have internal data that records how the space is used in the database.

No máximo 32.767 bancos de dados podem ser especificados em uma instância do SQL ServerSQL Server.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

Cada banco de dados tem um proprietário que pode executar atividades especiais no banco de dados.Each database has an owner that can perform special activities in the database. O proprietário é o usuário que cria o banco de dados.The owner is the user that creates the database. O proprietário do banco de dados pode ser alterado usando sp_changedbowner.The database owner can be changed by using sp_changedbowner.

Alguns recursos de banco de dados dependem de recursos ou capacidades presentes no sistema de arquivos para a funcionalidade completa de um banco de dados.Some database features depend on features or capabilities present in the file system for full functionality of a database. Alguns exemplos de recursos que dependem do conjunto de recursos de sistema de arquivos incluem:Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • FileStreamFileStream
  • Backups online usando instantâneos de arquivo e VSSOnline backups using VSS and file snapshots
  • Criação de instantâneo do banco de dadosDatabase snapshot creation
  • Grupo de arquivos de dados com otimização de memóriaMemory Optimized Data filegroup

Arquivos e grupos de arquivos do banco de dadosDatabase Files and Filegroups

Cada banco de dados tem no mínimo dois arquivos, um arquivo primário e um arquivo de log de transações e pelo menos um grupo de arquivos.Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. Um máximo de 32.767 arquivos e 32.767 grupos de arquivos pode ser especificado para cada banco de dados.A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

Ao criar um banco de dados, torne os arquivos de dados tão grandes quanto possível, com base na quantidade máxima de dados que você espera ter no banco de dados.When you create a database, make the data files as large as possible based on the maximum amount of data you expect in the database.

É recomendável usar uma rede SAN, uma rede baseada em iSCSI ou um disco conectado localmente para o armazenamento dos arquivos de banco de dados do SQL ServerSQL Server, pois essa configuração otimiza o desempenho e a confiabilidade do SQL ServerSQL Server.We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL ServerSQL Server database files, because this configuration optimizes SQL ServerSQL Server performance and reliability.

Instantâneos do banco de dadosDatabase Snapshots

É possível usar a instrução CREATE DATABASE para criar uma exibição estática somente leitura, um instantâneo do banco de dados do banco de dados de origem.You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. Um instantâneo do banco de dados é transacionalmente consistente com o banco de dados de origem pois existia no momento da criação do banco de dados.A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. Um banco de dados de origem pode ter vários instantâneos.A source database can have multiple snapshots.

Observação

Quando você cria um instantâneo do banco de dados, a instrução CREATE DATABASE não pode fazer referência a arquivos de log, arquivos offline, arquivos de restauração e arquivos extintos.When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

Se a criação de um instantâneo do banco de dados falhar, o instantâneo se tornará suspeito e deverá ser excluído.If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. Para obter mais informações, veja DROP DATABASE.For more information, see DROP DATABASE.

Cada instantâneo persiste até que seja excluído usando DROP DATABASE.Each snapshot persists until it is deleted by using DROP DATABASE.

Para obter mais informações, consulte Instantâneos de banco de dados.For more information, see Database Snapshots.

Opções de banco de dadosDatabase Options

Várias opções de banco de dados são automaticamente definidas sempre que você cria um banco de dados.Several database options are automatically set whenever you create a database. Para obter uma lista dessas opções, veja Opções ALTER DATABASE SET.For a list of these options, see ALTER DATABASE SET Options.

Banco de dados modelo e criação de novos bancos de dadosThe model Database and Creating New Databases

Todos os objetos definidos pelo usuário no modelo de banco de dados são copiados para todos os bancos de dados recém-criados.All user-defined objects in the model database are copied to all newly created databases. É possível adicionar quaisquer objetos, como tabelas, exibições, procedimentos armazenados, tipos de dados, etc. ao banco de dados modelo para que sejam incluídos em todos os bancos de dados recém-criados.You can add any objects, such as tables, views, stored procedures, data types, and so on, to the model database to be included in all newly created databases.

Quando uma instrução CREATE DATABASE <database_name> é especificada sem parâmetros adicionais de tamanho, o arquivo de dados primário se torna do mesmo tamanho que o arquivo primário no modelo de banco de dados.When a CREATE DATABASE <database_name> statement is specified without additional size parameters, the primary data file is made the same size as the primary file in the model database.

A não ser que FOR ATTACH seja especificado, cada novo banco de dados herda as configurações de opções do modelo de banco de dados.Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. Por exemplo, a opção de reduzir automaticamente do banco de dados é definida como true no banco de dados modelo e em todos os novos bancos de dados criados.For example, the database option auto shrink is set to true in model and in any new databases you create. Se você alterar as opções no banco de dados modelo, essas novas configurações de opções serão usadas em todos os novos bancos de dados criados.If you change the options in the model database, these new option settings are used in any new databases you create. A alteração das operações no banco de dados modelo não afeta bancos de dados existentes.Changing operations in the model database does not affect existing databases. Se FOR ATTACH estiver especificado na instrução CREATE DATABASE, o novo banco de dados herdará as configurações de opções do banco de dados original.If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

Exibindo informações do banco de dadosViewing Database Information

É possível usar exibições do catálogo, funções do sistema e procedimentos armazenados do sistema para retornar informações sobre bancos de dados, arquivos e grupos de arquivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups. Para obter mais informações, veja Exibições do sistema.For more information, see System Views.

PermissõesPermissions

Requer permissão CREATE DATABASE, CREATE ANY DATABASE ou ALTER ANY DATABASE.Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Para manter controle sobre o uso do disco em uma instância do SQL ServerSQL Server, a permissão para criar bancos de dados geralmente é limitada a algumas contas de logon.To maintain control over disk use on an instance of SQL ServerSQL Server, permission to create databases is typically limited to a few login accounts.

O exemplo a seguir fornece a permissão para criar um banco de dados para o usuário Fay de banco de dados.The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE DATABASE TO [Fay];
GO

Permissões em arquivos de dados e de logPermissions on Data and Log Files

Em SQL ServerSQL Server, determinadas permissões são definidas nos arquivos de dados e de log de cada banco de dados.In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. As permissões a seguir são definidas sempre que as seguintes operações são aplicadas a um banco de dados:The following permissions are set whenever the following operations are applied to a database:

CriadoCreated Modificado para adicionar um novo arquivoModified to add a new file
AnexadoAttached Incluído em backupBacked up
DesanexadoDetached RestauradoRestored

As permissões evitam que os arquivos sejam violados acidentalmente caso residam em um diretório com permissões abertas.The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

Observação

O MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition não define permissões de arquivos de dados e de log.MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

ExemplosExamples

A.A. Criando um banco de dados sem especificar arquivosCreating a database without specifying files

O exemplo a seguir cria o banco de dados mytest e os arquivos primário e de log de transações correspondentes.The following example creates the database mytest and creates a corresponding primary and transaction log file. Como a instrução não tem nenhum item <filespec>, o arquivo de banco de dados primário é do tamanho do arquivo primário do modelo de banco de dados.Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. O log de transações é definido como o maior destes valores: 512 KB ou 25% do tamanho do arquivo de dados primário.The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. Como MAXSIZE não é especificado, os arquivos podem crescer até encher todo o espaço em disco disponível.Because MAXSIZE is not specified, the files can grow to fill all available disk space. Este exemplo de também demonstra como descartar um banco de dados denominado mytest, se ele existir, antes da criação do banco de dados mytest.This example also demonstrates how to drop the database named mytest if it exists, before creating the mytest database.

USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.B. Criando um banco de dados que especifica os arquivos de dados e de log de transaçõesCreating a database that specifies the data and transaction log files

O exemplo a seguir cria o banco de dados Sales.The following example creates the database Sales. Como a palavra-chave PRIMARY não é usada, o primeiro arquivo (Sales_dat) torna-se o arquivo primário.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Como nem MB nem KB é especificado no parâmetro SIZE do arquivo Sales_dat , ele usa MB e é alocado em megabytes.Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. O backup do banco de dados Sales_log é alocado em megabytes porque o sufixo MB é explicitamente declarado no parâmetro SIZE .The Sales_log file is allocated in megabytes because the MB suffix is explicitly stated in the SIZE parameter.

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

C.C. Criando um banco de dados especificando vários arquivos de dados e de log de transaçõesCreating a database by specifying multiple data and transaction log files

O exemplo a seguir cria o banco de dados Archive que tem três arquivos de dados de 100-MB e dois arquivos de log de transações de 100-MB.The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. O arquivo primário é o primeiro arquivo da lista e é especificado explicitamente com a palavra-chave PRIMARY.The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. Os arquivos de log de transações são especificados em seguida às palavras-chave LOG ON.The transaction log files are specified following the LOG ON keywords. Observe as extensões usadas para os arquivos na opção FILENAME: .mdf é usado para arquivos de dados primários, .ndf para arquivos de dados secundários e .ldf para arquivos de log de transações.Note the extensions used for the files in the FILENAME option: .mdf is used for primary data files, .ndf is used for the secondary data files, and .ldf is used for transaction log files. Este exemplo coloca o banco de dados na unidade D: e não com o banco de dados master.This example places the database on the D: drive instead of with the master database.

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
    (NAME = Arch1,
    FILENAME = 'D:\SalesData\archdat1.mdf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch2,
    FILENAME = 'D:\SalesData\archdat2.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch3,
    FILENAME = 'D:\SalesData\archdat3.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20)
LOG ON
  (NAME = Archlog1,
    FILENAME = 'D:\SalesData\archlog1.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
  (NAME = Archlog2,
    FILENAME = 'D:\SalesData\archlog2.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20) ;
GO

D.D. Criando um banco de dados que tem grupos de arquivosCreating a database that has filegroups

O exemplo a seguir cria o banco de dados Sales que tem os seguintes grupos de arquivos:The following example creates the database Sales that has the following filegroups:

  • O grupo de arquivos primário com os arquivos Spri1_dat e Spri2_dat.The primary filegroup with the files Spri1_dat and Spri2_dat. Os incrementos de FILEGROWTH desses arquivos são especificados como 15%.The FILEGROWTH increments for these files are specified as 15%.
  • Um grupo de arquivos denominado SalesGroup1 com os arquivos SGrp1Fi1 e SGrp1Fi2.A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • Um grupo de arquivos denominado SalesGroup2 com os arquivos SGrp2Fi1 e SGrp2Fi2.A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

Este exemplo coloca os dados e os arquivos de log em discos diferentes para melhorar o desempenho.This example places the data and log files on different disks to improve performance.

USE master;
GO
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
    FILENAME = 'D:\SalesData\SPri1dat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
( NAME = SPri2_dat,
    FILENAME = 'D:\SalesData\SPri2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
    FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
    FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
    FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
    FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'E:\SalesLog\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

E.E. Anexando um banco de dadosAttaching a database

O exemplo a seguir desanexa o banco de dados Archive criado no exemplo D e o anexa usando a cláusula FOR ATTACH.The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive foi definido para ter vários dados e arquivos de log.Archive was defined to have multiple data and log files. No entanto, como o local dos arquivos não foi alterado desde sua criação, apenas o arquivo primário precisa ser especificado na cláusula FOR ATTACH.However, because the location of the files has not changed since they were created, only the primary file has to be specified in the FOR ATTACH clause. A partir do SQL Server 2005 (9.x)SQL Server 2005 (9.x), todos os arquivos de texto completo que fazem parte do banco de dados que está sendo anexado serão anexados com o banco de dados.Beginning with SQL Server 2005 (9.x)SQL Server 2005 (9.x), any full-text files that are part of the database that is being attached will be attached with the database.

USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
      ON (FILENAME = 'D:\SalesData\archdat1.mdf')
      FOR ATTACH ;
GO

F.F. Criando um instantâneo do banco de dadosCreating a database snapshot

O exemplo a seguir cria o instantâneo do banco de dados sales_snapshot0600.The following example creates the database snapshot sales_snapshot0600. Como um instantâneo do banco de dados é somente leitura, um arquivo de log não pode ser especificado.Because a database snapshot is read-only, a log file cannot be specified. Em conformidade com a sintaxe, todo arquivo do banco de dados de origem é especificado e grupos de arquivos não são especificados.In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

O banco de dados de origem deste exemplo é o banco de dados Sales criado no exemplo D.The source database for this example is the Sales database created in example D.

USE master;
GO
CREATE DATABASE sales_snapshot0600 ON
    ( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),
    ( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),
    ( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),
    ( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),
    ( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),
    ( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')
AS SNAPSHOT OF Sales ;
GO

G.G. Criando um banco de dados e especificando um nome e opções de ordenaçãoCreating a database and specifying a collation name and options

O exemplo a seguir cria o banco de dados MyOptionsTest.The following example creates the database MyOptionsTest. Um nome de ordenação é especificado e as opções TRUSTYWORTHY e DB_CHAINING são definidas como ON.A collation name is specified and the TRUSTYWORTHY and DB_CHAINING options are set to ON.

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE French_CI_AI
WITH TRUSTWORTHY ON, DB_CHAINING ON;
GO
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

H.H. Anexando um catálogo de texto completo que foi movidoAttaching a full-text catalog that has been moved

O exemplo a seguir anexa o catálogo de texto completo AdvWksFtCat juntamente com os arquivos de dados e de log do AdventureWorks2012.The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. Neste exemplo, o catálogo de texto completo é movido de seu local padrão para um novo local c:\myFTCatalogs.In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. Os arquivos de dados e de log permanecem em seus locais padrão.The data and log files remain in their default locations.

USE master;
GO
--Detach the AdventureWorks2012 database
sp_detach_db AdventureWorks2012;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2012 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2012 ON
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_data.mdf'),
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_log.ldf'),
    (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO

I.I. Criando um banco de dados que especifica um grupo de arquivos de linha e dois grupos de arquivos FILESTREAMCreating a database that specifies a row filegroup and two FILESTREAM filegroups

O exemplo a seguir cria o banco de dados FileStreamDB.The following example creates the FileStreamDB database. O banco de dados é criado com um grupo de arquivos de linha e dois grupos de arquivos FILESTREAM.The database is created with one row filegroup and two FILESTREAM filegroups. Cada grupo de arquivos contém um arquivo:Each filegroup contains one file:

  • FileStreamDB_data contém dados de linha.FileStreamDB_data contains row data. Ele contém um arquivo, FileStreamDB_data.mdf com o caminho padrão.It contains one file, FileStreamDB_data.mdf with the default path.
  • FileStreamPhotos contém dados FILESTREAM.FileStreamPhotos contains FILESTREAM data. Ele contém dois contêineres de dados FILESTREAM, FSPhotos, localizado em C:\MyFSfolder\Photos e FSPhotos2, localizado em D:\MyFSfolder\Photos.It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. É marcado como o grupo de arquivos FILESTREAM padrão.It is marked as the default FILESTREAM filegroup.
  • FileStreamResumes contém dados FILESTREAM.FileStreamResumes contains FILESTREAM data. Ele contém um contêiner de dados FILESTREAM, FSResumes, localizado em C:\MyFSfolder\Resumes.It contains one FILESTREAM data container, FSResumes, located at C:\MyFSfolder\Resumes.
USE master;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
                  FROM master.sys.master_files
                  WHERE database_id = 1 AND file_id = 1);

 -- Execute the CREATE DATABASE statement.
EXECUTE ('CREATE DATABASE FileStreamDB
ON PRIMARY
    (
    NAME = FileStreamDB_data
    ,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''
    ,SIZE = 10MB
    ,MAXSIZE = 50MB
    ,FILEGROWTH = 15%
    ),
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT
    (
    NAME = FSPhotos
    ,FILENAME = ''C:\MyFSfolder\Photos''
-- SIZE and FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
, MAXSIZE = 5000 MB
    ),
    (
      NAME = FSPhotos2
      , FILENAME = ''D:\MyFSfolder\Photos''
      , MAXSIZE = 10000 MB
     ),
FILEGROUP FileStreamResumes CONTAINS FILESTREAM
    (
    NAME = FileStreamResumes
    ,FILENAME = ''C:\MyFSfolder\Resumes''
    )
LOG ON
    (
    NAME = FileStream_log
    ,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''
    ,SIZE = 5MB
    ,MAXSIZE = 25MB
    ,FILEGROWTH = 5MB
    )'
);
GO

J.J. Criando um banco de dados que tem um grupo de arquivos FILESTREAM com vários arquivosCreating a database that has a FILESTREAM filegroup with multiple files

O exemplo a seguir cria o banco de dados BlobStore1.The following example creates the BlobStore1 database. O banco de dados é criado com um grupo de arquivos de linha e um grupo de arquivos FILESTREAM, FS.The database is created with one row filegroup and one FILESTREAM filegroup, FS. O grupo de arquivos FILESTREAM contêm dois arquivos, FS1 e FS2.The FILESTREAM filegroup contains two files, FS1 and FS2. O banco de dados é alterado adicionando-se um terceiro arquivo, FS3, ao grupo de arquivos FILESTREAM.Then the database is altered by adding a third file, FS3, to the FILESTREAM filegroup.

USE master;
GO

CREATE DATABASE [BlobStore1]
CONTAINMENT = NONE
ON PRIMARY
(
    NAME = N'BlobStore1',
    FILENAME = N'C:\BlobStore\BlobStore1.mdf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1MB
),
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT
(  
    NAME = N'FS1',
    FILENAME = N'C:\BlobStore\FS1',
    MAXSIZE = UNLIMITED
),
(
    NAME = N'FS2',
    FILENAME = N'C:\BlobStore\FS2',
    MAXSIZE = 100MB
)
LOG ON
(
    NAME = N'BlobStore1_log',
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 1MB
);
GO

ALTER DATABASE [BlobStore1]
ADD FILE
(
    NAME = N'FS3',
    FILENAME = N'C:\BlobStore\FS3',
    MAXSIZE = 100MB
)
TO FILEGROUP [FS];
GO

Consulte TambémSee Also

SQL ServerSQL Server * Banco de dados individual/pool elástico
do Banco de Dados SQL *
* SQL Database
single database/elastic pool *
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Banco de dados individual/pool elástico do Banco de Dados SQL do AzureAzure SQL Database single database/elastic pool

Visão geralOverview

No banco de dados individual/pool elástico do Banco de dados SQL do AzureAzure SQL Database, essa instrução pode ser usada com um servidor SQL do Azure para criar um banco de dados individual ou um banco de dados em um pool elástico.In Banco de dados SQL do AzureAzure SQL Database single database/elastic pool, this statement can be used with an Azure SQL server to create a single database or a database in an elastic pool. Com esta instrução, você especifica o nome do banco de dados, a ordenação, o tamanho máximo, a edição e o objetivo de serviço e, se aplicável, o pool elástico para o novo banco de dados.With this statement, you specify the database name, collation, maximum size, edition, service objective, and, if applicable, the elastic pool for the new database. Também pode ser usado para criar o banco de dados em um pool elástico.It can also be used to create the database in an elastic pool. Além disso, ele pode ser usado para criar uma cópia do banco de dados em outro servidor de Banco de Dados SQL.Additionally, it can be used to create a copy of the database on another SQL Database server.

SintaxeSyntax

Criar um banco de dadosCreate a database

CREATE DATABASE database_name [ COLLATE collation_name ]
{
  (<edition_options> [, ...n])
}
[ WITH CATALOG_COLLATION = { DATABASE_DEFAULT | SQL_Latin1_General_CP1_CI_AS }]
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | ( EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale' }
  | SERVICE_OBJECTIVE =
    { 'basic' | 'S0' | 'S1' | 'S2' | 'S3' | 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
      | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_GEN4_1' | 'GP_GEN4_2' | 'GP_GEN4_3' | 'GP_GEN4_4' | 'GP_GEN4_5' | 'GP_GEN4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } })
}

Copiar um banco de dadosCopy a database

CREATE DATABASE database_name
    AS COPY OF [source_server_name.] source_database_name
    [ ( SERVICE_OBJECTIVE =
      { 'basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
      | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_GEN4_1' | 'GP_GEN4_2' | 'GP_GEN4_3' | 'GP_GEN4_4' | 'GP_GEN4_5' | 'GP_GEN4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } )
   ]
[;]

ArgumentosArguments

database_name database_name
O nome do novo banco de dados.The name of the new database. Este nome deve ser exclusivo no SQL ServerSQL Server e deve estar de acordo com a regras do SQL ServerSQL Server para identificadores.This name must be unique on the SQL ServerSQL Server and comply with the SQL ServerSQL Server rules for identifiers. Para obter mais informações, consulte Identificadores.For more information, see Identifiers.

Collation_name Collation_name
Especifica a ordenação padrão do banco de dados.Specifies the default collation for the database. O nome da ordenação pode ser um nome de ordenação do Windows ou um nome de ordenação SQL.Collation name can be either a Windows collation name or a SQL collation name. Se não for especificado, o banco de dados receberá a ordenação padrão, que é SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Para obter mais informações sobre nomes de ordenações do Windows e SQL, COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

CATALOG_COLLATIONCATALOG_COLLATION
Especifica a ordenação padrão do catálogo de metadados.Specifies the default collation for the metadata catalog. DATABASE_DEFAULT especifica que o catálogo de metadados usado para exibições do sistema e tabelas do sistema seja agrupado para corresponder à ordenação padrão do banco de dados.DATABASE_DEFAULT specifies that the metadata catalog used for system views and system tables be collated to match the default collation for the database. Esse é o comportamento encontrado no SQL Server.This is the behavior found in SQL Server.

SQL_Latin1_General_CP1_CI_AS especifica que o catálogo de metadados usado para exibições do sistema e tabelas seja agrupado em uma ordenação SQL_Latin1_General_CP1_CI_AS fixo.SQL_Latin1_General_CP1_CI_AS specifies that the metadata catalog used for system views and tables be collated to a fixed SQL_Latin1_General_CP1_CI_AS collation. Essa será a configuração padrão no Banco de Dados SQL do Azure, se não for especificado.This is the default setting on Azure SQL Database if unspecified.

EDITIONEDITION
Especifica a camada de serviço do banco de dados.Specifies the service tier of the database.

Bancos de dados únicos e agrupados em um banco de dados individual/pool elástico.Single and pooled databases on a single database/elastic pool. Os valores disponíveis são: "basic", "standard", "premium", "GeneralPurpose" e "BusinessCritical" e "Hyperscale".The available values are: 'basic', 'standard', 'premium', 'GeneralPurpose', 'BusinessCritical', and 'Hyperscale'.

MAXSIZEMAXSIZE
Especifica o tamanho máximo do banco de dados.Specifies the maximum size of the database. 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 must be valid for the specified EDITION (service tier) Following are the supported MAXSIZE values and defaults (D) for the service tiers.

Observação

O argumento MAXSIZE não é aplicável a bancos de dados individuais na camada de serviço em hiperescala.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. Os bancos de dados da camada em hiperescala crescem conforme necessário até 100 TB.Hyperscale tier databases grow as needed, up to 100 TB. O serviço de Banco de Dados SQL adiciona armazenamento automaticamente – não é necessário definir um tamanho máximo.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Modelo baseado em DTU para bancos de dados individuais e em pool em um servidor de Banco de Dados SQLDTU-based model for single and pooled databases on a SQL Database server

MAXSIZEMAXSIZE BasicBasic S0-S2S0-S2 S3-S12S3-S12 P1-P6P1-P6 P11-P15P11-P15
100 MB100 MB
250 MB250 MB
500 MB500 MB
1 GB1 GB
2 GB2 GB √ (D)√ (D)
5 GB5 GB N/AN/A
10 GB10 GB N/AN/A
20 GB20 GB N/AN/A
30 GB30 GB N/AN/A
40 GB40 GB N/AN/A
50 GB50 GB N/AN/A
100 GB100 GB N/AN/A
150 GB150 GB N/AN/A
200 GB200 GB N/AN/A
250 GB250 GB N/AN/A √ (D)√ (D) √ (D)√ (D)
300 GB300 GB N/AN/A N/AN/A
400 GB400 GB N/AN/A N/AN/A
500 GB500 GB N/AN/A N/AN/A √ (D)√ (D)
750 GB750 GB N/AN/A N/AN/A
1024 GB1024 GB N/AN/A N/AN/A √ (D)√ (D)
De 1024 GB até 4096 GB em incrementos de 256 GB*From 1024 GB up to 4096 GB in increments of 256 GB* N/AN/A N/AN/A N/AN/A N/AN/A

* P11 e P15 permitem MAXSIZE até 4 TB com 1024 GB sendo o tamanho padrão.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 e P15 podem usar até 4 TB de armazenamento incluído sem custos adicionais.P11 and P15 can use up to 4 TB of included storage at no additional charge. Na camada Premium, um MAXSIZE maior que 1 TB está atualmente disponível nas seguintes regiões: Leste dos EUA 2, Oeste dos EUA, US Gov – Virgínia, Europa Ocidental, Alemanha Central, Sudeste Asiático, Leste do Japão, Leste da Austrália, Canadá Central e Leste do Canadá.In the Premium tier, MAXSIZE greater than 1 TB is currently available in the following regions: US East2, West US, US Gov Virginia, West Europe, Germany Central, South East Asia, Japan East, Australia East, Canada Central, and Canada East. Para obter detalhes adicionais sobre limitações de recursos para o modelo com base em DTU, veja Limites de recurso baseado em DTU.For additional details regarding resource limitations for the DTU-based model, see DTU-based resource limits.

O valor MAXSIZE do modelo baseado em DTU, se especificado, deve ser um valor válido exibido na tabela acima para a camada de serviço especificada.The MAXSIZE value for the DTU-based model, if specified, has to be a valid value shown in the table above for the service tier specified.

Modelo com base em vCorevCore-based model

Camada de serviço de Uso Geral – plataforma de computação de Geração 4 (parte 1)General Purpose service tier - Generation 4 compute platform (part 1)

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_3GP_Gen4_3 GP_Gen4_4GP_Gen4_4 GP_Gen4_5GP_Gen4_5 GP_Gen4_6GP_Gen4_6
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

Camada de serviço de Uso Geral – plataforma de computação de Geração 4 (parte 2)General Purpose service tier - Generation 4 compute platform (part 2)

MAXSIZEMAXSIZE GP_Gen4_7GP_Gen4_7 GP_Gen4_8GP_Gen4_8 GP_Gen4_9GP_Gen4_9 GP_Gen4_10GP_Gen4_10 GP_Gen4_16GP_Gen4_16 GP_Gen4_24GP_Gen4_24
Tamanho máximo de dados (GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

Camada de serviço de Uso Geral – plataforma de computação de Geração 5 (parte 1)General Purpose service tier - Generation 5 compute platform (part 1)

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_6GP_Gen5_6 GP_Gen5_8GP_Gen5_8 GP_Gen5_10GP_Gen5_10 GP_Gen5_12GP_Gen5_12 GP_Gen5_14GP_Gen5_14
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Camada de serviço de Uso Geral – plataforma de computação de Geração 5 (parte 2)General Purpose service tier - Generation 5 compute platform (part 2)

MAXSIZEMAXSIZE GP_Gen5_16GP_Gen5_16 GP_Gen5_18GP_Gen5_18 GP_Gen5_20GP_Gen5_20 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_40GP_Gen5_40 GP_Gen5_80GP_Gen5_80
Tamanho máximo de dados (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Camada de serviço Comercialmente Crítico – plataforma de computação de Geração 4 (parte 1)Business Critical service tier - Generation 4 compute platform (part 1)

Nível de desempenhoPerformance level BC_Gen4_1BC_Gen4_1 BC_Gen4_2BC_Gen4_2 BC_Gen4_3BC_Gen4_3 BC_Gen4_4BC_Gen4_4 BC_Gen4_5BC_Gen4_5 BC_Gen4_6BC_Gen4_6
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Camada de serviço Comercialmente Crítico – plataforma de computação de Geração 4 (parte 2)Business Critical service tier - Generation 4 compute platform (part 2)

Nível de desempenhoPerformance level BC_Gen4_7BC_Gen4_7 BC_Gen4_8BC_Gen4_8 BC_Gen4_9BC_Gen4_9 BC_Gen4_10BC_Gen4_10 BC_Gen4_16BC_Gen4_16 BC_Gen4_24BC_Gen4_24
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Camada de serviço Comercialmente Crítico – plataforma de computação de Geração 5 (parte 1)Business Critical service tier - Generation 5 compute platform (part 1)

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_6BC_Gen5_6 BC_Gen5_8BC_Gen5_8 BC_Gen5_10BC_Gen5_10 BC_Gen5_12BC_Gen5_12 BC_Gen5_14BC_Gen5_14
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Camada de serviço Comercialmente Crítico – plataforma de computação de Geração 5 (parte 2)Business Critical service tier - Generation 5 compute platform (part 2)

MAXSIZEMAXSIZE BC_Gen5_16BC_Gen5_16 BC_Gen5_18BC_Gen5_18 BC_Gen5_20BC_Gen5_20 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_40BC_Gen5_40 BC_Gen5_80BC_Gen5_80
Tamanho máximo de dados (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Se nenhum valor MAXSIZE for definido ao usar o modelo vCore, o padrão será de 32 GB.If no MAXSIZE value is set when using the vCore model, the default is 32 GB. Para obter detalhes adicionais sobre limitações de recursos para o modelo com base em vCore, consulte Limites de recurso com base em vCore.For additional details regarding resource limitations for vCore-based model, see vCore-based resource limits.

As regras a seguir se aplicam aos argumentos MAXSIZE e EDITION:The following rules apply to MAXSIZE and EDITION arguments:

  • Se EDITION for especificado, mas MAXSIZE não for especificado, o valor padrão da edição será usado.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. Por exemplo, se EDITION for definido como Standard e MAXSIZE não for especificado, então MAXSIZE será automaticamente definido como 250 MB.For example, if the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • Se nem MAXSIZE nem EDITION forem especificados, EDITION será definido como Uso Geral e MAXSIZE será definido como 32 GB.If neither MAXSIZE nor EDITION is specified, the EDITION is set to General Purpose, and MAXSIZE is set to 32 GB.

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • Para bancos de dados individuais e em poolFor single and pooled databases

    • Especifica o nível de desempenho.Specifies the performance level. Os valores disponíveis para o objetivo de serviço são: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32, BC_Gen5_40, BC_Gen5_80.Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80.

    • Para bancos de dados individuais na camada de serviço em hiperescalaFor single databases in the Hyperscale service tier

    Especifica o nível de desempenho.Specifies the performance level. Os valores disponíveis para o objetivo do serviço são: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.Available values for service objective are: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.

Para obter descrições do objetivo de serviço e mais informações sobre o tamanho, as edições e as combinações de objetivos de serviço, confira Camadas de serviço do Banco de Dados SQL do Azure.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers. Se o SERVICE_OBJECTIVE especificado não for compatível com a edição, você receberá um erro.If the specified SERVICE_OBJECTIVE is not supported by the EDITION, you receive an error. Para alterar o valor SERVICE_OBJECTIVE de uma camada para outra (por exemplo, de S1 para P1), você deve alterar também o valor EDITION.To change the SERVICE_OBJECTIVE value from one tier to another (for example from S1 to P1), you must also change the EDITION value. Para obter descrições de objetivos de serviço e mais informações sobre o tamanho, as edições e as combinações de objetivo de serviço, veja Camadas de serviço e níveis de desempenho do Banco de Dados SQL do Azure, Limites de recurso baseado em DTU e Limites de recurso baseado em vCore.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers and Performance Levels, DTU-based resource limits and vCore-based resource limits. O suporte para objetivos de serviço PRS foi removido.Support for PRS service objectives have been removed. Em caso de dúvidas, use este alias de email: premium-rs@microsoft.com.For questions, use this e-mail alias: premium-rs@microsoft.com.

ELASTIC_POOL (name = <elastic_pool_name)ELASTIC_POOL (name = <elastic_pool_name>)
Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only. Não é aplicável a bancos de dados na camada de serviço em hiperescala.Does not apply to databases in the Hyperscale service tier. Para criar um banco de dados em um pool de banco de dados elástico, defina o SERVICE_OBJECTIVE do banco de dados como ELASTIC_POOL e forneça o nome do pool.To create a new database in an elastic database pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the pool. Para obter mais informações, confira Criar e gerenciar um pool elástico do Banco de Dados SQL.For more information, see Create and manage a SQL Database elastic pool.

AS COPY OF [source_server_name.]source_database_nameAS COPY OF [source_server_name.]source_database_name
Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only. Para copiar um banco de dados para o mesmo servidor Banco de Dados SQLSQL Database ou um servidor diferente.For copying a database to the same or a different Banco de Dados SQLSQL Database server.

source_server_name source_server_name
O nome do servidor Banco de Dados SQLSQL Database onde o banco de dados de origem está localizado.The name of the Banco de Dados SQLSQL Database server where the source database is located. 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 SQLSQL Database.This parameter is optional when the source database and the destination database are to be located on the same Banco de Dados SQLSQL Database server.

Observação

o argumento AS COPY OF não oferece suporte aos nomes de domínio exclusivos totalmente qualificados.The AS COPY OF argument does not support the fully qualified unique domain names. 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.In other words, if your server's fully qualified domain name is serverName.database.windows.net, use only serverName during database copy.

source_database_namesource_database_name

O nome do banco de dados que deve ser copiado.The name of the database that is to be copied.

RemarksRemarks

Os bancos de dados no Banco de dados SQL do AzureAzure SQL Database tem várias configurações padrão que são definidas quando o banco de dados é criado.Databases in Banco de dados SQL do AzureAzure SQL Database have several default settings that are set when the database is created. Para obter mais informações sobre essas configurações padrão, veja a lista de valores em DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

MAXSIZE fornece a capacidade de limitar o tamanho do banco de dados.MAXSIZE provides the ability to limit the size of the database. Se o tamanho do banco de dados atingir seu MAXSIZE, você receberá o código de erro 40544.If the size of the database reaches its MAXSIZE, you receive error code 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).When this occurs, you cannot insert or update data, or create new objects (such as tables, stored procedures, views, and functions). No entanto, você ainda pode ler e excluir dados, truncar tabelas, descartar tabelas e índices e reconstruir índices.However, you can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. É possível atualizar MAXSIZE para um valor maior que o tamanho atual do banco de dados ou excluir alguns dados para liberar espaço de armazenamento.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Pode haver um atraso máximo de quinze minutos para que você possa inserir novos dados.There may be as much as a fifteen-minute delay before you can insert new data.

Para alterar o tamanho, edição ou valores objetivos de serviço posteriormente, use ALTER DATABASE – Banco de Dados SQL do Azure.To change the size, edition, or service objective values later, use ALTER DATABASE - Azure SQL Database.

O argumento CATALOG_COLLATION só está disponível durante a criação do banco de dados.The CATALOG_COLLATION argument is only available during database creation.

Cópias de banco de dadosDatabase Copies

Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only.

Copiar um banco de dados que usa a instrução CREATE DATABASE é uma operação assíncrona.Copying a database using the CREATE DATABASE statement is an asynchronous operation. Portanto, uma conexão com o servidor de Banco de Dados SQLSQL Database não é necessária para a duração completa do processo de cópia.Therefore, a connection to the Banco de Dados SQLSQL Database server is not needed for the full duration of the copy process. 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.The CREATE DATABASE statement returns control to the user after the entry in sys.databases is created but before the database copy operation is complete. Em outras palavras, a instrução CREATE DATABASE é retornada com êxito quando a cópia do banco de dados ainda está em andamento.In other words, the CREATE DATABASE statement returns successfully when the database copy is still in progress.

  • Monitoramento do processo de cópia em um servidor Banco de Dados SQLSQL Database: Consulte as colunas percentage_complete ou replication_state_desc em dm_database_copies ou na coluna state na exibição sys.databases.Monitoring the copy process on an Banco de Dados SQLSQL Database server: Query the percentage_complete or replication_state_desc columns in the dm_database_copies or the state column in the sys.databases view. A exibição sys.dm_operation_status pode ser usada e retornará o status das operações de banco de dados, incluindo a cópia do banco de dados.The sys.dm_operation_status view can be used as well as it returns the status of database operations including database copy.

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.At the time the copy process completes successfully, the destination database is transactionally consistent with the source database.

A seguinte sintaxe e as regras semânticas aplicam-se ao uso do argumento AS COPY OF:The following syntax and semantic rules apply to your use of the AS COPY OF argument:

  • Os nomes do servidor de origem e do servidor para o destino de impressão podem ser iguais ou diferentes.The source server name and the server name for the copy target may be the same or different. Quando são o mesmo, esse parâmetro é opcional e o contexto do servidor da sessão atual é usado por padrão.When they are the same, this parameter is optional and the server context of the current session is used by default.
  • Os nomes do banco de dados de origem e destino devem ser especificados, exclusivo e estarem em conformidade com as regras do SQL ServerSQL Server para identificadores.The source and destination database names must be specified, unique, and comply with the SQL ServerSQL Server rules for identifiers. Para obter mais informações, consulte Identificadores.For more information, see Identifiers.
  • A instrução CREATE DATABASE deve ser executada dentro do contexto do banco de dados mestre do servidor Banco de Dados SQLSQL Database em que o novo banco de dados será criado.The CREATE DATABASE statement must be executed within the context of the master database of the Banco de Dados SQLSQL Database server where the new database will be created.
  • Depois de a cópia ser concluída, o banco de dados de destino deve ser gerenciado como um banco de dados independente.After the copying completes, the destination database must be managed as an independent database. Você pode executar as instruções ALTER DATABASE e DROP DATABASE no novo banco de dados independentemente do banco de dados de origem.You can execute the ALTER DATABASE and DROP DATABASE statements against the new database independently of the source database. Você também pode copiar o novo banco de dados para outro novo banco de dados.You can also copy the new database to another new database.
  • O banco de dados de origem pode continuar a ser acessado enquanto a cópia do banco de dados está em andamento.The source database may continue to be accessed while the database copy is in progress.

Para obter mais informações, consulte Criar uma cópia de um Banco de Dados SQL do Azure usando o Transact-SQL.For more information, see Create a copy of an Azure SQL database using Transact-SQL.

PermissõesPermissions

Para criar um banco de dados, um logon deve ser um dos seguintes:To create a database, a login must be one of the following:

  • O logon da entidade de segurança no nível do servidorThe server-level principal login
  • O administrador do Azure AD do SQL Server do Azure localThe Azure AD administrator for the local Azure SQL Server
  • Um logon que é um membro da função de banco de dados dbmanagerA login that is a member of the dbmanager database role

Requisitos adicionais para usar a sintaxe CREATE DATABASE ... AS COPY OF: O logon que executa a instrução no servidor local também deve ter pelo menos o db_owner no servidor de origem.Additional requirements for using CREATE DATABASE ... AS COPY OF syntax: The login executing the statement on the local server must also be at least the db_owner on the source server. Se o logon for baseado na autenticação SQL ServerSQL Server, o logon que está executando a instrução no servidor local deverá ter um logon correspondente no servidor Banco de Dados SQLSQL Database de origem, com um nome idêntico e senha idênticos.If the login is based on SQL ServerSQL Server authentication, the login executing the statement on the local server must have a matching login on the source Banco de Dados SQLSQL Database server, with an identical name and password.

ExemplosExamples

Exemplo simplesSimple Example

Um exemplo simples para criar um banco de dados.A simple example for creating a database.

CREATE DATABASE TestDB1;

Exemplo simples com EdiçãoSimple Example with Edition

Um exemplo simples para criar um banco de dados de uso geral.A simple example for creating a general purpose database.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

Exemplo com opções adicionaisExample with Additional Options

Um exemplo que usa várias opções.An example using multiple options.

CREATE DATABASE hito
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS
( MAXSIZE = 500 MB, EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_GEN4_8' ) ;

Criando uma cópiaCreating a Copy

Um exemplo da criação de uma cópia de um banco de dados.An example creating a copy of a database.

Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only.

CREATE DATABASE escuela
AS COPY OF school;

Criando um banco de dados em um pool elásticoCreating a Database in an Elastic Pool

Cria um novo banco de dados no pool chamado S3M100:Creates new database in pool named S3M100:

Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only.

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) ;

Criando uma cópia de um banco de dados em outro servidorCreating a Copy of a Database on Another Server

O exemplo a seguir cria uma cópia do banco de dados db_original, chamada db_copy no nível de desempenho P2 para um único banco de dados.The following example creates a copy of the db_original database, named db_copy in the P2 performance level for a single database. Isso será verdadeiro independentemente se db_original for um pool elástico ou um nível de desempenho para um único banco de dados.This is true regardless of whether db_original is in an elastic pool or a performance level for a single database.

Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' );

O exemplo a seguir cria uma cópia do banco de dados db_original, chamada db_copy em um pool elástico chamado ep1.The following example creates a copy of the db_original database, named db_copy in an elastic pool named ep1. Isso será verdadeiro independentemente se db_original for um pool elástico ou um nível de desempenho para um único banco de dados.This is true regardless of whether db_original is in an elastic pool or a performance level for a single database. Se db_original estiver em um pool elástico com um nome diferente, então db_copy ainda será criado em ep1.If db_original is in an elastic pool with a different name, then db_copy is still created in ep1.

Aplica-se a: Somente bancos de dados únicos e em pool.Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original
  (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;

Criar banco de dados com um valor de ordenação de catálogo especificadoCreate database with specified catalog collation value

O exemplo a seguir define a ordenação de catálogo como DATABASE_DEFAULT durante a criação do banco de dados, que define a ordenação de catálogo como sendo a mesma que a ordenação de banco de dados.The following example sets the catalog collation to DATABASE_DEFAULT during database creation, which sets the catalog collation to be the same as the database collation.

CREATE DATABASE TestDB3 COLLATE Japanese_XJIS_140 (MAXSIZE = 100 MB, EDITION = 'basic')
  WITH CATALOG_COLLATION = DATABASE_DEFAULT

Confira tambémSee also

SQL ServerSQL Server Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
* Instância gerenciada
do Banco de Dados SQL *
* SQL Database
managed instance *
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Instância Gerenciada do Banco de Dados SQL do AzureAzure SQL Database Managed Instance

Visão geralOverview

Na Instância Gerenciada de Banco de Dados do SQL, essa instrução é usada para criar um banco de dados.In Azure SQL Database Managed Instance, this statement is used to create a database. Ao criar um banco de dados em uma instância gerenciada, você deve especificar o nome do banco de dados e a ordenação.When creating a database on a managed instance, you specify the database name and collation.

SintaxeSyntax

CREATE DATABASE database_name [ COLLATE collation_name ]
[;]

Importante

Para adicionar arquivos ou definir a contenção de um banco de dados em uma instância gerenciada, use a instrução ALTER DATABASE.To add files or set containment for a database in a managed instance, use the ALTER DATABASE statement.

ArgumentosArguments

database_name database_name
O nome do novo banco de dados.The name of the new database. Este nome deve ser exclusivo no servidor SQL e deve estar de acordo com a regras do SQL ServerSQL Server para identificadores.This name must be unique on the SQL server and comply with the SQL ServerSQL Server rules for identifiers. Para obter mais informações, consulte Identificadores.For more information, see Identifiers.

Collation_name Collation_name
Especifica a ordenação padrão do banco de dados.Specifies the default collation for the database. O nome da ordenação pode ser um nome de ordenação do Windows ou um nome de ordenação SQL.Collation name can be either a Windows collation name or a SQL collation name. Se não for especificado, o banco de dados receberá a ordenação padrão, que é SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Para obter mais informações sobre nomes de ordenações do Windows e SQL, COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

RemarksRemarks

Os bancos de dados no Banco de dados SQL do AzureAzure SQL Database tem várias configurações padrão que são definidas quando o banco de dados é criado.Databases in Banco de dados SQL do AzureAzure SQL Database have several default settings that are set when the database is created. Para obter mais informações sobre essas configurações padrão, veja a lista de valores em DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

Importante

A instrução CREATE DATABASE deve ser a única instrução em um lote do Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

A seguir estão as limitações de CREATE DATABASE:The following are CREATE DATABASE limitations:

  • Arquivos e grupos de arquivos não podem ser definidos.Files and filegroups cannot be defined.

  • WITHnão há suporte para as opções.WITHoptions are not supported.

    Dica

    Como alternativa, use ALTER DATABASE.As workaround, use ALTER DATABASE. após CREATE DATABASE para definir opções de banco de dados e para adicionar arquivos.after CREATE DATABASE to set database options and to add files.

PermissõesPermissions

Para criar um banco de dados, um logon deve ser um dos seguintes:To create a database, a login must be one of the following:

  • O logon da entidade de segurança no nível do servidorThe server-level principal login
  • O administrador do Azure AD do SQL Server do Azure localThe Azure AD administrator for the local Azure SQL Server
  • Um logon que é um membro da função de banco de dados dbcreatorA login that is a member of the dbcreator database role

ExemplosExamples

Exemplo simplesSimple Example

Um exemplo simples para criar um banco de dados.A simple example for creating a database.

CREATE DATABASE TestDB1;

Confira tambémSee also

Confira ALTER DATABASESee ALTER DATABASE

SQL ServerSQL Server Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
* SQL Data
Warehouse *
* SQL Data
Warehouse *
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Azure SQL Data WarehouseAzure SQL Data Warehouse

Visão geralOverview

No Azure SQL Data Warehouse, essa instrução pode ser usada com um servidor do Banco de Dados SQL do Azure para criar um banco de dados do SQL Data Warehouse.In Azure SQL Data Warehouse, this statement can be used with an Azure SQL Database server to create a SQL Data Warehouse database. Com esta instrução, você especifica o nome do banco de dados, a ordenação, o tamanho máximo, a edição e o objetivo de serviço.With this statement, you specify the database name, collation, maximum size, edition, and service objective.

SintaxeSyntax

CREATE DATABASE database_name [ COLLATE collation_name ]
(
    [ MAXSIZE = {
          250 | 500 | 750 | 1024 | 5120 | 10240 | 20480 | 30720
        | 40960 | 51200 | 61440 | 71680 | 81920 | 92160 | 102400
        | 153600 | 204800 | 245760
      } GB ,
    ]
    EDITION = 'datawarehouse',
    SERVICE_OBJECTIVE = {
         'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500' | 'DW600'
        | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000' | 'DW3000' | 'DW6000'
        |'DW100c' | 'DW200c' | 'DW300c' | 'DW400c' | 'DW500c'
        | 'DW1000c' | 'DW1500c' | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c'
        | 'DW6000c' | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
    }
)
[;]

ArgumentosArguments

database_name database_name
O nome do novo banco de dados.The name of the new database. Esse nome deve ser exclusivo no servidor SQL, que pode hospedar os bancos de dados Banco de dados SQL do AzureAzure SQL Database e SQL Data WarehouseSQL Data Warehouse, e ser compatível com as regras SQL ServerSQL Server para identificadores.This name must be unique on the SQL server, which can host both Banco de dados SQL do AzureAzure SQL Database databases and SQL Data WarehouseSQL Data Warehouse databases, and comply with the SQL ServerSQL Server rules for identifiers. Para obter mais informações, consulte Identificadores.For more information, see Identifiers.

collation_name collation_name
Especifica a ordenação padrão do banco de dados.Specifies the default collation for the database. O nome da ordenação pode ser um nome de ordenação do Windows ou um nome de ordenação SQL.Collation name can be either a Windows collation name or a SQL collation name. Se não for especificado, o banco de dados receberá a ordenação padrão, que é SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Para obter mais informações sobre os nomes de ordenação do Windows e do SQL, consulte COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, see COLLATE (Transact-SQL).

EDITION EDITION
Especifica a camada de serviço do banco de dados.Specifies the service tier of the database. Para SQL Data WarehouseSQL Data Warehouse, use 'datawarehouse'.For SQL Data WarehouseSQL Data Warehouse use 'datawarehouse'.

MAXSIZE MAXSIZE
O padrão é 245.760 GB (240 TB).The default is 245,760 GB (240 TB).

Aplica-se a: Otimizado para Computação Gen1Applies to: Optimized for Compute Gen1

O tamanho máximo permitido para o banco de dados.The maximum allowable size for the database. O banco de dados não pode ultrapassar o MAXSIZE.The database cannot grow beyond MAXSIZE.

Aplica-se a: Otimizado para Computação Gen2Applies to: Optimized for Compute Gen2

O tamanho máximo permitido para dados de rowstore no banco de dados.The maximum allowable size for rowstore data in the database. Os dados armazenados em tabelas rowstore, um deltastore de um índice columnstore ou um índice não clusterizado em um índice columnstore clusterizado não podem exceder o MAXSIZE. Os dados compactados no formato columnstore não têm um limite de tamanho e não estão restritos pelo MAXSIZE.Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVESERVICE_OBJECTIVE
Especifica o nível de desempenho.Specifies the performance level. Para obter mais informações sobre os objetivos de serviço para o SQL Data Warehouse, confira Unidades de Data Warehouse (DWUs).For more information about service objectives for SQL Data Warehouse, see Data Warehouse Units (DWUs).

Comentários geraisGeneral Remarks

Use DATABASEPROPERTYEX para ver as propriedades do banco de dados.Use DATABASEPROPERTYEX to see the database properties.

Use ALTER DATABASE – SQL Data Warehouse do Azure para alterar o tamanho máximo ou os valores objetivos de serviço posteriormente.Use ALTER DATABASE - Azure SQL Data Warehouse to change the max size, or service objective values later.

O SQL Data Warehouse é definido como COMPATIBILITY_LEVEL 130 e não pode ser alterado.SQL Data Warehouse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. Para obter mais detalhes, confira Improved Query Performance with Compatibility Level 130 in Azure SQL Database (Melhor desempenho de consulta com o nível de compatibilidade 130 no Banco de Dados SQL do Azure).For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

PermissõesPermissions

Permissões necessárias:Required permissions:

  • Logon de entidade de segurança de nível de serviço, criado pelo processo de provisionamento ouServer level principal login, created by the provisioning process, or
  • Membro da função de banco de dados dbmanager.Member of the dbmanager database role.

Tratamento de errosError Handling

Se o tamanho do banco de dados atingir MAXSIZE, você receberá o código de erro 40544.If the size of the database reaches MAXSIZE you will receive error code 40544. Quando isso ocorre, não é possível inserir, atualizar dados nem criar novos objetos (como tabelas, procedimentos armazenados, exibições e funções).When this occurs, you cannot insert and update data, or create new objects (such as tables, stored procedures, views, and functions). Ainda é possível ler e excluir dados, truncar tabelas, remover tabelas e índices e recriar índices.You can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. 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.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Pode haver um atraso máximo de quinze minutos para que você possa inserir novos dados.There may be as much as a fifteen-minute delay before you can insert new data.

Limitações e RestriçõesLimitations and Restrictions

Você deve estar conectado ao banco de dados mestre para criar um novo banco de dados.You must be connected to the master database to create a new database.

A instrução CREATE DATABASE deve ser a única instrução em um lote do Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

Não é possível alterar a ordenação de banco de dados depois que o banco de dados é criado.You cannot change the database collation after the database is created.

Exemplos: Azure SQL Data WarehouseAzure SQL Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse

A.A. Exemplo simplesSimple example

Um exemplo simples para criar um banco de dados de data warehouse.A simple example for creating a data warehouse database. Isso cria o banco de dados com o menor tamanho máximo que é 10240 GB, a ordenação padrão que é SQL_Latin1_General_CP1_CI_AS e a menor potência de computação que é DW100.This creates the database with the smallest max size which is 10240 GB, the default collation which is SQL_Latin1_General_CP1_CI_AS, and the smallest compute power which is DW100.

CREATE DATABASE TestDW
(EDITION = 'datawarehouse', SERVICE_OBJECTIVE='DW100');

B.B. Criar um banco de dados de data warehouse com todas as opçõesCreate a data warehouse database with all the options

Um exemplo da criação de um data warehouse de 10 terabytes que usa todas as opções.An example of creating a 10 terabyte data warehouse using all the options.

CREATE DATABASE TestDW COLLATE Latin1_General_100_CI_AS_KS_WS
(MAXSIZE = 10240 GB, EDITION = 'datawarehouse', SERVICE_OBJECTIVE = 'DW1000');

Consulte TambémSee Also

SQL ServerSQL Server Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
* Analytics Platform
System (PDW) *
* Analytics Platform
System (PDW) *

 

Sistema de plataforma de análiseAnalytics Platform System

Visão geralOverview

No Analytics Platform System, essa instrução é usada para criar um banco de dados em um dispositivo do Analytics Platform System.In Analytics Platform System, this statement is used to create a new database on a Analytics Platform System appliance. Use essa instrução para criar todos os arquivos associados a um banco de dados do dispositivo e para definir as opções de tamanho máximo e aumento automático para as tabelas de banco de dados e o log de transações.Use this statement to create all files associated with an appliance database and to set maximum size and auto-growth options for the database tables and transaction log.

SintaxeSyntax

CREATE DATABASE database_name
WITH (
    [ AUTOGROW = ON | OFF , ]
    REPLICATED_SIZE = replicated_size [ GB ] ,
    DISTRIBUTED_SIZE = distributed_size [ GB ] ,
    LOG_SIZE = log_size [ GB ] )
[;]

ArgumentosArguments

database_name database_name
O nome do novo banco de dados.The name of the new database. Para obter mais informações sobre nomes de banco de dados permitidos, consulte "Regras de nomenclatura de objeto" e "Nomes de banco de dados reservados" no Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.

AUTOGROW = ON | OFF AUTOGROW = ON | OFF
Especifica se os parâmetros replicated_size, distributed_size e log_size para esse banco de dados aumentarão automaticamente, conforme necessário, além de seus tamanhos especificados.Specifies whether the replicated_size, distributed_size, and log_size parameters for this database will automatically grow as needed beyond their specified sizes. O valor padrão é OFF.Default value is OFF.

Se AUTOGROW for ON, replicated_size, distributed_size e log_size aumentará conforme necessário (não em blocos do tamanho inicial especificado) com cada inserção de dados, atualização ou outra ação que exige mais armazenamento do que já foi alocado.If AUTOGROW is ON, replicated_size, distributed_size, and log_size will grow as required (not in blocks of the initial specified size) with each data insert, update, or other action that requires more storage than has already been allocated.

Se AUTOGROW for OFF, os tamanhos não aumentarão automaticamente.If AUTOGROW is OFF, the sizes will not grow automatically. O Parallel Data WarehouseParallel Data Warehouse retornará um erro durante a tentativa de uma ação que exige que replicated_size, distributed_size ou log_size aumente além do valor especificado.Parallel Data WarehouseParallel Data Warehouse will return an error when attempting an action that requires replicated_size, distributed_size, or log_size to grow beyond their specified value.

AUTOGROW é ON ou OFF para todos os tamanhos.AUTOGROW is either ON for all sizes or OFF for all sizes. Por exemplo, não é possível definir AUTOGROW ON para log_size, mas não defini-lo para replicated_size.For example, it is not possible to set AUTOGROW ON for log_size, but not set it for replicated_size.

replicated_size [ GB ]replicated_size [ GB ]
Um número positivo.A positive number. Define o tamanho (em gigabytes de inteiro ou decimal) para o espaço total alocado a tabelas replicadas e os dados correspondentes em cada nó de Computação.Sets the size (in integer or decimal gigabytes) for the total space allocated to replicated tables and corresponding data on each Compute node. Para os requisitos de replicated_size mínimo e máximo, consulte "Valores mínimos e máximos" no Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.

Se AUTOGROW for ON, as tabelas replicadas terão permissão para aumentar além desse limite.If AUTOGROW is ON, replicated tables will be permitted to grow beyond this limit.

Se AUTOGROW for OFF, um erro será retornado, caso um usuário tente criar uma nova tabela replicada, inserir dados em uma tabela replicada existente ou atualizar uma tabela replicada existente de uma maneira que aumente o tamanho além de replicated_size.If AUTOGROW is OFF, an error will be returned if a user attempts to create a new replicated table, insert data into an existing replicated table, or update an existing replicated table in a manner that would increase the size beyond replicated_size.

distributed_size [ GB ]distributed_size [ GB ]
Um número positivo.A positive number. O tamanho, em gigabytes de inteiro ou decimal, para o espaço total alocado para tabelas distribuídas (e os dados correspondentes) entre o dispositivo.The size, in integer or decimal gigabytes, for the total space allocated to distributed tables (and corresponding data) across the appliance. Para os requisitos de distributed_size mínimo e máximo, consulte "Valores mínimos e máximos" no Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.

Se AUTOGROW for ON, as tabelas distribuídas terão permissão para aumentar além desse limite.If AUTOGROW is ON, distributed tables will be permitted to grow beyond this limit.

Se AUTOGROW for OFF, um erro será retornado, caso um usuário tente criar uma nova tabela distribuída, inserir dados em uma tabela distribuída existente ou atualizar uma tabela distribuída existente de uma maneira que aumente o tamanho além de distributed_size.If AUTOGROW is OFF, an error will be returned if a user attempts to create a new distributed table, insert data into an existing distributed table, or update an existing distributed table in a manner that would increase the size beyond distributed_size.

log_size [ GB ]log_size [ GB ]
Um número positivo.A positive number. O tamanho (em gigabytes de inteiro ou decimal) para o log de transações entre o dispositivo.The size (in integer or decimal gigabytes) for the transaction log across the appliance.

Para os requisitos de log_size mínimo e máximo, consulte "Valores mínimos e máximos" no Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.

Se AUTOGROW for ON, o arquivo de log poderá aumentar além desse limite.If AUTOGROW is ON, the log file is permitted to grow beyond this limit. Use a instrução DBCC SHRINKLOG (SQL Data Warehouse do Azure) para reduzir o tamanho dos arquivos de log para seu tamanho original.Use the DBCC SHRINKLOG (Azure SQL Data Warehouse) statement to reduce the size of the log files to their original size.

Se AUTOGROW for OFF, um erro será retornado para o usuário para qualquer ação que aumente o tamanho do log em um nó de Computação individual para além de log_size.If AUTOGROW is OFF, an error will be returned to the user for any action that would increase the log size on an individual Compute node beyond log_size.

PermissõesPermissions

Exige a permissão CREATE ANY DATABASE no banco de dados mestre ou a associação à função de servidor fixa sysadmin.Requires the CREATE ANY DATABASE permission in the master database, or membership in the sysadmin fixed server role.

O exemplo a seguir fornece a permissão para criar um banco de dados para o usuário Fay de banco de dados.The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE ANY DATABASE TO [Fay];
GO

Comentários geraisGeneral Remarks

Os bancos de dados são criados com o nível de compatibilidade de banco de dados 120, que é o nível de compatibilidade do SQL Server 2014 (12.x)SQL Server 2014 (12.x).Databases are created with database compatibility level 120, which is the compatibility level for SQL Server 2014 (12.x)SQL Server 2014 (12.x). Isso garante que o banco de dados poderá usar toda as funcionalidade do SQL Server 2014 (12.x)SQL Server 2014 (12.x) usada pelo PDW.This ensures the database will be able to use all of the SQL Server 2014 (12.x)SQL Server 2014 (12.x) functionality that PDW uses.

Limitações e RestriçõesLimitations and Restrictions

A instrução CREATE DATABASE não é permitida em uma transação explícita.The CREATE DATABASE statement is not allowed in an explicit transaction. Para obter mais informações, consulte Instruções.For more information, see Statements.

Para obter informações sobre restrições mínimas e máximas em bancos de dados, consulte "Valores mínimos e máximos" no Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Documentação de produto do Parallel Data WarehouseParallel Data Warehouse product documentation.

No momento em um banco de dados é criado, deve haver espaço livre suficiente disponível em cada nó de Computação para alocar o total combinado dos seguintes tamanhos:At the time a database is created, there must be enough available free space on each Compute node to allocate the combined total of the following sizes:

  • Banco de dados do SQL ServerSQL Server com tabelas com o tamanho de replicated_table_size.SQL ServerSQL Server database with tables the size of replicated_table_size.
  • Banco de dados do SQL ServerSQL Server com tabelas com o tamanho do (distributed_table_size/número de nós de Computação).SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • SQL ServerSQL Server registra em log o tamanho de (log_size/número de nós de Computação).logs the size of (log_size / number of Compute nodes).

BloqueioLocking

Usa um bloqueio compartilhado no objeto DATABASE.Takes a shared lock on the DATABASE object.

MetadadosMetadata

Depois que essa operação for bem-sucedida, uma entrada para esse banco de dados será mostrada nas exibições de metadados sys.databases e sys.objects.After this operation succeeds, an entry for this database will appear in the sys.databases and sys.objectsmetadata views.

Exemplos: Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

A.A. Exemplos de criação de banco de dados básicosBasic database creation examples

O exemplo a seguir cria o banco de dados mytest com uma alocação de armazenamento de 100 GB por nó de Computação para tabelas replicadas, 500 GB por dispositivo para tabelas distribuídas e 100 GB por dispositivo para o log de transações.The following example creates the database mytest with a storage allocation of 100 GB per Compute node for replicated tables, 500 GB per appliance for distributed tables, and 100 GB per appliance for the transaction log. Neste exemplo, AUTOGROW está desativado por padrão.In this example, AUTOGROW is off by default.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB );

O exemplo a seguir cria o banco de dados mytest com os mesmos parâmetros acima, exceto que AUTOGROW está ativado.The following example creates the database mytest with the same parameters as above, except that AUTOGROW is turned on. Isso permite que o banco de dados aumente para fora dos parâmetros de tamanho especificados.This allows the database to grow outside the specified size parameters.

CREATE DATABASE mytest
  WITH
    (AUTOGROW = ON,
    REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB);

B.B. Criando um banco de dados com tamanhos de gigabyte parcialCreating a database with partial gigabyte sizes

O exemplo a seguir cria o banco de dados mytest, com AUTOGROW desativado, uma alocação de armazenamento de 1,5 GB por nó de Computação para tabelas replicadas, 5,25 GB por dispositivo para tabelas distribuídas e 10 GB por dispositivo para o log de transações.The following example creates the database mytest, with AUTOGROW off, a storage allocation of 1.5 GB per Compute node for replicated tables, 5.25 GB per appliance for distributed tables, and 10 GB per appliance for the transaction log.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 1.5 GB,
    DISTRIBUTED_SIZE = 5.25 GB,
    LOG_SIZE = 10 GB);

Consulte TambémSee Also