CREATE DATABASE (database SQL di Windows Azure)
Crea un nuovo database. Per creare un nuovo database, è necessario essere connessi al database master.
Convenzioni della sintassi (database SQL di Windows Azure)
CREATE DATABASE database_name [ COLLATE collation_name ]
{
(<edition_options> [, ...n])
}
<edition_options> ::=
{
(MAXSIZE = {1 | 5 | 10 | 20 | 30 … 150} GB)
|(EDITION = {'web' | 'business'})
}
[;]
To copy a database:
CREATE DATABASE destination_database_name
AS COPY OF [source_server_name.] source_database_name
[;]
In questo diagramma della sintassi vengono illustrati gli argomenti supportati in Microsoft Database SQL di Windows Azure.
- database_name
- Nome del nuovo database. Il nome deve essere univoco nel server Database SQL e conforme alle regole di SQL Server per gli identificatori. Per ulteriori informazioni, vedere Identificatori.
- Collation_name
- Specifica le regole di confronto predefinite per il database. È possibile utilizzare nomi di regole di confronto di Windows o SQL. Se non si specificano regole di confronto, al database verranno assegnate le regole di confronto predefinite, ossia SQL_Latin1_General_CP1_CI_AS. Per ulteriori informazioni sui nomi di regole di confronto Windows e SQL, vedere COLLATE (Transact-SQL).
- EDITION
- Specifica l'edizione del database, 'Web' per Web Edition o 'business' per Business Edition. Se viene specificato EDITION senza specificare MAXSIZE, quest'ultimo verrà impostato sulle dimensioni più restrittive supportate dall'edizione (1 GB per Web Edition e 10 GB per Business Edition).
- MAXSIZE
- Specifica le dimensioni massime del database. MAXSIZE deve essere valido per il valore EDITION specificato. Per l'edizione Web Edition i valori validi di MAXSIZE sono 1 GB o 5 GB, mentre per l'edizione Business Edition i valori validi sono incrementi di 10 GB fino a 50 GB, quindi incrementi di 50 GB. Se MAXSIZE viene impostato su un valore di 1 GB o 5 GB ed EDITION non viene specificato, l'edizione del database verrà impostata automaticamente su Web Edition. Se MAXSIZE viene impostato su un valore di 10 GB o superiore ed EDITION non viene specificato, l'edizione del database verrà impostata automaticamente su Business Edition. Se non vengono specificati né MAXSIZE né EDITION, verrà creato un database Web Edition con dimensioni di 1 GB.
- destination_database_name
- Nome del database creato dalla copia del database. Il nome deve essere univoco nel server Database SQL (di destinazione) e conforme alle regole di SQL Server per gli identificatori. Per ulteriori informazioni, vedere Identificatori.
- AS COPY OF [source_server_name.]source_database_name
-
Per copiare un database nello stesso server Database SQL o in un server diverso.
Nota AS COPY OFnon può essere utilizzato con altri argomenti diCREATE DATABASE.- source_server_name
-
Nome del server Database SQL in cui si trova il database di origine. Questo parametro è facoltativo quando il database di origine e il database di destinazione devono risiedere nello stesso server Database SQL.
Nota: l'argomento
AS COPY OFnon supporta i nomi di dominio univoci completi. In altre parole, se il nome di dominio completo del server èserverName.database.windows.net, utilizzare soloserverNamedurante la copia del database.
- source_database_name
- Nome del database da copiare.
In Database SQL di Windows Azure non sono supportati gli argomenti e le opzioni seguenti quando si utilizza l'istruzione CREATE DATABASE:
-
Parametri correlati alla posizione fisica del file, ad esempio <filespec> e <filegroup>
-
Opzioni di accesso esterno, ad esempio DB_CHAINING e TRUSTWORTHY
-
Collegamento di un database
-
Opzioni Service Broker, ad esempio ENABLE_BROKER, NEW_BROKER e ERROR_BROKER_CONVERSATIONS
-
Snapshot del database
Per ulteriori informazioni sugli argomenti e sull'istruzione CREATE DATABASE, vedere CREATE DATABASE nella documentazione online di SQL Server.
Nei Database SQL di Windows Azure sono disponibili diverse impostazioni predefinite impostate quando viene creato il database. Per ulteriori informazioni su tali impostazioni predefinite, vedere l'elenco dei valori in DATABASEPROPERTYEX (database SQL di Windows Azure).
Il valore MAXSIZE consente di limitare le dimensioni del database. Se le dimensioni del database raggiungono il valore MAXSIZE, verrà restituito il codice di errore 40544. Se si verifica questa condizione, non sarà possibile inserire o aggiornare dati oppure creare nuovi oggetti, quali tabelle, stored procedure, viste e funzioni. Sarà tuttavia possibile continuare a leggere ed eliminare dati, troncare tabelle, rimuovere tabelle e indici e ricompilare indici. Sarà quindi possibile aggiornare il valore MAXSIZE impostando un valore maggiore delle dimensioni correnti del database o eliminare alcuni dati per liberare lo spazio di archiviazione. Prima di poter inserire nuovi dati potrebbe essere necessario attendere fino a 15 minuti.
Importante |
|---|
L'istruzione CREATE DATABASE deve essere l'unica istruzione in un batch Transact-SQL. È necessario essere connessi al database master in fase di esecuzione dell'istruzione CREATE DATABASE. |
Copie del database
La copia di un database mediante l'istruzione CREATE DATABASE è un operazione asincrona. Una connessione al server Database SQL non è pertanto necessaria per la durata completa del processo di copia. L'istruzione CREATE DATABASE restituirà il controllo all'utente prima che l'operazione di copia del database venga completata. In altre parole, l'istruzione CREATE DATABASE viene restituita correttamente quando la copia del database è ancora in corso. È possibile monitorare il processo di copia con le viste sys.dm_database_copies e sys.databases. Al termine del processo di copia, il database di destinazione è coerente a livello di transazione con il database di origine. Per ulteriori informazioni sulla copia di database in Database SQL, vedere Copia di database nel database SQL di Windows Azure.
La sintassi e le regole semantiche seguenti si applicano all'utilizzo dell'argomento AS COPY OF:
-
Il nome del server di origine e il nome del server per la destinazione della copia possono essere uguali o diversi. Quando sono uguali, questo parametro è facoltativo e il contesto del server della sessione corrente verrà utilizzato per impostazione predefinita.
-
I nomi dei database di origine e di destinazione devono essere specificati, univoci e conformi alle regole di SQL Server per gli identificatori. Per ulteriori informazioni, vedere Identificatori.
-
L'istruzione
CREATE DATABASEdeve essere eseguita nel contesto del database master del server Database SQL in cui verrà creato il nuovo database. -
Al termine della copia, il database di destinazione deve essere gestito come database indipendente. È possibile eseguire le istruzioni
ALTER DATABASEeDROP DATABASEsul nuovo database in modo indipendente dal database di origine. È inoltre possibile copiare il nuovo database in un altro nuovo database. -
L'accesso al database di destinazione non può essere eseguito fino al completamento del processo di copia. È possibile controllare lo stato del processo di copia eseguendo una query sulla colonna
statenella vistasys.databaseso sulla colonnapercentage_completenella vistasys.dm_database_copiesdel server Database SQL di destinazione.
Durante il processo di copia, nella colonnastatedella vistasys.databasesviene visualizzatoCopyingnel server Database SQL di destinazione. Inoltre, nella colonnapercentange_completedella vistasys.dm_database_copiesviene visualizzata la percentuale di byte copiati nel server di destinazione. -
È possibile continuare ad accedere al database di origine mentre è in corso la copia del database.
I database possono essere creati solo dall'account di accesso dell'entità di livello server (creato dal processo di provisioning) o dai membri del ruolo del database dbmanager.
Importante