Condividi tramite


Avvio rapido: Backup e ripristino nell'archiviazione oggetti compatibile con S3

Si applica a: SQL Server 2022 (16.x)

Questa guida di avvio rapido contiene nozioni utili sulla scrittura di backup nel servizio di oggetti compatibile con S3 e sul ripristino dallo stesso.

Nota

SQL Server 2022 ha introdotto il supporto per il backup e il ripristino da un archivio oggetti compatibile con S3. SQL Server 2019 e versioni precedenti non supportano questa funzionalità.

Prerequisiti

Per completare questa guida di avvio rapido è necessario conoscere i concetti di backup e ripristino di SQL Server e la sintassi di Transact-SQL (T-SQL). Sono necessari un endpoint S3, SQL Server Management Studio (SSMS) e l'accesso a un server che esegue SQL Server o Istanza gestita di SQL di Azure. Inoltre, l'account usato per eseguire i comandi BACKUP e RESTORE deve trovarsi nel ruolo del database db_backupoperator con autorizzazioni ALTER ANY CREDENTIAL e disporre delle autorizzazioni CREATE DATABA edizione Standard per RESTORE in un nuovo database oppure essere membro del ruolo predefinito del server sysadmin e dbcreator oppure del proprietario (dbo) del database se si esegue il ripristino su un database esistente.

Creare un database di test

In questo passaggio viene creato un database di test tramite SQL Server Management Studio (SSMS).

  1. Avviare SQL Server Management Studio (SSMS) e connettersi all'istanza di SQL Server.

  2. Aprire una finestra Nuova query.

  3. Eseguire il codice Transact-SQL (T-SQL) seguente per creare il database di test. Aggiornare il nodo Database in Esplora oggetti per vedere il nuovo database. Per i nuovi database creati in Istanza gestita di SQL la funzionalità Transparent Data Encryption viene abilitata automaticamente ed è quindi necessario disabilitarla per continuare.

    USE [master];
    GO
    
    -- Create database
    CREATE DATABASE [SQLTestDB];
    GO
    
    -- Create table in database
    USE [SQLTestDB];
    GO
    CREATE TABLE SQLTest (
        ID INT NOT NULL PRIMARY KEY,
        c1 VARCHAR(100) NOT NULL,
        dt1 DATETIME NOT NULL DEFAULT GETDATE()
    );
    GO
    
    -- Populate table 
    USE [SQLTestDB];
    GO
    
    INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1');
    INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2');
    INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3');
    INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4');
    INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5');
    GO
    
    SELECT * FROM SQLTest;
    GO
    
    -- Disable TDE for newly-created databases on SQL Managed Instance 
    USE [SQLTestDB];
    GO
    ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
    GO
    DROP DATABASE ENCRYPTION KEY;
    GO
    

Creare le credenziali

Per creare credenziali di SQL Server per l'autenticazione, seguire questa procedura:

  1. Avviare SQL Server Management Studio (SSMS) e connettersi all'istanza di SQL Server.

  2. Aprire una finestra Nuova query.

  3. Creare una credenziale a livello di server Il nome della credenziale dipende dalla piattaforma di archiviazione compatibile con S3. A differenza delle credenziali con ambito database PolyBase, le credenziali di backup/ripristino vengono archiviate a livello di istanza. Se usato con l'archiviazione compatibile con S3, le credenziali devono essere denominate in base al percorso URL.

    CREATE CREDENTIAL [s3://<endpoint>:<port>/<bucket>]
    WITH
            IDENTITY    = 'S3 Access Key',
            SECRET      = '<AccessKeyID>:<SecretKeyID>';
    GO
    

Nota

Per altri esempi di archiviazione compatibile con S3 con le credenziali del server, vedere CREATE CREDENTIAL (Transact-SQL).

Eseguire il backup del database

In questo passaggio eseguire il backup del database SQLTestDB nell'archivio oggetti compatibile con S3 usando T-SQL.

Eseguire il backup del database tramite T-SQL con il comando seguente:

USE [master];
GO

BACKUP DATABASE [SQLTestDB]
TO      URL = 's3://<endpoint>:<port>/<bucket>/SQLTestDB.bak'
WITH    FORMAT /* overwrite any existing backup sets */
,       STATS = 10
,       COMPRESSION;

Elimina database

In questo passaggio si eliminerà il database prima di eseguire il ripristino. Questo passaggio è necessario solo per gli scopi di questa esercitazione, ma è improbabile che venga usato nelle normali procedure di gestione del database. È possibile ignorare questo passaggio, ma in questo caso è necessario modificare il nome del database durante il ripristino in un'istanza gestita di SQL di Azure oppure eseguire il comando di ripristino WITH REPLACE per ripristinare correttamente il database in locale.

  1. Espandere il nodo Database in Esplora oggetti, fare clic con il pulsante destro del mouse sul database SQLTestDB e selezionare Elimina per avviare la procedura guidata Elimina oggetto.
  2. In un'istanza gestita di SQL di Azure selezionare OK per eliminare il database. In locale selezionare la casella di controllo accanto a Chiudi connessioni esistenti e quindi selezionare OK per eliminare il database.

RESTORE DATABASE

In questo passaggio si ripristinerà il database usando l'interfaccia utente grafica in SQL Server Management Studio o tramite Transact-SQL.

  1. Fare clic con il pulsante destro del mouse sul nodo Database in Esplora oggetti all'interno di SQL Server Management Studio e selezionare Ripristina database.

  2. Selezionare Dispositivo e quindi i puntini di sospensione (...) per scegliere il dispositivo.

    Screenshot che mostra la schermata Seleziona dispositivo di ripristino.

  3. Selezionare l'URL nell'elenco a discesa Tipo di supporti di backup e selezionare Aggiungi per aggiungere il dispositivo.

    Screenshot che mostra la schermata Aggiungi dispositivo di backup.

  4. Immettere l'URL dell'host virtuale, l'ID chiave privata e l'ID chiave di accesso per l'archiviazione oggetti compatibile con S3.

    Screenshot della finestra di dialogo Seleziona percorso file di backup S3 con i campi URL e chiave popolati.

  5. Selezionare OK per selezionare il percorso del file di backup.

  6. Selezionare OK per chiudere la finestra di dialogo Seleziona dispositivi di backup.

  7. Selezionare OK per ripristinare il database.

Di seguito sono indicate alcune letture suggerite per comprendere i concetti e le procedure consigliate quando si usa il servizio di archiviazione di oggetti compatibile con S3 per i backup di SQL Server.