Ripristinare database abilitati per Stretch (Stretch Database)

Si applica a: SQL Server 2016 (13.x) e versioni successive - Solo Windows

Importante

Stretch Database è deprecato in SQL Server 2022 (16.x) e database SQL di Azure. Questa funzionalità verrà rimossa nelle versioni future del motore di database. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Ripristinare un database di cui è stato eseguito il backup quando necessario, per il ripristino da molti tipi di errori e guasti.

Per altre informazioni sul backup, vedere Backup di database abilitati per l'estensione.

Il backup è solo una parte di una soluzione di continuità aziendale e disponibilità elevata completa. Per altre informazioni sulla disponibilità elevata, vedere Soluzioni a disponibilità elevata.

Ripristinare i dati di SQL Server

Per eseguire il ripristino da errori hardware o danneggiamenti, ripristinare il database di SQL Server abilitato per l'estensione da un backup. È possibile continuare a usare i metodi di ripristino di SQL Server già in uso. Per altre informazioni, vedere Panoramica del ripristino e del recupero.

Dopo aver ripristinato il database di SQL Server, è necessario eseguire la stored procedure sys.sp_rda_reauthorize_db per ristabilire la connessione tra il database di SQL Server abilitato per l'estensione e il database di Azure remoto. Per altre informazioni, vedere Ripristinare la connessione tra il database di SQL Server e il database di Azure remoto.

Ripristinare i dati di Azure remoti

Ripristinare un database di Azure attivo

Il servizio SQL Server Stretch Database su Azure esegue gli snapshot di tutti i dati dinamici almeno ogni 8 ore usando gli snapshot di Archiviazione di Azure. Questi snapshot vengono conservati per sette giorni. Questo consente di ripristinare i dati in uno degli almeno 21 punti temporali negli ultimi sette giorni fino all'ora di creazione dell'ultimo snapshot.

Per ripristinare un database di Azure attivo in un punto temporale precedente tramite il portale di Azure, effettuare le operazioni seguenti.

  1. Accedere al portale di Azure.
  2. Sul lato sinistro della schermata selezionare Sfoglia e quindi selezionare Database SQL.
  3. Passare al database e selezionarlo.
  4. Nella parte superiore del riquadro del database selezionare Ripristina.
  5. Specificare un nuovo Nome database, selezionare un Punto di ripristino e quindi selezionare Crea.
  6. Il processo di ripristino del database inizierà e potrà essere monitorato tramite Notifiche.

Ripristinare un database di Azure eliminato

Prima dell'eliminazione del database, il servizio SQL Server Stretch Database in Azure esegue uno snapshot del database e lo conserva per sette giorni. Dopo l'eliminazione, gli snapshot del database attivo non vengono più conservati. Ciò consente di ripristinare un database eliminato nel punto in cui è stato eliminato.

Per ripristinare un database di Azure eliminato dal punto dell'eliminazione tramite il portale di Azure, eseguire le operazioni seguenti.

  1. Accedere al portale di Azure.
  2. Sul lato sinistro della schermata selezionare Sfoglia e quindi selezionare SQL Server.
  3. Passare al server e selezionarlo.
  4. Scorrere verso il basso fino a visualizzare Operazioni nel riquadro del server, quindi fare clic sul riquadro Database eliminati.
  5. Selezionare il database eliminato che si desidera ripristinare.
  6. Specificare un nuovo Nome database e selezionare Crea.
  7. Il processo di ripristino del database inizierà e potrà essere monitorato tramite Notifiche.

Ripristinare la connessione tra il database di SQL Server e il database di Azure remoto

  1. Se si prevede di connettersi a un database di Azure ripristinato con un nome diverso o in un'area diversa, eseguire la stored procedure sys.sp_rda_deauthorize_db per disconnettersi dal database di Azure precedente.

  2. Eseguire la stored procedure sys.sp_rda_reauthorize_db per riconnettere il database locale abilitato per l'estensione al database di Azure.

    • Specificare le credenziali con ambito database esistenti come valore sysname o varchar(128). Non usare varchar(max). È possibile cercare il nome delle credenziali nella vista sys.database_scoped_credentials.

    • Specificare se creare una copia dei dati remoti e connettersi alla copia (scelta consigliata).

      USE <Stretch-enabled database name>;
      GO
      EXEC sp_rda_reauthorize_db
          @credential = N'<existing_database_scoped_credential_name>',
          @with_copy = 1;
      GO
      

Vedi anche