RESTORE Statements (Transact-SQL) - Analytics Platform System (PDW)

Si applica a:Piattaforma di strumenti analitici (PDW)

Esegue il ripristino di un database utente della piattaforma di strumenti analitici (PDW) da un backup del database in un'appliance PDW. Il database viene ripristinato da un backup precedentemente creato dal comando Analytics Platform System (PDW) BACKUPDATABASE - Analytics Platform System . Usare le operazioni di backup e ripristino per creare un piano di ripristino di emergenza o per spostare i database da un'appliance a un'altra.

Annotazioni

Il ripristino del database di sistema master include il ripristino delle informazioni di accesso dell'appliance. Per ripristinare il database master, usare la pagina Ripristinare il database master nello strumento Gestione configurazione. Questa operazione può essere eseguita da un amministratore con accesso al nodo di controllo. Per altre informazioni sui backup del database PDW (Analytics Platform System), vedere Backup e ripristino.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

-- Restore the master database
-- Use the Configuration Manager tool.

Restore a full user database backup.
RESTORE DATABASE database_name
    FROM DISK = '\\UNC_path\full_backup_directory'
[;]

--Restore a full user database backup and then a differential backup.
RESTORE DATABASE database_name
    FROM DISK = '\\UNC_path\differential_backup_directory'
    WITH [ ( ] BASE = '\\UNC_path\full_backup_directory' [ ) ]
[;]

--Restore header information for a full or differential user database backup.
RESTORE HEADERONLY
    FROM DISK = '\\UNC_path\backup_directory'
[;]

Arguments

RESTORE DATABASE Database_name

Specifica il ripristino di un database utente in un database denominato database_name. Il database ripristinato può avere un nome diverso da quello del database di origine di cui è stato eseguito il backup. database_name non può esistere già come database nell'appliance di destinazione. Per altre informazioni sui nomi di database consentiti, vedere Nomi di database riservati.

Il ripristino di un database utente implica il ripristino di un backup completo del database e, facoltativamente, di un backup differenziale nell'appliance. Il ripristino di un database utente include il ripristino degli utenti e dei ruoli del database.

DA DISCO = '\\UNC_path\backup_directory'

Il percorso di rete e la directory da cui la piattaforma di strumenti analitici (PDW) ripristina i file di backup. Ad esempio, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.

backup_directory specifica il nome della directory che contiene il backup completo o differenziale. Ad esempio, puoi eseguire un'operazione RESTORE HEADERONLY su un backup completo o differenziale.

full_backup_directory specifica il nome della directory che contiene il backup completo.

differential_backup_directory specifica il nome della directory che contiene il backup differenziale.

  • Il percorso e la directory di backup devono essere già esistenti e devono essere specificati sotto forma di percorso UNC completo.
  • Il percorso della directory di backup non può essere un percorso locale e non può essere il percorso di uno dei nodi dell'appliance della piattaforma di strumenti analitici (PDW).
  • La lunghezza massima del percorso UNC e del nome della directory di backup è di 200 caratteri.
  • Il server o l'host deve essere specificato come indirizzo IP.

RESTORE HEADERONLY

Specifica la restituzione sollo delle informazioni di intestazione per un backup del database utente. Tra gli altri campi, l'intestazione include la descrizione in formato testo del backup e il nome del backup stesso. Il nome del backup non deve necessariamente corrispondere al nome della directory in cui sono archiviati i file di backup.

RESTORE RESTORE HEADERONLYi risultati sono modellati sui risultati di SQL ServerRESTORERESTORE HEADERONLY. Il risultato ha più di 50 colonne, che non vengono usate tutte dalla piattaforma di strumenti analitici (PDW). Per una descrizione delle colonne nei risultati di SQL ServerRESTORE HEADERONLY, vedi RESTORE HEADERONLY.

Autorizzazioni

È necessaria l'autorizzazione CREATE ANY DATABASE.

È necessario un account di Windows con l'autorizzazione di accesso e lettura per la directory di backup. È anche necessario archiviare il nome e la password dell'account Windows in Analytics Platform System (PDW).

Gestione degli errori

Il RESTOREDATABASE comando genera errori nelle seguenti condizioni:

  • Il nome del database da ripristinare esiste già nell'appliance di destinazione. Per evitare questo problema, scegliere un nome di database univoco oppure rilasciare il database esistente prima di eseguire il ripristino.
  • Nella directory di backup è presente un set di file di backup non valido.
  • Le autorizzazioni di accesso non sono sufficienti per il ripristino di un database.
  • La piattaforma di strumenti analitici (PDW) non ha le autorizzazioni corrette per il percorso di rete in cui si trovano i file di backup.
  • Il percorso di rete della directory di backup non esiste o non è disponibile.
  • Lo spazio su disco è insufficiente nei nodi di calcolo o nel nodo di controllo. La piattaforma di strumenti analitici (PDW) non conferma la disponibilità di spazio su disco sufficiente nell'appliance prima dell'avvio del ripristino. Pertanto, è possibile generare un errore fuori spazio disco durante l'esecuzione dell'istruzione RESTOREDATABASE . Quando lo spazio su disco è insufficiente, la piattaforma di strumenti analitici (PDW) esegue il rollback del ripristino.
  • L'appliance di destinazione in cui il database è in corso di ripristino ha un numero di nodi di calcolo inferiore a quello dell'appliance di origine da cui è stato eseguito il backup del database.
  • Viene tentato il ripristino del database dall'interno di una transazione.

Osservazioni:

La piattaforma di strumenti analitici (PDW) tiene traccia dell'esito positivo del ripristino dei database. Prima di ripristinare un backup differenziale del database, la piattaforma di strumenti analitici (PDW) verifica che il ripristino completo del database sia stato completato.

Dopo un ripristino, il database utente ha un livello di compatibilità pari a 120. Questo vale per tutti i database, indipendentemente dal livello di compatibilità originale.

Eseguire il ripristino in un'appliance con un numero maggiore di nodi di calcolo

Eseguire DBCC SHRINKLOG (Azure Synapse Analytics) dopo il ripristino di un database da un'appliance più piccola a una più grande, poiché la ridistribuzione aumenta le dimensioni del log delle transazioni.

Il ripristino di un backup in un'appliance con un numero maggiore di nodi di calcolo aumenta la dimensione allocata al database proporzionalmente al numero di nodi di calcolo.

Se ad esempio si ripristina un database da 60 GB da un'appliance da 2 nodi (30 GB per nodo) in un'appliance da 6 nodi, la piattaforma di strumenti analitici (PDW) crea un database di 180 GB (6 nodi con 30 GB per nodo) nell'appliance da 6 nodi. La piattaforma di strumenti analitici (PDW) inizialmente ripristina il database in 2 nodi, in modo che corrisponda alla configurazione dell'origine, e quindi ridistribuisce i dati in tutti i 6 nodi.

Dopo la ridistribuzione, ogni nodo di calcolo contiene meno dati effettivi e più spazio disponibile rispetto a ogni nodo di calcolo nell'appliance di origine di dimensioni inferiori. Usare lo spazio aggiuntivo per l'aggiunta di altri dati al database. Se la dimensione del database ripristinato è maggiore di quanto ti serve, puoi usare ALTER DATABASE - PDW per ridurre le dimensioni dei file del database.

Limitazioni e restrizioni

In questa sezione, per appliance di origine si intende l'appliance da cui è stato creato il backup del database e per appliance di destinazione si intende l'appliance in cui viene ripristinato il database.

  • Il ripristino di un database non implica la rigenerazione automatica delle statistiche.
  • Solo una RESTOREDATABASE delle BACKUPDATABASE due istruzioni può essere in funzione sull'apparecchio in qualsiasi momento. Se vengono inviate contemporaneamente più istruzioni di backup e ripristino, l'appliance le inserisce in una coda e le elabora una alla volta.
  • È possibile ripristinare un backup del database solo in un'appliance di destinazione della piattaforma di strumenti analitici (PDW) con un numero di nodi di calcolo uguale o maggiore a quello dell'appliance di origine. L'appliance di destinazione non può avere un numero di nodi di calcolo minore dell'appliance di origine.
  • Non è possibile ripristinare un backup creato in un'appliance con hardware SQL Server 2012 PDW in un'appliance con hardware SQL Server 2008 R2. Ciò vale anche se l'appliance è stata originariamente acquistata con hardware SQL Server 2008 R2 PDW e ora esegue software SQL Server 2012 PDW.

Bloccaggio

Prende un blocco esclusivo sull'oggetto DATABASE .

Esempi

A. Esempi semplici RESTORE

L'esempio seguente ripristina un backup completo nel database SalesInvoices2013. I file di backup vengono archiviati nella directory \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full. Nell'appliance di destinazione non può essere già presente un database SalesInvoices2013. In caso contrario, questo comando avrà esito negativo e genererà un errore.

RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

B. Ripristinare un backup completo e un backup differenziale

L'esempio seguente ripristina un backup completo e quindi un backup differenziale nel database SalesInvoices2013

Il backup completo del database viene ripristinato usando il backup completo archiviato nella directory \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full. Se il ripristino viene completato correttamente, viene ripristinato il backup differenziale nel database SalesInvoices2013. Il backup differenziale viene archiviato nella directory \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff.

RESTORE DATABASE SalesInvoices2013
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH BASE = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]

C. Ripristinare l'intestazione del backup

Questo esempio ripristina le informazioni di intestazione per il backup del database \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full. Il comando ha come risultato una riga di informazioni per il backup Invoices2013Full.

RESTORE HEADERONLY
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]

È possibile usare le informazioni di intestazione per controllare il contenuto di un backup o per assicurarsi che l'appliance di ripristino di destinazione sia compatibile con l'appliance di backup di origine prima di tentare il ripristino del backup.