CREATE DATABASE (Transact-SQL) - Sistema piattaforma di analisi (PDW)

Si applica a:Piattaforma di strumenti analitici (PDW)

Questa istruzione viene usata per creare un nuovo database in un'appliance di sistema della piattaforma di analisi. 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.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Arguments

database_name

Nome del nuovo database. Per altre informazioni sui nomi di database consentiti, vedere Nomi di database riservati.

AUTOGROW = { ON | OFF }

Specifica se i parametri replicated_size, distributed_size e log_size aumentano automaticamente in base alle esigenze oltre le dimensioni specificate. Il valore predefinito è OFF.

Se AUTOGROW è ON, replicated_size, distributed_size e log_size aumentano in base alle esigenze con ogni operazione di inserimento, aggiornamento o altra azione che richiede più spazio di archiviazione di quanto sia già stato allocato.

Se AUTOGROW è OFF, le dimensioni non aumentano automaticamente.

AUTOGROW ON è per tutte le dimensioni o OFF per tutte le dimensioni. Ad esempio, non è possibile impostare AUTOGROW ON per log_size, ma non impostarlo per replicated_size.

replicated_size [ GB ]

Numero positivo. 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.

Se AUTOGROW è ON, le tabelle replicate possono aumentare oltre questo limite.

Se AUTOGROW è OFF, viene restituito un errore se un utente tenta di creare una nuova tabella replicata, inserire dati in una tabella replicata esistente o aggiornare una tabella replicata esistente in modo da aumentare le dimensioni oltre replicated_size.

distributed_size [GB ]

Numero positivo. 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.

Se AUTOGROW è ON, le tabelle distribuite possono aumentare oltre questo limite.

Se AUTOGROW è OFF, viene restituito un errore se un utente tenta di creare una nuova tabella distribuita, inserire dati in una tabella distribuita esistente o aggiornare una tabella distribuita esistente in modo da aumentare le dimensioni oltre distributed_size.

log_size [ GB ]

Numero positivo. Dimensioni (in GB, con un valore intero o decimale) per il log delle transazioni nell'intera appliance.

Se AUTOGROW è ON, il file di log può superare questo limite. Usare l'istruzione DBCC SHRINKLOG - Analytics Platform System (PDW) per ridurre le dimensioni dei file di log alle dimensioni originali.

Se AUTOGROW è OFF, viene restituito un errore all'utente per qualsiasi azione che aumenterebbe le dimensioni del log in un singolo nodo di calcolo oltre log_size.

Autorizzazioni

Richiede l'autorizzazione CREATE ANY DATABASE nel databasemaster o l'appartenenza al ruolo predefinito del server sysadmin.

Nell'esempio seguente viene fornita l'autorizzazione per creare un database per l'utente del database Fay.

USE master;
GO

GRANT CREATE ANY DATABASE TO [Fay];
GO

Osservazioni:

I database vengono creati con il livello di compatibilità 120, corrispondente al livello di compatibilità per SQL Server 2014 (12.x). In questo modo, il database può usare tutte le funzionalità di SQL Server 2014 (12.x) usate da PDW.

Limitations

L'istruzione CREATE DATABASE non è consentita in una transazione esplicita. Per altre informazioni, vedere istruzioni Transact-SQL.

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:

  • Database SQL Server con tabelle di dimensioni corrispondenti a replicated_table_size.
  • Database SQL Server con tabelle di dimensioni corrispondenti a (distributed_table_size/numero di nodi di calcolo).
  • SQL Server registra le dimensioni di (log_size/numero di nodi di calcolo).

Bloccaggio

Acquisisce un blocco condiviso per l'oggetto DATABASE.

Metadati

Al termine dell'operazione, viene visualizzata una voce per questo database nelle viste dei metadati sys.databases e sys.objects .

Esempi: Piattaforma di strumenti analitici (PDW)

A. Esempi di creazione di database di base

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. In questo esempio, AUTOGROW è disattivato per impostazione predefinita.

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

Nell'esempio seguente viene creato il database mytest con gli stessi parametri, ad eccezione del fatto che AUTOGROW è attivato. Ciò consente al database di aumentare oltre i parametri di dimensione specificati.

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

B. Creare un database con dimensioni in GB parziali

L'esempio seguente crea il database mytest, con AUTOGROW off, un'allocazione di archiviazione di 1,5 GB per 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.

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