CREATE DATABASECREATE DATABASE

Crea un nuovo database.Creates a new database.

Fare clic su una delle schede seguenti per la sintassi, gli argomenti, i commenti, le autorizzazioni e gli esempi per la specifica versione di SQL in uso.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Per altre informazioni sulle convenzioni di sintassi, vedere Convenzioni della sintassi Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Fare clic su un prodotto.Click a product!

Nella riga seguente fare clic su qualsiasi nome di prodotto.In the following row, click whichever product name you are interested in. Viene visualizzato contenuto diverso in questa pagina Web, appropriato per il prodotto su cui si fa clic.The click displays different content here on this webpage, appropriate for whichever product you click.

** * SQL Server * **  * SQL Server *   Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
Istanza gestita
database SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

PanoramicaOverview

In SQL Server, questa istruzione crea un nuovo database, i file usati e i filegroup.In SQL Server, this statement creates a new database and the files used and their filegroups. Può anche essere usata per creare uno snapshot del database oppure collegare file di database per creare un database dai file scollegati di un altro database.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.

SintassiSyntax

Creazione di un database.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
}

Collegare un databaseAttach 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 } )
}

Creare uno snapshot del databaseCreate a database snapshot

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

ArgomentiArguments

database_name è il nome del nuovo database.database_name Is the name of the new database. I nomi dei database devono essere univoci all'interno di un'istanza di SQL ServerSQL Server ed essere conformi alle regole per gli identificatori.Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

database_name può essere composto da un massimo di 128 caratteri, eccetto i casi in cui non è stato specificato un nome logico per il file di log.database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. Se non è stato specificato un nome logico per il file di log, SQL ServerSQL Server genera logical_file_name e os_file_name per il log accodando un suffisso 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. Questo limita il numero di caratteri di database_name a 123 per fare in modo che il nome di file logico generato includa un massimo di 128 caratteri.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

Se non è stato specificato alcun nome file di dati, SQL ServerSQL Server usa database_name sia come logical_file_name che come 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. Il percorso predefinito viene ottenuto dal Registro di sistema.The default path is obtained from the registry. Il percorso predefinito può essere modificato tramite Proprietà server (pagina Impostazioni database) in Management StudioManagement Studio.The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. La modifica del percorso predefinito richiede il riavvio di SQL ServerSQL Server.Changing the default path requires restarting SQL ServerSQL Server.

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

Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Viene specificato lo stato di indipendenza del database.Specifies the containment status of the database. NONE = Database non indipendente.NONE = non-contained database. PARTIAL = database parzialmente indipendente.PARTIAL = partially contained database.

ONON
Specifica che i file su disco utilizzati per archiviare le sezioni di dati del database (file di dati) vengono definiti in modo esplicito.Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. ON è obbligatorio quando è seguito da un elenco di valori delimitato da virgole di elementi <filespec> che definiscono i file di dati per il filegroup primario.ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. L'elenco di file del filegroup primario può essere seguito da un elenco di valori delimitati da virgole facoltativo di elementi <filegroup> che definiscono i filegroup utente e i relativi file.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
Specifica che l'elenco <filespec> associato definisce il file primario.Specifies that the associated <filespec> list defines the primary file. Il primo file specificato nella voce <filespec> nel filegroup primario diventa il file primario.The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. Un database può includere un solo file primario.A database can have only one primary file. Per altre informazioni, vedere Database Files and Filegroups.For more information, see Database Files and Filegroups.

Se la parola chiave PRIMARY viene omessa, il primo file elencato nell'istruzione CREATE DATABASE diventa il file primario.If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ONLOG ON
Specifica che i file su disco utilizzati per archiviare il log del database (file di log) vengono definiti in modo esplicito.Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON è seguito da un elenco di valori delimitati da virgole di elementi <filespec> che definiscono i file di log.LOG ON is followed by a comma-separated list of <filespec> items that define the log files. Se la parola chiave LOG ON viene omessa, viene creato automaticamente un singolo file di log con dimensioni pari al 25% della somma delle dimensioni di tutti i file di dati del database o pari a 512 KB, a seconda del valore maggiore.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. Questo file viene posizionato nel percorso predefinito del file di log.This file is placed in the default log-file location. Per informazioni su questa posizione, vedere Visualizzare o modificare i percorsi predefiniti per i file di dati e di log - SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

Non è possibile specificare LOG ON in uno snapshot del database.LOG ON cannot be specified on a database snapshot.

COLLATE collation_name COLLATE collation_name
Specifica le regole di confronto predefinite per il database.Specifies the default collation for the database. È possibile usare nomi di regole di confronto di Windows o SQL.Collation name can be either a Windows collation name or a SQL collation name. Se collation_name viene omesso, al database vengono assegnate le regole di confronto predefinite dell'istanza di SQL ServerSQL Server.If not specified, the database is assigned the default collation of the instance of SQL ServerSQL Server. Non è possibile specificare un nome di regole di confronto in uno snapshot del database.A collation name cannot be specified on a database snapshot.

Non è possibile specificare un nome di regole di confronto con le clausole FOR ATTACH o FOR ATTACH_REBUILD_LOG.A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. Per informazioni sulla modifica delle regole di confronto di un database collegato, visitare il sito Web Microsoft.For information about how to change the collation of an attached database, visit this Microsoft Web site.

Per altre informazioni sui nomi di regole di confronto Windows e SQL, vedere COLLATE.For more information about the Windows and SQL collation names, see COLLATE.

Nota

Le regole di confronto per i database indipendenti sono diverse rispetto a quelle dei database non indipendenti.Contained databases are collated differently than non-contained databases. Per altre informazioni, vedere Regole di confronto dei database indipendenti.Please see Contained Database Collations for more information.

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

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Si applica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) fino a 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.

Specifica il livello di accesso FILESTREAM non transazionale al database.Specifies the level of non-transactional FILESTREAM access to the database.

valoreValue DescrizioneDescription
OFFOFF L'accesso non transazionale è disabilitato.Non-transactional access is disabled.
READONLYREADONLY I dati FILESTREAM di questo database possono essere letti da processi non transazionali.FILESTREAM data in this database can be read by non-transactional processes.
FULLFULL L'accesso non transazionale completo a tabelle FileTable FILESTREAM è abilitato.Full non-transactional access to FILESTREAM FileTables is enabled.

DIRECTORY_NAME = <directory_name>DIRECTORY_NAME = <directory_name>
Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Nome di directory compatibile con Windows.A windows-compatible directory name. Il nome deve essere univoco in tutti i nomi di Database_Directory nell'istanza di SQL ServerSQL Server.This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. Il confronto di univocità non supporta la distinzione tra maiuscole e minuscole, indipendentemente dalle impostazioni delle regole di confronto di SQL ServerSQL Server.Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. È necessario impostare questa opzione prima di creare una tabella FileTable in questo database.This option should be set before creating a FileTable in this database.

Le opzioni seguenti sono consentite solo quando CONTAINMENT è stato impostato su PARTIAL.The following options are allowable only when CONTAINMENT has been set to PARTIAL. Se l'opzione CONTAINMENT è impostata su NONE, si verificheranno errori.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>

    Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Per una descrizione completa di questa opzione, vedere Configurare l'opzione di configurazione del server Lingua predefinita full-text.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>

    Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Per una descrizione completa di questa opzione, vedere Configurare l'opzione di configurazione del server Lingua predefinita.See Configure the default language Server Configuration Option for a full description of this option.

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

    Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Per una descrizione completa di questa opzione, vedere Configurare l'opzione di configurazione del server Trigger annidati.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}

    Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Per una descrizione completa di questa opzione, vedere Configurare l'opzione di configurazione del server Transform Noise Words.See transform noise words Server Configuration Optionfor a full description of this option.

  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <qualsiasi anno compreso tra il 1753 e il 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    Quattro cifre che rappresentano un anno.Four digits representing a year. Il valore predefinito è 2049.2049 is the default value. Per una descrizione completa di questa opzione, vedere Configurare l'opzione di configurazione del server two-digit year cutoff.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 }

    Se l'opzione è impostata su ON, il database può essere l'origine o la destinazione di una catena di proprietà tra database.When ON is specified, the database can be the source or target of a cross-database ownership chain.

    Se l'opzione è impostata su OFF, il database non può partecipare alla catena di proprietà tra database.When OFF, the database cannot participate in cross-database ownership chaining. Il valore predefinito è OFF.The default is OFF.

    Importante

    Questa impostazione viene riconosciuta dall'istanza di SQL ServerSQL Server quando l'opzione del server cross db ownership chaining è impostata su 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Quando cross db ownership chaining è 1 (ON), tutti i database utente possono partecipare ai concatenamenti della proprietà tra database, a prescindere dal valore di questa opzione.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. Questa opzione viene impostata tramite sp_configure.This option is set by using sp_configure.

    Per impostare questa opzione è richiesta l'appartenenza al ruolo predefinito del server sysadmin.To set this option, requires membership in the sysadmin fixed server role. L'opzione DB_CHAINING non può essere impostata in questi database di sistema: master, model, tempdb.The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

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

    Se l'opzione è impostata su ON, i moduli del database (ad esempio le viste, le funzioni definite dall'utente o le stored procedure) che utilizzano un contesto di rappresentazione possono accedere alle risorse esterne al database.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.

    Se l'opzione è impostata su OFF, i moduli del database in un conteso di rappresentazione non possono accedere alle risorse esterne al database.When OFF, database modules in an impersonation context cannot access resources outside the database. Il valore predefinito è OFF.The default is OFF.

    L'opzione TRUSTWORTHY viene impostata su OFF ogni volta che il database viene collegato.TRUSTWORTHY is set to OFF whenever the database is attached.

    Per impostazione predefinita, in tutti i database di sistema, a eccezione del database msdb, TRUSTWORTHY è impostata su OFF.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. Per i database model e tempdb questo valore non può essere modificato.The value cannot be changed for the model and tempdb databases. È consigliabile evitare di impostare l'opzione TRUSTWORTHY su ON per il database master.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 si specifica questa opzione, il buffer del log delle transazioni viene creato in un volume che si trova in un dispositivo disco con Storage Class Memory (memoria non volatile NVDIMM-N), noto anche come buffer del 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. Per altre informazioni, vedere Transaction Commit latency acceleration using Storage Class Memory (Accelerazione della latenza di commit delle transazioni con Storage Class Memory).For more information, see Transaction Commit latency acceleration using Storage Class Memory. Si applica a : SQL Server 2017 (14.x)SQL Server 2017 (14.x) e versioni successive.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 > ]
Specifica che il database viene creato collegando un set esistente di file del sistema operativo.Specifies that the database is created by attaching an existing set of operating system files. È necessario che una voce dell'elenco <filespec> specifichi il file primario.There must be a <filespec> entry that specifies the primary file. Le altre voci <filespec> obbligatorie sono quelle relative ai file con percorso diverso rispetto al percorso usato in fase di creazione del database o al momento dell'ultimo collegamento del database stesso.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. Per questi file è necessario specificare una voce <filespec>.A <filespec> entry must be specified for these files.

FOR ATTACH richiede le seguenti condizioni:FOR ATTACH requires the following:

  • Tutti i file di dati (MDF e NDF) devono essere disponibili.All data files (MDF and NDF) must be available.
  • Tutti i file di log esistenti devono essere disponibili.If multiple log files exist, they must all be available.

Se un database in lettura/scrittura contiene un singolo file di log attualmente non disponibile, e il database è stato chiuso senza utenti o transazioni aperte prima dell'operazione di collegamento, FOR ATTACH ricompila automaticamente il file di log e aggiorna il file primario.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. Per un database in sola lettura, invece, non è possibile ricostruire il log perché il file primario non può essere aggiornato.In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. Pertanto, quando si collega un database in sola lettura a un log non disponibile, è necessario specificare i file o i file di log nella clausola 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.

Nota

Un database creato con una versione più recente di SQL ServerSQL Server non può essere collegato con versioni precedenti.A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

In SQL ServerSQL Server tutti i file full-text inclusi nel database che viene collegato verranno collegati insieme al database.In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. Per specificare un nuovo percorso per il catalogo full-text, specificare la nuova posizione senza il nome del file del sistema operativo full-text.To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. Per altre informazioni, vedere la sezione Esempi.For more information, see the Examples section.

Il collegamento di un database contenente un'opzione FILESTREAM "directory name" a un'istanza di SQL ServerSQL Server richiede a SQL ServerSQL Server di verificare che il nome Database_Directory sia univoco.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 non lo è, l'operazione di collegamento ha esito negativo e viene restituito l'errore "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance" (FILESTREAM con nome Database_Directory non univoco in questa istanza di 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". Per evitare questo errore, è necessario passare il parametro facoltativo directory_name a questa operazione.To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

Non è possibile specificare FOR ATTACH in uno snapshot del database.FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH può specificare l'opzione RESTRICTED_USER.FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER consente la connessione al database solo ai membri del ruolo predefinito del database db_owner e ai membri dei ruoli predefiniti del server dbcreator e sysadmin, senza tuttavia imporre un limite al numero di connessioni.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. Tentativi dagli utenti non qualificati vengono rifiutati.Attempts by unqualified users are refused.

Se il database usa Service BrokerService Broker, usare WITH <service_broker_option> nella clausola 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>
Controlla il recapito dei messaggi di Service BrokerService Broker e l'identificatore di Service BrokerService Broker per il database.Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. È possibile specificare le opzioni di Service BrokerService Broker solo quando viene utilizzata la clausola FOR ATTACH.Service BrokerService Broker options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKERENABLE_BROKER
Indica che Service BrokerService Broker è abilitato per il database specificato.Specifies that Service BrokerService Broker is enabled for the specified database. In altre parole, viene avviato il recapito dei messaggi e is_broker_enabled viene impostato su true nella vista del catalogo sys.databases.That is, message delivery is started, and is_broker_enabled is set to true in the sys.databases catalog view. Il database mantiene l'identificatore di Service BrokerService Broker esistente.The database retains the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Crea un nuovo valore di service_broker_guid sia in sys.databases che nel database ripristinato e termina tutti gli endpoint di conversazione con l'eliminazione.Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. Service Broker è abilitato, ma agli endpoint di conversazione remoti non viene inviato alcun messaggio.The broker is enabled, but no message is sent to the remote conversation endpoints. Tutte le route che fanno riferimento all'identificatore di Service BrokerService Broker precedente devono essere ricreate con il nuovo identificatore.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Termina tutte le conversazioni e restituisce un errore che indica che il database è collegato o ripristinato.Ends all conversations with an error stating that the database is attached or restored. Service Broker viene disabilitato fino al termine dell'operazione e quindi viene riabilitato.The broker is disabled until this operation is completed and then enabled. Il database mantiene l'identificatore di Service BrokerService Broker esistente.The database retains the existing Service BrokerService Broker identifier.

Quando si collega un database replicato copiato anziché scollegato, è necessario considerare quanto segue:When you attach a replicated database that was copied instead of being detached, consider the following:

  • Se si collega il database alla stessa istanza del server e alla stessa versione del database originale, non sono necessari passaggi aggiuntivi.If you attach the database to the same server instance and version as the original database, no additional steps are required.
  • Se si collega il database alla stessa istanza del server ma si usa una versione aggiornata, dopo il completamento dell'operazione di collegamento è necessario eseguire sp_vupgrade_replication per aggiornare la replica.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 si collega il database a un'istanza del server diversa, indipendentemente dalla versione, dopo il completamento dell'operazione di collegamento è necessario eseguire sp_removedbreplication per rimuovere la replica.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.

Nota

Il collegamento supporta il formato di archiviazione vardecimal, ma è necessario aggiornare il Motore di database di SQL ServerSQL Server Database Engine almeno a SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2.Attach works with the vardecimal storage format, but the Motore di database di SQL ServerSQL Server Database Engine must be upgraded to at least SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2. Non è possibile collegare un database con un formato di archiviazione vardecimal a una versione precedente di SQL ServerSQL Server.You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. Per altre informazioni sul formato di archiviazione vardecimal, vedere Compressione dei dati.For more information about the vardecimal storage format, see Data Compression.

Quando un database viene collegato per la prima volta a una nuova istanza di SQL ServerSQL Servero ripristinato, nel server non è ancora archiviata una copia della chiave master del database, crittografata dalla chiave master del servizio.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. È necessario usare l'istruzione OPEN MASTER KEY per decrittografare la chiave master del database.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Dopo aver decrittografato la DMK, è possibile usare l'istruzione ALTER MASTER KEY REGENERATE per abilitare la decrittografia automatica per le operazioni successive, in modo da fornire al server una copia della DMK crittografata con la chiave master del servizio (SMK).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 un database è stato aggiornato da una versione precedente, la DMK deve essere rigenerata per usare l'algoritmo AES più recente.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Per altre informazioni sulla rigenerazione della DMK, vedere ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. Il tempo richiesto per rigenerare la chiave DMK e aggiornarla ad AES dipende dal numero di oggetti protetti dalla DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. È necessario rigenerare la chiave DMK per l'aggiornamento ad AES una sola volta e l'operazione non influenza le rigenerazioni future che fanno parte di una strategia di rotazione della chiave.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. Per informazioni su come aggiornare un database tramite collegamento, vedere Aggiornamento di un database usando le operazioni di scollegamento e collegamento.For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach.

Importante

È consigliabile non collegare database da origini sconosciute o non attendibili.We recommend that you do not attach databases from unknown or untrusted sources. Tali database possono contenere codice dannoso che potrebbe eseguire codice Transact-SQLTransact-SQL indesiderato o causare errori modificando lo schema o la struttura fisica di database.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. Prima di usare un database da un'origine sconosciuta o non attendibile, eseguire DBCC CHECKDB sul database in un server non di produzione ed esaminare il codice contenuto nel database, ad esempio le stored procedure o altro codice definito dall'utente.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.

Nota

Le opzioni TRUSTWORTHY e DB_CHAINING non hanno effetto quando si collega un database.The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOGFOR ATTACH_REBUILD_LOG
Specifica che il database viene creato collegando un set di file del sistema operativo già esistente.Specifies that the database is created by attaching an existing set of operating system files. Questa opzione è limitata ai database in lettura/scrittura.This option is limited to read/write databases. È necessaria una voce <filespec> che specifichi il file primario.There must be a <filespec> entry specifying the primary file. Se uno o più file di log delle transazioni sono mancanti, il file di log viene ricostruito.If one or more transaction log files are missing, the log file is rebuilt. Il log ATTACH_REBUILD_LOG crea automaticamente un nuovo file di log da 1 MB.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. Questo file viene posizionato nel percorso predefinito del file di log.This file is placed in the default log-file location. Per informazioni su questa posizione, vedere Visualizzare o modificare i percorsi predefiniti per i file di dati e di log - SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

Nota

Se i file di log sono disponibili, Motore di databaseDatabase Engine utilizza questi file invece di ricompilare i file di log.If the log files are available, the Motore di databaseDatabase Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG richiede le seguenti condizioni:FOR ATTACH_REBUILD_LOG requires the following:

  • Una chiusura normale del database.A clean shutdown of the database.
  • Tutti i file di dati (MDF e NDF) devono essere disponibili.All data files (MDF and NDF) must be available.

Importante

Questa operazione interrompe la catena di backup del log.This operation breaks the log backup chain. È consigliabile eseguire un backup completo del database al termine dell'operazione.We recommend that a full database backup be performed after the operation is completed. Per altre informazioni, vedere BACKUP.For more information, see BACKUP.

In genere, l'opzione FOR ATTACH_REBUILD_LOG viene utilizzata quando si copia un database in lettura/scrittura con un log di grandi dimensioni in un altro server dove la copia verrà utilizzata principalmente, o esclusivamente, per operazioni di lettura e richiederà quindi una quantità minore di spazio di log rispetto al database originale.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.

Non è possibile specificare FOR ATTACH_REBUILD_LOG in uno snapshot del database.FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

Per altre informazioni sul collegamento e lo scollegamento di database, vedere Collegamento e scollegamento di un database.For more information about attaching and detaching databases, see Database Detach and Attach.

<filespec><filespec>
Controlla le proprietà del file.Controls the file properties.

NAME logical_file_name NAME logical_file_name
Specifica il nome logico per il file.Specifies the logical name for the file. Il parametro NAME è necessario quando FILENAME è specificato, eccetto quando viene specificata una delle clausole FOR ATTACH.NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. Non è possibile assegnare il nome PRIMARY a un filegroup FILESTREAM.A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_name logical_file_name
Nome logico utilizzato in SQL ServerSQL Server per fare riferimento al file.Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name deve essere univoco all'interno del database e conforme alle regole per gli identificatori.Logical_file_name must be unique in the database and comply with the rules for identifiers. Il nome può essere un carattere o una costante Unicode oppure un identificatore normale o delimitato.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' }
Specifica il nome del file (fisico) del sistema operativo.Specifies the operating system (physical) file name.

' os_file_name ' ' os_file_name '
Percorso e nome di file utilizzato dal sistema operativo quando si crea il file.Is the path and file name used by the operating system when you create the file. Il file deve risiedere in uno dei dispositivi seguenti: il server locale in cui è installato SQL ServerSQL Server, una rete di archiviazione (SAN) o una rete basata su 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. Il percorso specificato deve essere esistente prima dell'esecuzione dell'istruzione CREATE DATABASE.The specified path must exist before executing the CREATE DATABASE statement. Per altre informazioni, vedere "Filegroup e file di database" nella sezione Osservazioni.For more information, see "Database Files and Filegroups" in the Remarks section.

È possibile impostare i parametri SIZE, MAXSIZE e FILEGROWTH se è specificato un percorso UNC per il file.SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

Se il file si trova in una partizione non formattata, nell'argomento os_file_name è necessario specificare solo la lettera dell'unità di una partizione non formattata esistente.If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. È possibile creare soltanto un file di dati su ogni partizione non formattata dal sistema operativo.Only one data file can be created on each raw partition.

I file di dati non devono essere archiviati in file system compressi a meno che non si tratti di file secondari in sola lettura o il database non sia in sola lettura.Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. I file di log non devono mai essere archiviati in file system compressi.Log files should never be put on compressed file systems.

' filestream_path ' ' filestream_path '
Per un filegroup FILESTREAM, FILENAME si riferisce a un percorso in cui verrà archiviato FILESTREAM.For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. È necessario che il percorso fino all'ultima cartella esista già, mentre l'ultima cartella non deve essere presente.The path up to the last folder must exist, and the last folder must not exist. Se, ad esempio, si specifica il percorso C:\MyFiles\MyFilestreamData, C:\MyFiles deve esistere già prima di eseguire ALTER DATABASE, mentre la cartella MyFilestreamData non deve essere presente.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.

Il filegroup e il file (<filespec>) devono essere creati nella stessa istruzione.The filegroup and file (<filespec>) must be created in the same statement.

Le proprietà SIZE e FILEGROWTH non si applicano a un filegroup FILESTREAM.The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE size SIZE size
Specifica le dimensioni del file.Specifies the size of the file.

Non è possibile specificare SIZE quando os_file_name è specificato come percorso UNC.SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE non si applica a un filegroup FILESTREAM.SIZE does not apply to a FILESTREAM filegroup.

size size
Dimensioni iniziali del file.Is the initial size of the file.

Se non si specifica size per il file primario, il Motore di databaseDatabase Engine usa le dimensioni del file primario del database modello.When size is not supplied for the primary file, the Motore di databaseDatabase Engine uses the size of the primary file in the model database. Le dimensioni predefinite del modello corrispondono a 8 MB (a partire da SQL Server 2016 (13.x)SQL Server 2016 (13.x)) o a 1 MB (per le versioni precedenti).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). Se si specifica un file di dati o un file di log secondario senza specificare size per il file, il Motore di databaseDatabase Engine crea un file di 8 MB (a partire da SQL Server 2016 (13.x)SQL Server 2016 (13.x)) o di 1 MB (per le versioni precedenti).When a secondary data file or log file is specified, but size is not specified for the file, the Motore di databaseDatabase Engine makes the file 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). Le dimensioni specificate per il file di dati primario devono essere uguali almeno alle dimensioni del file primario del database model.The size specified for the primary file must be at least as large as the primary file of the model database.

È possibile usare i suffissi per kilobyte (KB), megabyte (MB), gigabyte (GB) e terabyte (TB).The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. Il valore predefinito è MB.The default is MB. Specificare un numero intero, ovvero non includere decimali.Specify a whole number; do not include a decimal. Size è un valore intero.Size is an integer value. Per i valori superiori a 2.147.483.647, usare le unità maggiori.For values greater than 2147483647, use larger units.

MAXSIZE max_size MAXSIZE max_size
Valore massimo fino a cui possono aumentare le dimensioni del file.Specifies the maximum size to which the file can grow. Non è possibile specificare MAXSIZE quando os_file_name è specificato come percorso UNC.MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_size max_size
Dimensioni massime del file.Is the maximum file size. È possibile usare i suffissi KB, MB, GB e TB.The KB, MB, GB, and TB suffixes can be used. Il valore predefinito è MB.The default is MB. Specificare un numero intero, ovvero non includere decimali.Specify a whole number; do not include a decimal. Se max_size viene omesso, le dimensioni del file aumentano fino all'esaurimento dello spazio su disco.If max_size is not specified, the file grows until the disk is full. Max_size è un valore intero.Max_size is an integer value. Per i valori superiori a 2.147.483.647, usare le unità maggiori.For values greater than 2147483647, use larger units.

UNLIMITEDUNLIMITED
Specifica che le dimensioni del file aumentano fino a quando il disco risulta pieno.Specifies that the file grows until the disk is full. In SQL ServerSQL Server, un file di log specificato con aumento delle dimensioni illimitato può raggiungere una dimensione massima di 2 TB, mentre un file di dati può raggiungere una dimensione massima di 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.

Nota

Non vi sono dimensioni massime se questa opzione viene specificata per un contenitore FILESTREAM,There is no maximum size when this option is specified for a FILESTREAM container. il quale continua a crescere finché il disco non è pieno.It continues to grow until the disk is full.

FILEGROWTH growth_increment FILEGROWTH growth_increment
Specifica l'incremento automatico per l'aumento delle dimensioni del file.Specifies the automatic growth increment of the file. Il valore impostato per il parametro FILEGROWTH di un file non può essere superiore al valore del parametro MAXSIZE.The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. Non è possibile specificare FILEGROWTH quando os_file_name è specificato come percorso UNC.FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH non si applica a un filegroup FILESTREAM.FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_increment growth_increment
Quantità di spazio aggiunta al file ogni volta che è necessario spazio aggiuntivo.Is the amount of space added to the file every time new space is required.

È possibile specificare il valore in megabyte (MB), kilobyte (KB), gigabyte (GB) o terabyte (TB) oppure in forma di percentuale (%).The value can be specified in MB, KB, GB, TB, or percent (%). Se si specifica un valore senza il suffisso MB, KB o %, il suffisso predefinito è MB.If a number is specified without an MB, KB, or % suffix, the default is MB. Se si utilizza il suffisso %, l'incremento corrisponde alla percentuale delle dimensioni del file specificata quando si verifica l'incremento.When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. Le dimensioni specificate vengono arrotondate al blocco di 64 KB più prossimo e il valore minimo è 64 KB.The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

Un valore 0 indica che l'opzione per l'aumento automatico è disattivata e non è consentito spazio aggiuntivo.A value of 0 indicates that automatic growth is off and no additional space is allowed.

Se FILEGROWTH viene omesso, i valori predefiniti sono i seguenti:If FILEGROWTH is not specified, the default values are:

VersioneVersion Valori predefinitiDefault values
Inizio SQL Server 2016 (13.x)SQL Server 2016 (13.x)Beginning SQL Server 2016 (13.x)SQL Server 2016 (13.x) Dati 64 MB.Data 64 MB. File di log 64 MB.Log files 64 MB.
Inizio SQL Server 2005 (9.x)SQL Server 2005 (9.x)Beginning SQL Server 2005 (9.x)SQL Server 2005 (9.x) Dati 1 MB.Data 1 MB. File di log 10%.Log files 10%.
Prima di SQL Server 2005 (9.x)SQL Server 2005 (9.x)Prior to SQL Server 2005 (9.x)SQL Server 2005 (9.x) Dati 10%.Data 10%. File di log 10%.Log files 10%.

<filegroup><filegroup>
Controlla le proprietà del filegroup.Controls the filegroup properties. Non è possibile specificare il filegroup in uno snapshot del database.Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_name FILEGROUP filegroup_name
Nome logico del filegroup.Is the logical name of the filegroup.

filegroup_name filegroup_name
filegroup_name deve essere univoco nel database e deve essere diverso dai nomi PRIMARY e PRIMARY_LOG forniti dal sistema.filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. Il nome può essere un carattere o una costante Unicode oppure un identificatore normale o delimitato.The name can be a character or Unicode constant, or a regular or delimited identifier. Il nome deve essere conforme alle regole per gli identificatori.The name must comply with the rules for identifiers.

CONTAINS FILESTREAMCONTAINS FILESTREAM
Specifica che tramite il filegroup vengono archiviati oggetti binari di grandi dimensioni (BLOB) nel file system.Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

Si applica a: da SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017

Specifica che il filegroup archivia i dati memory_optimized nel file system.Specifies that the filegroup stores memory_optimized data in the file system. Per altre informazioni, vedere OLTP in memoria - Ottimizzazione per la memoria.For more information, see In-Memory OLTP - In-Memory Optimization. È ammesso un solo filegroup MEMORY_OPTIMIZED_DATA per database.Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. Per esempi di codice che creano un filegroup per l'archiviazione di dati ottimizzati per la memoria, vedere Creazione di una tabella ottimizzata per la memoria e di una stored procedure compilata in modo nativo.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
Indica che il filegroup specificato è il filegroup predefinito nel database.Specifies the named filegroup is the default filegroup in the database.

database_snapshot_name database_snapshot_name
Nome del nuovo snapshot del database.Is the name of the new database snapshot. I nomi dei database devono essere univoci all'interno di un'istanza d SQL ServerSQL Server e devono essere conformi alle regole per gli identificatori.Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name può essere composto da un massimo di 128 caratteri.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 ]
Per la creazione di uno snapshot del database, specifica un elenco di file nel database di origine.For creating a database snapshot, specifies a list of files in the source database. Per il funzionamento dello snapshot, è necessario specificare tutti i file di dati singolarmente.For the snapshot to work, all the data files must be specified individually. I file di log non sono tuttavia consentiti per gli snapshot del database.However, log files are not allowed for database snapshots. I filegroup FILESTREAM non sono supportati dagli snapshot del database.FILESTREAM filegroups are not supported by database snapshots. Se un file di dati FILESTREAM è incluso in una clausola CREATE DATABASE ON, l'istruzione non verrà eseguita e sarà generato un errore.If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

Per le descrizioni di NAME e FILENAME e i rispettivi valori, vedere le descrizioni dei valori <filespec> equivalenti.For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

Nota

Quando si crea uno snapshot del database, le altre opzioni <filespec> e la parola chiave PRIMARY non sono consentite.When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_name specifica che il database in fase di creazione è uno snapshot del database di origine specificato da 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. Lo snapshot e il database di origine devono essere archiviati nella stessa istanza.The snapshot and source database must be on the same instance.

Per altre informazioni, vedere Snapshot di database nella sezione Remarks.For more information, see Database Snapshots in the Remarks section.

RemarksRemarks

Il backup del database master deve essere eseguito ogni volta che si crea, si modifica o si rilascia un database utente.The master database should be backed up whenever a user database is created, modified, or dropped.

L'istruzione CREATE DATABASE deve essere eseguita in modalità autocommit, che è la modalità predefinita di gestione delle transazioni, e non è consentita in una transazione esplicita o implicita.The CREATE DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

È possibile usare un'istruzione CREATE DATABASE per creare un database e i file che lo archiviano.You can use one CREATE DATABASE statement to create a database and the files that store the database. SQL ServerSQL Server implementa l'istruzione CREATE DATABASE tramite i passaggi seguenti:implements the CREATE DATABASE statement by using the following steps:

  1. SQL ServerSQL Server usa una copia del database modello per inizializzare il database e i relativi metadati.The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.
  2. Un GUID di Service Broker viene assegnato al database.A service broker GUID is assigned to the database.
  3. Il Motore di databaseDatabase Engine compila quindi la parte rimanente del database con pagine vuote, ad eccezione delle pagine con dati interni che registrano la modalità di utilizzo dello spazio nel database.The Motore di databaseDatabase 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.

In un'istanza di SQL ServerSQL Serverè possibile specificare al massimo 32.767 database.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

Ogni database ha un proprietario che può eseguire attività particolari nel database.Each database has an owner that can perform special activities in the database. Il proprietario è l'utente che crea il database.The owner is the user that creates the database. Il proprietario del database può essere modificato tramite sp_changedbowner.The database owner can be changed by using sp_changedbowner.

Alcune funzionalità del database dipendono dalle caratteristiche o dalle funzionalità presenti nel file system per la disponibilità completa delle funzionalità del database.Some database features depend on features or capabilities present in the file system for full functionality of a database. Ecco alcuni esempi di funzionalità che dipendono dal set di funzionalità del file system:Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • FileStreamFileStream
  • Backup online tramite il Servizio Copia Shadow del volume e gli snapshot dei fileOnline backups using VSS and file snapshots
  • Creazione di snapshot del databaseDatabase snapshot creation
  • Filegroup di dati ottimizzati per la memoriaMemory Optimized Data filegroup

Filegroup e file di databaseDatabase Files and Filegroups

Ogni database ha almeno due file, un file primario e un file registro transazioni, e almeno un filegroup.Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. Per ogni database è possibile specificare un massimo di 32.767 file e 32.767 filegroup.A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

Durante la creazione di un database, creare file di dati di dimensioni corrispondenti alla quantità massima di dati che si prevede di includere nel database.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.

Per l'archiviazione dei file di database di SQL ServerSQL Server è consigliabile usare una rete di archiviazione (SAN), una rete basata su iSCSI o un disco collegato localmente, poiché questa configurazione ottimizza le prestazioni e l'affidabilità di 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.

Snapshot di databaseDatabase Snapshots

È possibile usare l'istruzione CREATE DATABASE per creare una visualizzazione statica, di sola lettura, uno snapshot del database di origine.You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. Uno snapshot del database è consistente dal punto di vista transazionale con il database di origine al momento della creazione dello snapshot.A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. Un database di origine può avere più snapshot.A source database can have multiple snapshots.

Nota

Quando si crea uno snapshot di database, l'istruzione CREATE DATABASE non può far riferimento a file di log, file offline, file di ripristino e file inattivi.When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

Se la creazione di uno snapshot di database ha esito negativo, lo snapshot diventa sospetto e deve essere eliminato.If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. Per altre informazioni, vedere DROP DATABASE.For more information, see DROP DATABASE.

Ogni snapshot viene mantenuto fino a quando non viene eliminato tramite DROP DATABASE.Each snapshot persists until it is deleted by using DROP DATABASE.

Per altre informazioni, vedere Snapshot del database.For more information, see Database Snapshots.

Opzioni di databaseDatabase Options

Quando si crea un database, vengono impostate automaticamente diverse opzioni.Several database options are automatically set whenever you create a database. Per un elenco di queste opzioni, vedere Opzioni ALTER DATABASE SET.For a list of these options, see ALTER DATABASE SET Options.

Database modello e creazione di nuovi databaseThe model Database and Creating New Databases

Tutti gli oggetti definiti dall'utente inclusi nel database modello vengono copiati in tutti i nuovi database.All user-defined objects in the model database are copied to all newly created databases. È possibile aggiungere al database model qualsiasi oggetto che si desidera includere in tutti i database appena creati, ad esempio tabelle, viste, stored procedure, tipi di dati e così via.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 si specifica un'istruzione CREATE DATABASE <database_name> senza parametri delle dimensioni aggiuntivi, per il file di dati primario vengono usate le dimensioni del file primario nel database modello.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 meno che non si specifichi FOR ATTACH, ogni nuovo database eredita le impostazioni delle opzioni di database dal database modello.Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. Ad esempio, l'opzione di database auto shrink viene impostata su true nel database modello e in tutti i nuovi database creati.For example, the database option auto shrink is set to true in model and in any new databases you create. Se si modificano le opzioni nel database model, queste nuove impostazioni vengono utilizzate in tutti i nuovi database creati.If you change the options in the model database, these new option settings are used in any new databases you create. La modifica delle operazioni nel database model non ha effetto sui database esistenti.Changing operations in the model database does not affect existing databases. Se viene specificata l'opzione FOR ATTACH nell'istruzione CREATE DATABASE, i nuovi database ereditano le impostazioni delle opzioni di database dal database originale.If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

Visualizzazione delle informazioni sui databaseViewing Database Information

Per restituire informazioni su database, file e filegroup, è possibile usare viste del catalogo, funzioni di sistema e stored procedure di sistema.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups. Per altre informazioni, vedere Viste di sistema.For more information, see System Views.

AutorizzazioniPermissions

È necessaria l'autorizzazione CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Per mantenere il controllo sull'utilizzo del disco per un'istanza di SQL ServerSQL Server, l'autorizzazione per la creazione dei database è in genere limitata a pochi account di accesso.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.

Nell'esempio seguente viene fornita l'autorizzazione per creare un database per l'utente del database Fay.The following example provides the permission to create a database to the database user Fay.

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

Autorizzazioni per i file di dati e di logPermissions on Data and Log Files

In SQL ServerSQL Server vengono impostate autorizzazioni specifiche per i file di dati e di log in ogni database.In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. Le autorizzazioni seguenti vengono impostate quando le operazioni elencate di seguito vengono eseguite in un database.The following permissions are set whenever the following operations are applied to a database:

Data creazioneCreated Modifica per l'aggiunta di un nuovo fileModified to add a new file
CollegamentoAttached Esecuzione del backupBacked up
ScollegamentoDetached RipristinoRestored

Con le autorizzazioni è possibile evitare che vengano accidentalmente alterati i file che si trovano in una directory con autorizzazioni aperte.The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

Nota

In MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition non vengono impostate autorizzazioni per i file di dati e di log.MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

EsempiExamples

A.A. Creazione di un database senza specificare i fileCreating a database without specifying files

Nell'esempio seguente viene creato il database mytest insieme al file di log delle transazioni e al file primario corrispondenti.The following example creates the database mytest and creates a corresponding primary and transaction log file. Poiché l'istruzione non specifica elementi <filespec>, le dimensioni del file di database primario corrispondono a quelle del file primario del database modello.Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. Il file di log delle transazioni viene impostato sul valore più maggiore tra 512 kB e il 25% delle dimensioni del file di dati primario.The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. Poiché MAXSIZE non è specificato, le dimensioni dei file possono aumentare fino a riempire lo spazio disponibile su disco.Because MAXSIZE is not specified, the files can grow to fill all available disk space. In questo esempio viene inoltre illustrato come eliminare l'eventuale database denominato mytest prima di creare il database 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. Creazione di un database che specifica i file di dati e i file di log delle transazioniCreating a database that specifies the data and transaction log files

Nell'esempio seguente viene creato il database Sales.The following example creates the database Sales. Dal momento che la parola chiave PRIMARY non è specificata, il primo file, cioè Sales_dat, corrisponde al file primario.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Poiché nel parametro SIZE non viene specificato il suffisso MB o KB per le dimensioni del file Sales_dat , viene utilizzato MB e le dimensioni del file vengono allocate in megabyte.Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. Il backup del database Sales_log vengono allocate in megabyte perché nel parametro MB è stato specificato in modo esplicito il suffisso 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. Creazione di un database specificando più file di dati e più file di log delle transazioniCreating a database by specifying multiple data and transaction log files

Nell'esempio seguente viene creato il database Archive che include tre file di dati da 100-MB e due file del log delle transazioni da 100-MB.The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. Il file primario è il primo file dell'elenco e viene specificato in modo esplicito con la parola chiave PRIMARY.The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. I file di log delle transazioni vengono specificati dopo le parole chiave LOG ON.The transaction log files are specified following the LOG ON keywords. Si notino le estensioni utilizzate per i file nell'opzione FILENAME: .mdf per i file di dati primari, .ndf per i file di dati secondari e .ldf per i file di log delle transazioni.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. In questo esempio il database viene collocato nell'unità D: anziché con il database 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. Creazione di un database con filegroupCreating a database that has filegroups

Nell'esempio seguente viene creato il database Sales che include i filegroup seguenti:The following example creates the database Sales that has the following filegroups:

  • Il filegroup primario con i file Spri1_dat e Spri2_dat.The primary filegroup with the files Spri1_dat and Spri2_dat. Gli incrementi specificati nel parametro FILEGROWTH per tali file corrispondono al 15%.The FILEGROWTH increments for these files are specified as 15%.
  • Un filegroup SalesGroup1 con i file SGrp1Fi1 e SGrp1Fi2.A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • Un filegroup SalesGroup2 con i file SGrp2Fi1 e SGrp2Fi2.A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

In questo esempio i file di dati e di log vengono collocati in dischi diversi al fine di migliorare le prestazioni.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. Collegamento di un databaseAttaching a database

Nell'esempio seguente viene scollegato il database Archive creato nell'esempio D, quindi viene collegato tramite la clausola FOR ATTACH.The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive è stato definito in modo da avere più dati e file di log.Archive was defined to have multiple data and log files. Tuttavia, poiché il percorso dei file non è stato modificato dopo la creazione, deve essere specificato solo il file primario nella clausola 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 partire da SQL Server 2005 (9.x)SQL Server 2005 (9.x), tutti i file full-text inclusi nel database in fase di collegamento verranno collegati assieme al database.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. Creazione di uno snapshot del databaseCreating a database snapshot

L'esempio seguente crea lo snapshot di database sales_snapshot0600.The following example creates the database snapshot sales_snapshot0600. Poiché uno snapshot di database è in sola lettura, non è possibile specificare un file di log.Because a database snapshot is read-only, a log file cannot be specified. In conformità con la sintassi, viene specificato ogni file nel database di origine, mentre i filegroup non vengono specificati.In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

Il database di origine per questo esempio è il database Sales creato nell'esempio 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. Creazione di un database e specifica di un nome delle regole di confronto e delle opzioniCreating a database and specifying a collation name and options

Nell'esempio seguente viene creato il database MyOptionsTest.The following example creates the database MyOptionsTest. Viene specificato un nome delle regole di confronto e le opzioni TRUSTYWORTHY e DB_CHAINING vengono impostate su 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. Collegamento di un catalogo full-text che è stato spostatoAttaching a full-text catalog that has been moved

Nell'esempio seguente viene collegato il catalogo full-text AdvWksFtCat insieme ai file di log e di dati di AdventureWorks2012.The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. In questo esempio, il catalogo full-text viene spostato dalla posizione predefinita in una nuova posizione c:\myFTCatalogs.In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. I file di dati e di log rimangono nelle posizioni predefinite.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. Creazione di un database che specifica un filegroup di righe e due filegroup FILESTREAMCreating a database that specifies a row filegroup and two FILESTREAM filegroups

Nell'esempio seguente viene creato il database FileStreamDB.The following example creates the FileStreamDB database. Il database viene creato con un filegroup di righe e due filegroup FILESTREAM.The database is created with one row filegroup and two FILESTREAM filegroups. Ogni filegroup contiene un file:Each filegroup contains one file:

  • FileStreamDB_data contiene dati delle righe.FileStreamDB_data contains row data. Contiene un file, FileStreamDB_data.mdf, con il percorso predefinito.It contains one file, FileStreamDB_data.mdf with the default path.
  • FileStreamPhotos contiene dati FILESTREAM.FileStreamPhotos contains FILESTREAM data. Contiene due contenitori di dati FILESTREAM, FSPhotos nel percorso C:\MyFSfolder\Photos e FSPhotos2 nel percorso D:\MyFSfolder\Photos.It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. È contrassegnato come filegroup FILESTREAM predefinito.It is marked as the default FILESTREAM filegroup.
  • FileStreamResumes contiene dati FILESTREAM.FileStreamResumes contains FILESTREAM data. Contiene un contenitore di dati FILESTREAM, ossia FSResumes nel percorso 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. Creazione di un database contenente un filegroup FILESTREAM con più fileCreating a database that has a FILESTREAM filegroup with multiple files

Nell'esempio seguente viene creato il database BlobStore1.The following example creates the BlobStore1 database. Il database viene creato con un filegroup di righe e un filegroup FILESTREAM, FS.The database is created with one row filegroup and one FILESTREAM filegroup, FS. Nel filegroup FILESTREAM sono contenuti due file, vale a dire FS1 e FS2.The FILESTREAM filegroup contains two files, FS1 and FS2. Successivamente il database viene modificato con l'aggiunta di un terzo file, FS3, al filegroup 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

Vedere ancheSee Also

SQL ServerSQL Server ** *Database singolo/pool elastico
database SQL*
**
* SQL Database
single database/elastic pool *
Istanza gestita
database SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Database singolo/pool elastico di database SQL di AzureAzure SQL Database single database/elastic pool

PanoramicaOverview

Nel database singolo/pool elastico del Database SQL di AzureAzure SQL Database, questa istruzione può essere usata con un server SQL di Azure per creare un database singolo o un database in un pool elastico.In Database SQL di 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. Con questa istruzione si specificano il nome del database, le regole di confronto, le dimensioni massime, l'edizione, obiettivo di servizio e, se applicabile, il pool elastico per il nuovo database.With this statement, you specify the database name, collation, maximum size, edition, service objective, and, if applicable, the elastic pool for the new database. Può anche essere usata per creare il database in un pool elastico.It can also be used to create the database in an elastic pool. Inoltre, può essere usata per creare una copia del database in un altro server di database SQL.Additionally, it can be used to create a copy of the database on another SQL Database server.

SintassiSyntax

Creazione di un databaseCreate 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>) } })
}

Copiare un databaseCopy 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>) } )
   ]
[;]

ArgomentiArguments

database_name database_name
Nome del nuovo database.The name of the new database. Il nome deve essere univoco nel SQL ServerSQL Server ed essere conforme alle regole di SQL ServerSQL Server per gli identificatori.This name must be unique on the SQL ServerSQL Server and comply with the SQL ServerSQL Server rules for identifiers. Per altre informazioni, vedere Identificatori.For more information, see Identifiers.

Collation_name Collation_name
Specifica le regole di confronto predefinite per il database.Specifies the default collation for the database. È possibile usare nomi di regole di confronto di Windows o SQL.Collation name can be either a Windows collation name or a SQL collation name. Se non vengono specificate, al database vengono assegnate le regole di confronto predefinite, ovvero SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Per altre informazioni sui nomi delle regole di confronto Windows e SQL, vedere COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

CATALOG_COLLATIONCATALOG_COLLATION
Specifica le regole di confronto predefinite per il catalogo di metadati.Specifies the default collation for the metadata catalog. DATABASE_DEFAULT specifica che il catalogo di metadati usato per le visualizzazioni e le tabelle di sistema viene sottoposto a confronto per la corrispondenza con le regole di confronto predefinite per il database.DATABASE_DEFAULT specifies that the metadata catalog used for system views and system tables be collated to match the default collation for the database. Questo è il comportamento disponibile in SQL Server.This is the behavior found in SQL Server.

SQL_Latin1_General_CP1_CI_AS specifica che il catalogo di metadati usato per le visualizzazioni e le tabelle di sistema viene sottoposto a confronto con regole di confronto fisse SQL_Latin1_General_CP1_CI_AS.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. Questa è l'impostazione predefinita del database SQL di Azure se non è specificata un'altra opzione.This is the default setting on Azure SQL Database if unspecified.

EDITIONEDITION
Specifica il livello del servizio del database.Specifies the service tier of the database.

Database singoli e in pool in un database singolo/pool elastico.Single and pooled databases on a single database/elastic pool. I valori disponibili sono: 'basic', 'standard', 'premium', 'GeneralPurpose', 'BusinessCritical' e 'Hyperscale'.The available values are: 'basic', 'standard', 'premium', 'GeneralPurpose', 'BusinessCritical', and 'Hyperscale'.

Quando si specifica EDITION ma non MAXSIZE, MAXSIZE viene impostato sulle dimensioni minime supportate dall'edizione.When EDITION is specified but MAXSIZE is not specified, MAXSIZE is set to the most restrictive size that the edition supports.

MAXSIZEMAXSIZE
Specifica le dimensioni massime del database.Specifies the maximum size of the database. MAXSIZE deve essere valido per il livello del servizio specificato in EDITION. Nella tabella seguente sono elencati i valori MAXSIZE supportati e i valori predefiniti (P) per i livelli del servizio.MAXSIZE must be valid for the specified EDITION (service tier) Following are the supported MAXSIZE values and defaults (D) for the service tiers.

Nota

L'argomento MAXSIZE non è applicabile ai singoli database nel livello di servizio Hyperscale.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. I database di livello Hyperscale possono crescere in base alle necessità, fino a 100 TB.Hyperscale tier databases grow as needed, up to 100 TB. Il servizio database SQL aggiunge automaticamente l'archiviazione: non è necessaria impostare le dimensioni massime.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Modello basato su DTU per database singoli e in pool in un server di database SQLDTU-based model for single and pooled databases on a SQL Database server

MAXSIZEMAXSIZE BaseBasic 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 √ (P)√ (D)
5 GB5 GB N/DN/A
10 GB10 GB N/DN/A
20 GB20 GB N/DN/A
30 GB30 GB N/DN/A
40 GB40 GB N/DN/A
50 GB50 GB N/DN/A
100 GB100 GB N/DN/A
150 GB150 GB N/DN/A
200 GB200 GB N/DN/A
250 GB250 GB N/DN/A √ (P)√ (D) √ (P)√ (D)
300 GB300 GB N/DN/A N/DN/A
400 GB400 GB N/DN/A N/DN/A
500 GB500 GB N/DN/A N/DN/A √ (P)√ (D)
750 GB750 GB N/DN/A N/DN/A
1024 GB1024 GB N/DN/A N/DN/A √ (P)√ (D)
Da 1024 GB fino a 4096 GB con incrementi di 256 GB*From 1024 GB up to 4096 GB in increments of 256 GB* N/DN/A N/DN/A N/DN/A N/DN/A

* P11 e P15 consentono un valore massimo di MAXSIZE pari a 4 TB. Le dimensioni predefinite sono 1024 GB.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 e P15 possono usare fino a 4 TB di spazio di archiviazione incluso senza addebiti aggiuntivi.P11 and P15 can use up to 4 TB of included storage at no additional charge. Nel livello Premium, MAXSIZE maggiore di 1 TB è attualmente disponibile nelle aree seguenti: Stati Uniti orientali 2, Stati Uniti occidentali, US Gov Virginia, Europa occidentale, Germania centrale, Asia sud-orientale, Giappone orientale, Australia orientale, Canada centrale e Canada orientale.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. Per altri dettagli relativi ai limiti delle risorse per il modello basato su DTU, vedere DTU-based resource limits (Limiti delle risorse basate su DTU).For additional details regarding resource limitations for the DTU-based model, see DTU-based resource limits.

Il valore MAXSIZE per il modello basato su DTU, se specificato, deve essere un valore valido presente nella tabella precedente per il livello di servizio specificato.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.

Modello basato su vCorevCore-based model

Livello di servizio Utilizzo generico: piattaforma di calcolo generazione 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
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

Livello di servizio Utilizzo generico: piattaforma di calcolo generazione 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
Dimensioni massime dei dati (GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

Livello di servizio Utilizzo generico: piattaforma di calcolo generazione 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
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Livello di servizio Utilizzo generico: piattaforma di calcolo generazione 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
Dimensioni massime dei dati (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Livello di servizio Business critical: piattaforma di calcolo generazione 4 (parte 1)Business Critical service tier - Generation 4 compute platform (part 1)

Livello di prestazioniPerformance 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
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Livello di servizio Business critical: piattaforma di calcolo generazione 4 (parte 2)Business Critical service tier - Generation 4 compute platform (part 2)

Livello di prestazioniPerformance 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
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Livello di servizio Business critical: piattaforma di calcolo generazione 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
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Livello di servizio Business critical: piattaforma di calcolo generazione 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
Dimensioni massime dei dati (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Se non viene impostato alcun MAXSIZEvalore quando viene usato il modello vCore, il valore predefinito è 32 GB.If no MAXSIZEvalue is set when using the vCore model, the default is 32 GB. Per altri dettagli relativi ai limiti delle risorse per il modello basato su vCore, vedere Limiti delle risorse basati su vCore.For additional details regarding resource limitations for vCore-based model, see vCore-based resource limits.

Le seguenti regole vengono applicate agli argomenti MAXSIZE ed EDITION:The following rules apply to MAXSIZE and EDITION arguments:

  • Se il valore di EDITION è specificato e il valore di MAXSIZE viene omesso, viene utilizzato il valore predefinito dell'edizione.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. Ad esempio, se EDITION è impostato su Standard e MAXSIZE non è specificato, il valore di MAXSIZE viene automaticamente impostato su 250 MB.For example, is the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • Se né MAXSIZE né EDITION sono specificati, EDITION viene impostato su Standard (S0) e MAXSIZE viene impostato su 250 GB.If neither MAXSIZE nor EDITION is specified, the EDITION is set to Standard (S0), and MAXSIZE is set to 250 GB.

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • Per database singoli e in poolFor single and pooled databases

    • Specifica il livello di prestazioni.Specifies the performance level. I valori disponibili per l'obiettivo di servizio sono: 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.

    • Per database singoli nel livello di servizio HyperscaleFor single databases in the Hyperscale service tier

    Specifica il livello di prestazioni.Specifies the performance level. I valori disponibili per l'obiettivo di servizio sono: 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.

Per le descrizioni degli obiettivi di servizio e altre informazioni su dimensioni, edizioni e combinazioni di obiettivi di servizio, vedere Azure SQL Database Service Tiers (Livelli di servizio del database SQL di Azure).For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers. Se SERVICE_OBJECTIVE non è supportato da EDITION, viene visualizzato un errore.If the specified SERVICE_OBJECTIVE is not supported by the EDITION, you receive an error. Per cambiare il valore di SERVICE_OBJECTIVE da un livello a un altro (ad esempio da S1 a P1), è necessario modificare anche il valore 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. Per le descrizioni degli obiettivi di servizio e altre informazioni su dimensioni, edizioni e combinazioni di obiettivi di servizio, vedere Azure SQL Database Service Tiers and Performance Levels (Livelli di servizio e livelli di prestazioni del database SQL di Azure), DTU-based resource limits (Limiti delle risorse basate su DTU) e vCore-based resource limits (Limiti delle risorse basate su 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. Il supporto per gli obiettivi di servizio PRS è stato rimosso.Support for PRS service objectives have been removed. In caso di domande, usare l'alias di posta elettronica seguente: 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>)
Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only. Non è applicabile ai database nel livello di servizio Hyperscale.Does not apply to databases in the Hyperscale service tier. Per creare un nuovo database in un pool di database elastico, impostare SERVICE_OBJECTIVE del database su ELASTIC_POOL e specificare il nome del 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. Per altre informazioni, vedere Creare e gestire un pool elastico in un database 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
Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only. Per la copia di un database nello stesso server del Database SQLSQL Database o in un server diverso.For copying a database to the same or a different Database SQLSQL Database server.

source_server_name source_server_name
Nome del server del Database SQLSQL Database in cui si trova il database di origine.The name of the Database SQLSQL Database server where the source database is located. Questo parametro è facoltativo se il database di origine e il database di destinazione devono trovarsi nello stesso server del Database SQLSQL Database.This parameter is optional when the source database and the destination database are to be located on the same Database SQLSQL Database server.

Nota

l'argomento AS COPY OF non supporta nomi di dominio univoci completi.The AS COPY OF argument does not support the fully qualified unique domain names. In altre parole, se il nome di dominio completo del server è serverName.database.windows.net, usare solo serverName durante la copia del database.In other words, if your server's fully qualified domain name is serverName.database.windows.net, use only serverName during database copy.

nome_database_di_originesource_database_name

Nome del database di cui eseguire la copia.The name of the database that is to be copied.

RemarksRemarks

I database nel Database SQL di AzureAzure SQL Database presentano varie impostazioni predefinite impostate alla creazione del database.Databases in Database SQL di AzureAzure SQL Database have several default settings that are set when the database is created. Per altre informazioni su queste impostazioni predefinite, vedere l'elenco di valori in DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

MAXSIZE consente di limitare le dimensioni del database.MAXSIZE provides the ability to limit the size of the database. Se le dimensioni del database raggiungono il valore di MAXSIZE, viene visualizzato il codice di errore 40544.If the size of the database reaches its MAXSIZE, you receive error code 40544. In questo caso, non è possibile inserire o aggiornare dati, né creare nuovi oggetti quali tabelle, stored procedure, viste e funzioni.When this occurs, you cannot insert or update data, or create new objects (such as tables, stored procedures, views, and functions). È tuttavia ancora possibile leggere ed eliminare dati, troncare tabelle, eliminare tabelle e indici e ricompilare indici.However, you can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. È quindi possibile aggiornare MAXSIZE a un valore maggiore delle dimensioni correnti del database o eliminare alcuni dati per liberare spazio di archiviazione.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Potrebbe verificarsi un ritardo di quindici minuti prima di poter inserire nuovi dati.There may be as much as a fifteen-minute delay before you can insert new data.

Per cambiare le dimensioni o i valori degli obiettivi di servizio in un secondo momento, usare ALTER DATABASE.To change the size, edition, or service objective values later, use ALTER DATABASE - Azure SQL Database.

L'argomento CATALOG_COLLATION è disponibile solo durante la creazione del database.The CATALOG_COLLATION argument is only available during database creation.

Copie di databaseDatabase Copies

Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only.

La copia di un database tramite l'istruzione CREATE DATABASE è un'operazione asincrona.Copying a database using the CREATE DATABASE statement is an asynchronous operation. Pertanto, una connessione al server del Database SQLSQL Database non è necessaria per la durata totale del processo di copia.Therefore, a connection to the Database SQLSQL Database server is not needed for the full duration of the copy process. L'istruzione CREATE DATABASE restituisce il controllo all'utente dopo la creazione della voce in sys.databases e prima che l'operazione di copia del database venga completata.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. In altre parole, l'istruzione CREATE DATABASE ha esito positivo quando la copia del database è ancora in corso.In other words, the CREATE DATABASE statement returns successfully when the database copy is still in progress.

  • Monitoraggio del processo di copia in un server Database SQLSQL Database: eseguire query sulle colonne percentage_complete o replication_state_desc in dm_database_copies o sulla colonna state nella visualizzazione sys.databases.Monitoring the copy process on an Database 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. È possibile usare anche la visualizzazione sys.dm_operation_status perché restituisce lo stato delle operazioni del database, inclusa la copia del database.The sys.dm_operation_status view can be used as well as it returns the status of database operations including database copy.

Al termine del processo di copia, il database di destinazione è transazionalmente coerente con il database di origine.At the time the copy process completes successfully, the destination database is transactionally consistent with the source database.

La sintassi e le regole semantiche seguenti si applicano all'utilizzo dell'argomento AS COPY OF:The following syntax and semantic rules apply to your use of the AS COPY OF argument:

  • Il nome del server di origine e il nome del server per la destinazione della copia potrebbe essere uguale o diverso.The source server name and the server name for the copy target may be the same or different. Se corrispondono, questo parametro è facoltativo e il contesto del server della sessione corrente viene usato per impostazione predefinita.When they are the same, this parameter is optional and the server context of the current session is used by default.
  • I nomi dei database di origine e di destinazione devono essere specificati, univoci e conformi alle regole di SQL ServerSQL Server per gli identificatori.The source and destination database names must be specified, unique, and comply with the SQL ServerSQL Server rules for identifiers. Per altre informazioni, vedere Identificatori.For more information, see Identifiers.
  • L'istruzione CREATE DATABASE deve essere eseguita nel contesto del database master del server del Database SQLSQL Database in cui il nuovo database verrà creato.The CREATE DATABASE statement must be executed within the context of the master database of the Database SQLSQL Database server where the new database will be created.
  • Al termine della copia, il database di destinazione deve essere gestito come database indipendente.After the copying completes, the destination database must be managed as an independent database. È possibile eseguire le istruzioni ALTER DATABASE e DROP DATABASE per il nuovo database indipendentemente dal database di origine.You can execute the ALTER DATABASE and DROP DATABASE statements against the new database independently of the source database. È inoltre possibile copiare il nuovo database in un altro nuovo database.You can also copy the new database to another new database.
  • Il database di origine continuerà a essere accessibile durante la copia del database.The source database may continue to be accessed while the database copy is in progress.

Per altre informazioni, vedere Create a copy of an Azure SQL database using Transact-SQL (Creare una copia di un database SQL di Azure mediante Transact-SQL).For more information, see Create a copy of an Azure SQL database using Transact-SQL.

AutorizzazioniPermissions

Per creare un database, l'account di accesso deve essere uno dei seguenti:To create a database, a login must be one of the following:

  • Account di accesso principale di livello serverThe server-level principal login
  • Account amministratore di Azure AD per il server SQL di AzureThe Azure AD administrator for the local Azure SQL Server
  • Un account di accesso membro del ruolo del database dbmanagerA login that is a member of the dbmanager database role

Requisiti aggiuntivi per l'uso della sintassi CREATE DATABASE ... AS COPY OF : l'account di accesso che esegue l'istruzione nel server locale deve anche essere almeno un account db_owner nel server di origine.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 l'account di accesso è basato sull'autenticazione SQL ServerSQL Server, l'account di accesso che esegue l'istruzione nel server locale deve avere un account di accesso corrispondente nel server Database SQLSQL Database di origine, con nome e password identici.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 Database SQLSQL Database server, with an identical name and password.

EsempiExamples

Esempio sempliceSimple Example

Esempio semplice per la creazione di un database.A simple example for creating a database.

CREATE DATABASE TestDB1;

Esempio semplice con EditionSimple Example with Edition

Esempio semplice per la creazione di un database standard.A simple example for creating a standard database.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

Esempio con opzioni aggiuntiveExample with Additional Options

Esempio che usa varie opzioni.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' ) ;

Creazione di una copiaCreating a Copy

Esempio di creazione di una copia di un database.An example creating a copy of a database.

Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only.

CREATE DATABASE escuela
AS COPY OF school;

Creazione di un database in un pool elasticoCreating a Database in an Elastic Pool

Crea un nuovo database nel pool denominato S3M100:Creates new database in pool named S3M100:

Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only.

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

Creazione di una copia di un database in un altro serverCreating a Copy of a Database on Another Server

L'esempio seguente crea una copia del database db_original denominata db_copy nel livello di prestazioni P2 per un singolo database.The following example creates a copy of the db_original database, named db_copy in the P2 performance level for a single database. Questo vale indipendentemente dal fatto che db_original si trovi in un pool elastico o in un livello di prestazioni per un singolo database.This is true regardless of whether db_original is in an elastic pool or a performance level for a single database.

Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only.

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

L'esempio seguente crea una copia del database db_original denominata db_copy in un pool elastico con nome ep1.The following example creates a copy of the db_original database, named db_copy in an elastic pool named ep1. Questo vale indipendentemente dal fatto che db_original si trovi in un pool elastico o in un livello di prestazioni per un singolo database.This is true regardless of whether db_original is in an elastic pool or a performance level for a single database. Se db_original si trova in un pool elastico con un nome diverso, db_copy viene comunque creato in ep1.If db_original is in an elastic pool with a different name, then db_copy is still created in ep1.

Si applica a: solo database singoli e in pool.Applies to: Single and pooled databases only.

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

Creare un database con il valore di regole di confronto del catalogo specificatoCreate database with specified catalog collation value

L'esempio seguente imposta le regole di confronto del catalogo su DATABASE_DEFAULT durante la creazione del database. In questo modo le regole di confronto del catalogo vengono impostate in modo da corrispondere alle regole di confronto del database.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

Vedere ancheSee also

SQL ServerSQL Server Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
** * Istanza gestita
database SQL*
**
* SQL Database
managed instance *
SQL Data
Warehouse
SQL Data
Warehouse
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Istanza gestita di database SQL di AzureAzure SQL Database Managed Instance

PanoramicaOverview

Nell'Istanza gestita di database SQL di Azure, questa istruzione consente di creare un database.In Azure SQL Database Managed Instance, this statement is used to create a database. Quando si crea un database in un'istanza gestita, si specificano il nome del database e le regole di confronto.When creating a database on a managed instance, you specify the database name and collation.

SintassiSyntax

CREATE DATABASE database_name [ COLLATE collation_name ]
[;]

Importante

Per aggiungere file o configurare l'indipendenza per un database in un'istanza gestita, usare l'istruzione ALTER DATABASE.To add files or set containment for a database in a managed instance, use the ALTER DATABASE statement.

ArgomentiArguments

database_name database_name
Nome del nuovo database.The name of the new database. Il nome deve essere univoco in SQL Server ed essere conforme alle regole di SQL ServerSQL Server per gli identificatori.This name must be unique on the SQL server and comply with the SQL ServerSQL Server rules for identifiers. Per altre informazioni, vedere Identificatori.For more information, see Identifiers.

Collation_name Collation_name
Specifica le regole di confronto predefinite per il database.Specifies the default collation for the database. È possibile usare nomi di regole di confronto di Windows o SQL.Collation name can be either a Windows collation name or a SQL collation name. Se non vengono specificate, al database vengono assegnate le regole di confronto predefinite, ovvero SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Per altre informazioni sui nomi delle regole di confronto Windows e SQL, vedere COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

RemarksRemarks

I database nel Database SQL di AzureAzure SQL Database presentano varie impostazioni predefinite impostate alla creazione del database.Databases in Database SQL di AzureAzure SQL Database have several default settings that are set when the database is created. Per altre informazioni su queste impostazioni predefinite, vedere l'elenco di valori in DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

Importante

L'istruzione CREATE DATABASE deve essere l'unica istruzione in un batch Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

CREATE DATABASE prevede le limitazioni seguenti:The following are CREATE DATABASE limitations:

  • Non è possibile definire file e filegroup.Files and filegroups cannot be defined.

  • Le opzioni WITH non sono supportate.WITHoptions are not supported.

    Suggerimento

    Come soluzione alternativa, usare ALTER DATABASEAs workaround, use ALTER DATABASE. dopo CREATE DATABASE per impostare le opzioni di database e aggiungere i file.after CREATE DATABASE to set database options and to add files.

AutorizzazioniPermissions

Per creare un database, l'account di accesso deve essere uno dei seguenti:To create a database, a login must be one of the following:

  • Account di accesso principale di livello serverThe server-level principal login
  • Account amministratore di Azure AD per il server SQL di AzureThe Azure AD administrator for the local Azure SQL Server
  • Un account di accesso membro del ruolo del database dbcreatorA login that is a member of the dbcreator database role

EsempiExamples

Esempio sempliceSimple Example

Esempio semplice per la creazione di un database.A simple example for creating a database.

CREATE DATABASE TestDB1;

Vedere ancheSee also

Vedere ALTER DATABASESee ALTER DATABASE

SQL ServerSQL Server Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
Istanza gestita
database SQL
SQL Database
managed instance
** * SQL Data
Warehouse *
**
* SQL Data
Warehouse *
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Azure SQL Data WarehouseAzure SQL Data Warehouse

PanoramicaOverview

In Azure SQL Data Warehouse, questa istruzione può essere usata con un server di database SQL di Azure per creare un database di 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. Con questa istruzione è possibile specificare il nome del database, le regole di confronto, le dimensioni massime, l'edizione e l'obiettivo di servizio.With this statement, you specify the database name, collation, maximum size, edition, and service objective.

SintassiSyntax

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'
    }
)
[;]

ArgomentiArguments

database_name database_name
Nome del nuovo database.The name of the new database. Questo nome deve essere univoco in SQL Server, che può ospitare sia database Database SQL di AzureAzure SQL Database sia database SQL Data WarehouseSQL Data Warehouse. Deve anche rispettare le regole SQL ServerSQL Server per gli identificatori.This name must be unique on the SQL server, which can host both Database SQL di AzureAzure SQL Database databases and SQL Data WarehouseSQL Data Warehouse databases, and comply with the SQL ServerSQL Server rules for identifiers. Per altre informazioni, vedere Identificatori.For more information, see Identifiers.

collation_name collation_name
Specifica le regole di confronto predefinite per il database.Specifies the default collation for the database. È possibile usare nomi di regole di confronto di Windows o SQL.Collation name can be either a Windows collation name or a SQL collation name. Se non vengono specificate, al database vengono assegnate le regole di confronto predefinite, ovvero SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Per altre informazioni sui nomi delle regole di confronto Windows e SQL, vedere COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, see COLLATE (Transact-SQL).

EDITION EDITION
Specifica il livello del servizio del database.Specifies the service tier of the database. Per SQL Data WarehouseSQL Data Warehouse usare 'datawarehouse'.For SQL Data WarehouseSQL Data Warehouse use 'datawarehouse'.

MAXSIZE MAXSIZE
Il valore predefinito è 245.760 GB (240 TB).The default is 245,760 GB (240 TB).

Si applica a: ottimizzato per il calcolo di prima generazioneApplies to: Optimized for Compute Gen1

Dimensioni massime consentite per il database.The maximum allowable size for the database. Le dimensioni del database non possono superare il valore di MAXSIZE.The database cannot grow beyond MAXSIZE.

Si applica a: ottimizzato per il calcolo di seconda generazioneApplies to: Optimized for Compute Gen2

Dimensioni massime consentite per i dati rowstore nel database.The maximum allowable size for rowstore data in the database. Le dimensioni dei dati archiviati nelle tabelle rowstore, nel deltastore di un indice columnstore o in un indice non cluster in un indice columnstore cluster non possono superare MAXSIZE. I dati compressi in formato columnstore non hanno un limite di dimensioni e non sono vincolati dal valore 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
Specifica il livello di prestazioni.Specifies the performance level. Per altre informazioni sugli obiettivi di servizio per SQL Data Warehouse, vedere Unità Data Warehouse (DWU).For more information about service objectives for SQL Data Warehouse, see Data Warehouse Units (DWUs).

Osservazioni generaliGeneral Remarks

Usare DATABASEPROPERTYEX per visualizzare le proprietà del database.Use DATABASEPROPERTYEX to see the database properties.

Usare ALTER DATABASE - Azure SQL Data Warehouse per cambiare le dimensioni massime o i valori degli obiettivi di servizio in un secondo momento.Use ALTER DATABASE - Azure SQL Data Warehouse to change the max size, or service objective values later.

SQL Data Warehouse è impostato su COMPATIBILITY_LEVEL 130 e non può essere modificato.SQL Data Warehouse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. Per altri dettagli, vedere Improved Query Performance with Compatibility Level 130 in Azure SQL Database (Prestazioni di query migliorate con Compatibility Level 130 nel database SQL di Azure).For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

AutorizzazioniPermissions

Autorizzazioni necessarie:Required permissions:

  • Accesso principale di livello server (creato dal processo di provisioning) oppureServer level principal login, created by the provisioning process, or
  • Membro del ruolo del database dbmanager.Member of the dbmanager database role.

Gestione degli erroriError Handling

Se le dimensioni del database raggiungono il valore MAXSIZE, viene visualizzato il codice di errore 40544.If the size of the database reaches MAXSIZE you will receive error code 40544. In questo caso non è possibile inserire e aggiornare dati, né creare nuovi oggetti quali tabelle, stored procedure, viste e funzioni.When this occurs, you cannot insert and update data, or create new objects (such as tables, stored procedures, views, and functions). È ancora possibile leggere ed eliminare dati, troncare tabelle, eliminare tabelle e indici e ricompilare indici.You can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. È quindi possibile aggiornare MAXSIZE a un valore maggiore delle dimensioni correnti del database o eliminare alcuni dati per liberare spazio di archiviazione.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Potrebbe verificarsi un ritardo di quindici minuti prima di poter inserire nuovi dati.There may be as much as a fifteen-minute delay before you can insert new data.

Limitazioni e restrizioniLimitations and Restrictions

È necessario essere connessi al database master per creare un nuovo database.You must be connected to the master database to create a new database.

L'istruzione CREATE DATABASE deve essere l'unica istruzione in un batch Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

Non è possibile modificare le regole di confronto del database dopo la creazione del database stesso.You cannot change the database collation after the database is created.

Esempi: Azure SQL Data WarehouseAzure SQL Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse

A.A. Esempio sempliceSimple example

Esempio semplice per la creazione di un database del data warehouse.A simple example for creating a data warehouse database. Crea il database con le dimensioni massime più ridotte, ovvero 10240 GB, le regole di confronto predefinite, ovvero SQL_Latin1_General_CP1_CI_AS e la potenza di elaborazione più ridotta, pari a 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. Creare un database del data warehouse con tutte le opzioniCreate a data warehouse database with all the options

Esempio di creazione di un data warehouse di 10 TB usando tutte le opzioni.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');

Vedere ancheSee Also

SQL ServerSQL Server Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
Istanza gestita
database SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
** *Piattaforma di strumenti
analitici (PDW)*
**
* Analytics Platform
System (PDW) *

 

Sistema della piattaforma di analisiAnalytics Platform System

PanoramicaOverview

Nella piattaforma di strumenti analitici questa istruzione si usa per creare un nuovo database in un'appliance della piattaforma stessa.In Analytics Platform System, this statement is used to create a new database on a Analytics Platform System appliance. Usare questa istruzione per creare tutti i file associati a un database di appliance e per impostare le opzioni relative alle dimensioni massime e all'aumento automatico per le tabelle e i log delle transazioni del database stesso.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.

SintassiSyntax

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

ArgomentiArguments

database_name database_name
Nome del nuovo database.The name of the new database. Per altre informazioni sui nomi di database consentiti, vedere le sezioni relative alle regole di denominazione degli oggetti e ai nomi di database riservati nella Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.

AUTOGROW = ON | OFF AUTOGROW = ON | OFF
Specifica se i parametri replicated_size, distributed_size e log_size per il database possono aumentare automaticamente in base alle esigenze oltre le dimensioni specificate.Specifies whether the replicated_size, distributed_size, and log_size parameters for this database will automatically grow as needed beyond their specified sizes. Il valore predefinito è OFF.Default value is OFF.

Se AUTOGROW corrisponde a ON, replicated_size, distributed_size e log_size aumenteranno secondo necessità (non in blocchi delle dimensioni specificate inizialmente) a ogni inserimento o aggiornamento di dati o quando vengono eseguite altre azioni che richiedono più spazio di archiviazione di quanto ne sia già stato allocato.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 corrisponde a OFF, le dimensioni non aumenteranno automaticamente.If AUTOGROW is OFF, the sizes will not grow automatically. Parallel Data WarehouseParallel Data Warehouse restituisce un errore se si tenta di eseguire un'azione che richiede l'aumento di replicated_size, distributed_size o log_size oltre i rispettivi valori specificati.will return an error when attempting an action that requires replicated_size, distributed_size, or log_size to grow beyond their specified value.

L'impostazione di AUTOGROW (ON o OFF) si applica a tutte le dimensioni.AUTOGROW is either ON for all sizes or OFF for all sizes. Non è ad esempio possibile impostare AUTOGROW su ON per log_size ma non per 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 ]
Numero positivo.A positive number. Imposta le dimensioni (in GB, con un valore intero o decimale) per lo spazio totale allocato per le tabelle replicate e per i dati corrispondenti in ogni nodo di calcolo.Sets the size (in integer or decimal gigabytes) for the total space allocated to replicated tables and corresponding data on each Compute node. Per i requisiti minimo e massimo di replicated_size, vedere la sezione corrispondente nella Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.

Se AUTOGROW corrisponde a ON, è consentito l'aumento delle tabelle replicate oltre il limite impostato.If AUTOGROW is ON, replicated tables will be permitted to grow beyond this limit.

Se AUTOGROW corrisponde a OFF, verrà restituito un errore se un utente tenta di creare una nuova tabella replicata, di inserire dati in una tabella replicata esistente o di aggiornare quest'ultima in modo tale da aumentarne le dimensioni oltre il valore di 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 ]
Numero positivo.A positive number. Dimensioni (in GB, con un valore intero o decimale) per lo spazio totale allocato per le tabelle distribuite e per i dati corrispondenti nell'intera appliance.The size, in integer or decimal gigabytes, for the total space allocated to distributed tables (and corresponding data) across the appliance. Per i requisiti minimo e massimo di distributed_size, vedere la sezione corrispondente nella Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.

Se AUTOGROW corrisponde a ON, è consentito l'aumento delle tabelle distribuite oltre il limite impostato.If AUTOGROW is ON, distributed tables will be permitted to grow beyond this limit.

Se AUTOGROW corrisponde a OFF, verrà restituito un errore se un utente tenta di creare una nuova tabella distribuita, di inserire dati in una tabella distribuita esistente o di aggiornare quest'ultima in modo tale da aumentarne le dimensioni oltre il valore di 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 ]
Numero positivo.A positive number. Dimensioni (in GB, con un valore intero o decimale) per il log delle transazioni nell'intera appliance.The size (in integer or decimal gigabytes) for the transaction log across the appliance.

Per i requisiti minimo e massimo di log_size, vedere la sezione corrispondente nella Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.

Se AUTOGROW corrisponde a ON, è consentito l'aumento del file di log oltre il limite impostato.If AUTOGROW is ON, the log file is permitted to grow beyond this limit. Usare l'istruzione DBCC SHRINKLOG (Azure SQL Data Warehouse) per ridurre le dimensioni dei file di log fino alle dimensioni originali.Use the DBCC SHRINKLOG (Azure SQL Data Warehouse) statement to reduce the size of the log files to their original size.

Se AUTOGROW corrisponde a OFF, verrà restituito un errore per qualsiasi azione che aumenti le dimensioni del log in un singolo nodo di calcolo oltre il valore di 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.

AutorizzazioniPermissions

È richiesta l'autorizzazione CREATE ANY DATABASE nel database master o l'appartenenza al ruolo predefinito del server sysadmin.Requires the CREATE ANY DATABASE permission in the master database, or membership in the sysadmin fixed server role.

Nell'esempio seguente viene fornita l'autorizzazione per creare un database per l'utente del database Fay.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

Osservazioni generaliGeneral Remarks

I database vengono creati con livello di compatibilità 120, corrispondente al livello di compatibilità per 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). In questo modo il database sarà in grado di usare tutte le funzionalità SQL Server 2014 (12.x)SQL Server 2014 (12.x) che usano 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.

Limitazioni e restrizioniLimitations and Restrictions

L'istruzione CREATE DATABASE non è consentita in una transazione esplicita.The CREATE DATABASE statement is not allowed in an explicit transaction. Per altre informazioni, vedere Istruzioni.For more information, see Statements.

Per informazioni sui vincoli minimi e massimi nei database, vedere la sezione relativa ai valori minimi e massimi nella Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Documentazione del prodotto Parallel Data WarehouseParallel Data Warehouse product documentation.

Al momento della creazione di un database, deve essere disponibile spazio sufficiente in ogni nodo di calcolo per allocare il totale combinato delle dimensioni seguenti: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:

  • Database SQL ServerSQL Server con tabelle di dimensioni corrispondenti a replicated_table_size.SQL ServerSQL Server database with tables the size of replicated_table_size.
  • Database SQL ServerSQL Server con tabelle di dimensioni corrispondenti a (distributed_table_size/numero di nodi di calcolo).SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • Log di SQL ServerSQL Server delle dimensioni corrispondenti a (log_size/numero di nodi di calcolo).SQL ServerSQL Server logs the size of (log_size / number of Compute nodes).

Utilizzo di blocchiLocking

Consente di acquisire un blocco condiviso per l'oggetto DATABASE.Takes a shared lock on the DATABASE object.

MetadatiMetadata

Al termine di questa operazione, nelle viste di metadati sys.databases e sys.objects viene visualizzata una voce per questo database.After this operation succeeds, an entry for this database will appear in the sys.databases and sys.objectsmetadata views.

Esempi: Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

A.A. Esempi di creazione di database di baseBasic database creation examples

L'esempio seguente crea il database mytest con un'allocazione dello spazio di archiviazione pari a 100 GB per ogni nodo di calcolo per le tabelle replicate, 500 GB per appliance per le tabelle distribuite e 100 GB per appliance per il log delle transazioni.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. In questo esempio, AUTOGROW è OFF per impostazione predefinita.In this example, AUTOGROW is off by default.

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

L'esempio seguente crea il database mytest con gli stessi parametri dell'esempio precedente, ad eccezione di AUTOGROW, che è ON.The following example creates the database mytest with the same parameters as above, except that AUTOGROW is turned on. Ciò consente al database di aumentare oltre i parametri di dimensione specificati.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. Creazione di un database con dimensioni in GB parzialiCreating a database with partial gigabyte sizes

L'esempio seguente crea il database mytest con AUTOGROW OFF, un'allocazione dello spazio di archiviazione pari a 1,5 GB per ogni nodo di calcolo per le tabelle replicate, 5,25 GB per appliance per le tabelle distribuite e 10 GB per appliance per il log delle transazioni.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);

Vedere ancheSee Also