Condividi tramite


Backup e ripristino

Descrive il funzionamento di backup e ripristino dei dati per Parallel Data Warehouse (PDW). Le operazioni di backup e ripristino vengono usate per il ripristino di emergenza. È anche possibile usare il backup e il ripristino per copiare un database da un'appliance a un'altra appliance.

Nozioni di base di backup e ripristino

Un backup del database PDW è una copia di un database dell'appliance, archiviato in un formato che ne permetta l’uso al fine di ripristinare il database originale in un'appliance.

Viene creato un backup del database PDW con l'istruzione t-sql BACKUP DATABASE e formattato per l'uso con l'istruzione RESTORE DATABASE. Non è utilizzabile per altri scopi. Il backup può essere ripristinato solo in un'appliance con lo stesso numero o un numero maggiore di nodi di calcolo.

PDW usa la tecnologia di backup SQL Server per il backup e il ripristino dei database dell’appliance. Le opzioni di backup di SQL Server sono preconfigurate per l'utilizzo della compressione dei backup. Non è possibile impostare opzioni di backup come la compressione, il checksum, la dimensione blocco e il conteggio buffer.

I backup del database vengono archiviati in uno o più server di backup presenti nella rete dei clienti. PDW scrive un backup del database utente in parallelo direttamente dai nodi di calcolo a un server di backup e ripristina un backup del database utente in parallelo direttamente dal server di backup ai nodi di calcolo.

I backup vengono archiviati nel server di backup come un gruppo di file nel file system di Windows. Un backup del database PDW può essere ripristinato solo in PDW. Tuttavia, è possibile archiviare i backup del database dal server di backup a un'altra posizione usando i processi standard di backup dei file di Windows. Per altre informazioni sui server di backup, vedere Acquisire e configurare un server di backup.

Tipi di backup del database

Esistono due tipi di dati che richiedono un backup: database utente e database di sistema (ad esempio, il database master). PDW non esegue il backup del log delle transazioni.

Un backup di database completo è un backup di un intero database PDW. Questo è il tipo di backup predefinito. Il backup completo di un database utente include gli utenti del database e i ruoli del database. Il backup del master include gli account di accesso.

Un backup differenziale contiene tutte le modifiche successive all'ultimo backup completo. Un backup differenziale richiede in genere meno tempo rispetto a un backup completo e può essere eseguito più di frequente. Quando più backup differenziali si basano sullo stesso backup completo, ogni backup differenziale include tutte le modifiche del backup differenziale precedente.

Ad esempio, è possibile creare un backup completo settimanale e un backup differenziale giornaliero. Per ripristinare il database utente, è necessario ripristinare il backup completo e l'ultimo backup differenziale (se presente).

Il backup differenziale è supportato solo per i database utente. Un backup del master è sempre un backup completo.

Per eseguire il backup dell'intera appliance, è necessario eseguire il backup di tutti i database utente e un backup del database master.

Processo di backup del database

Il diagramma seguente mostra il flusso di dati durante un backup del database.

PDW backup process

Il processo di backup funziona nel seguente modo:

  1. L'utente invia un'istruzione tsql di BACKUP DATABASE al nodo di controllo.

    • Il backup è un backup completo o differenziale.
  2. Per i database utente, il nodo di controllo (motore MPP) crea un piano di query distribuito per eseguire un backup parallelo del database.

  3. Ogni nodo coinvolto nel processo di backup copia il file di backup nel server di backup usando la funzionalità di backup di SQL Server.

    • Ogni nodo coinvolto copia un file di backup nel server di backup.

    • Il backup del database utente (completo o differenziale) include un backup della parte del database archiviata in ogni nodo di calcolo e un backup degli utenti e dei ruoli del database.

  4. L'appliance esegue il backup in parallelo usando la rete InfiniBand.

    • PDW esegue ogni backup completo e differenziale in parallelo. Tuttavia, non vengono eseguiti contemporaneamente più backup del database. Ogni richiesta di backup deve attendere il completamento dei backup inviati in precedenza.

    • Un backup del database master esegue solo il backup dei dati dal nodo di controllo. Questo tipo di backup viene eseguito in modo seriale.

  5. Un backup del database PDW è un gruppo di file archiviati in una directory che risiede nell'appliance. Il nome della directory viene specificato come percorso di rete e nome della directory. La directory non può essere un percorso locale e non può trovarsi nell'appliance.

  6. Al termine del backup, è possibile decidere se usare il file system di Windows per copiare la directory di backup in un altro percorso.

    • Un backup può essere ripristinato solo in un'appliance PDW con un numero di nodi di calcolo uguale o maggiore.

    • Non è possibile modificare il nome del backup prima di eseguire un ripristino. Il nome della directory di backup deve corrispondere al nome originale del backup. Il nome originale del backup si trova nel file backup.xml all'interno della directory di backup. Per ripristinare un database con un nome diverso, è possibile specificare il nuovo nome nel comando di ripristino. Ad esempio: RESTORE DATABASE MyDB1 FROM DISK = ꞌ\\10.192.10.10\backups\MyDB2ꞌ.

Modalità di ripristino del database

Un ripristino completo del database ricrea il database PDW usando i dati nel backup del database. Il ripristino del database viene eseguito prima ripristinando un backup completo e quindi, eventualmente, ripristinando un backup differenziale. Il ripristino del database include gli utenti del database e i ruoli del database.

Un ripristino della sola intestazione restituisce solo le informazioni di intestazione per un database. Non ripristina i dati nell'appliance.

Un ripristino dell'appliance è un ripristino dell'intera appliance. Ciò implica il ripristino di tutti i database utente e del database master.

Processo di ripristino

La seguente diagramma mostra il flusso dei dati durante un'operazione di ripristino del database.

Restore process

Ripristino in un'appliance con lo stesso numero di nodi di calcolo**

Al ripristino dei dati, l'appliance rileva il numero di nodi di calcolo nell'appliance di origine e nell'appliance di destinazione. Se entrambe le appliance hanno un numero uguale di nodi di calcolo, il processo di ripristino funziona nel seguente modo:

  1. Il backup del database da ripristinare è disponibile in una condivisione file di Windows in un server di backup non appliance. Per prestazioni ottimali, questo server è connesso alla rete InfiniBand dell'appliance.

  2. L'utente invia un'istruzione tsql RESTORE DATABASE al nodo di controllo.

    • Il ripristino è un ripristino completo o un ripristino dell'intestazione. Il ripristino completo ripristina un backup completo; può ripristinare facoltativamente un backup differenziale.
  3. Il nodo di controllo (motore MPP) crea un piano di query distribuito per eseguire un ripristino parallelo del database.

    • La piattaforma di strumenti analitici (PDW) esegue il ripristino di un database utente in parallelo. Tuttavia, non vengono eseguiti contemporaneamente più backup e ripristini del database. Il motore MPP inserisce ogni istruzione di ripristino in una coda; deve attendere il completamento delle richieste di backup e ripristino inviate in precedenza.

    • Un ripristino del database master ripristina solo i dati nel nodo di controllo; il ripristino viene eseguito in modo seriale.

    • Un ripristino delle informazioni dell'intestazione è un'operazione rapida e non ripristina i dati nei nodi di calcolo o di controllo. Il nodo di controllo restituisce invece i risultati come output della query.

  4. I file di backup vengono copiati nei nodi di calcolo corretti in parallelo, in genere sulla rete InfiniBand dell'appliance.

  5. Ogni nodo di calcolo ripristina la parte del database utente corrispondente. Se uno dei ripristini non viene completato correttamente, tutti i database vengono rimossi e il ripristino viene non va a buon fine.

Ripristino in un'appliance con un numero maggiore di nodi di calcolo

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, SQL Server PDW crea un database di 180 GB (6 nodi con 30 GB per nodo) nell'appliance da 6 nodi. Inizialmente SQL Server PDW 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 le dimensioni del database ripristinato sono troppo grandi, è possibile usare ALTER DATABASE per compattare le dimensioni dei file del database.

Attività di backup e ripristino Descrizione
Preparare un server come server di backup. Acquisire e configurare un server di backup
Eseguire il backup di un database. BACKUP DATABASE
Ripristinare un database. RESTORE DATABASE