Quickstart: SQL-backup en herstel naar S3-Compatible Object Storage

van toepassing op: SQL Server 2022 (16.x)

In deze quickstart leert u hoe u back-ups schrijft naar en herstelt vanuit S3-compatibele objectopslag.

Opmerking

SQL Server 2022 heeft ondersteuning geïntroduceerd voor het maken van back-ups naar en herstellen van S3-compatibele objectopslag. SQL Server 2019 en eerdere versies bieden geen ondersteuning voor deze mogelijkheid.

Vereiste voorwaarden

Als u deze quickstart wilt voltooien, moet u bekend zijn met de concepten voor back-up en herstel van SQL Server en Transact-SQL (T-SQL). U hebt een S3-eindpunt, SQL Server Management Studio (SSMS) en toegang nodig tot een server waarop SQL Server of Azure SQL Managed Instance wordt uitgevoerd. Daarnaast moet het account dat wordt gebruikt om de opdrachten BACKUP en RESTORE uit te voeren, zich in de db_backupoperator databaserol bevinden met ALTER ANY CREDENTIAL-machtigingen, en CREATE DATABASE-machtigingen hebben om te HERSTELLEN naar een nieuwe database, of lid zijn van de vaste serverfunctie sysadmin en dbcreator , of eigenaar (dbo) van de database als deze wordt hersteld via een bestaande database.

Een testdatabase maken

In deze stap maakt u een testdatabase met behulp van SQL Server Management Studio (SSMS).

  1. Start SQL Server Management Studio (SSMS) en maak verbinding met uw SQL Server-exemplaar.

  2. open een venster Nieuwe query.

  3. Voer de volgende T-SQL-code uit om uw testdatabase te maken. Vernieuw het knooppunt Databases in Objectverkenner om de nieuwe database te zien. Zojuist gemaakte databases in SQL Managed Instance zijn automatisch TDE ingeschakeld, dus moet u deze uitschakelen om door te gaan.

    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
    

Inloggegevens aanmaken

Voer de volgende stappen uit om de SQL Server-referentie voor verificatie te maken:

  1. Start SQL Server Management Studio (SSMS) en maak verbinding met uw SQL Server-exemplaar.

  2. open een venster Nieuwe query.

  3. Maak serverniveau-referenties aan. De referentienaam hangt af van het S3-compatibele opslagplatform. In tegenstelling tot referenties binnen het bereik van de PolyBase-database worden referenties voor back-up/herstel op exemplaarniveau opgeslagen. Wanneer credentials worden gebruikt met S3-compatibele opslag, moet deze worden benoemd volgens het URL-pad.

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

Opmerking

Zie CREATE CREDENTIAL (Transact-SQL)voor meer voorbeelden van S3-compatibele opslag voor serverreferenties.

Een back-up maken van de database

Maak in deze stap een back-up van de database SQLTestDB naar de S3-compatibele objectopslag met behulp van T-SQL.

Maak een back-up van uw database met behulp van T-SQL door de volgende opdracht uit te voeren:

USE [master];
GO

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

Database verwijderen

In deze stap verwijdert u de database voordat u de herstelbewerking uitvoert. Deze stap is alleen nodig voor het doel van deze zelfstudie en wordt waarschijnlijk niet gebruikt in normale procedures voor databasebeheer. U kunt deze stap overslaan, maar u moet de naam van de database wijzigen tijdens het herstellen in Azure SQL Managed Instance of de herstelopdracht WITH REPLACE uitvoeren om de database on-premises te herstellen.

  1. Vouw het knooppunt Databases in Objectverkenner uit, klik met de rechtermuisknop op de SQLTestDB database en selecteer Verwijderen om de wizard Object verwijderen te starten.
  2. Selecteer OK in Azure SQL Managed Instance om de database te verwijderen. Schakel on-premises het selectievakje in naast Bestaande verbindingen sluiten en selecteer vervolgens OK om de database te verwijderen.

Database herstellen

In deze stap herstelt u de database met behulp van de GUI in SQL Server Management Studio of met Transact-SQL.

  1. Klik met de rechtermuisknop op het knooppunt Databases in Objectverkenner in SQL Server Management Studio en selecteer Database herstellen.

  2. Selecteer Apparaat en selecteer vervolgens het beletselteken (...) om het apparaat te kiezen.

    Schermopname van het scherm Selecteer herstelapparaat.

  3. Selecteer de URL in de Back-upmediatype dropdown en selecteer Toevoegen om uw apparaat toe te voegen.

    Schermopname van het venster Back-upapparaat toevoegen.

  4. Voer de URL van de virtuele host in en plak de geheime sleutel-id en de toegangssleutel-id voor de S3-compatibele objectopslag.

    Schermopname van het dialoogvenster Back-upbestandslocatie van S3 selecteren met de URL- en sleutelvelden ingevuld.

  5. Selecteer OK om de locatie van het back-upbestand te selecteren.

  6. Selecteer OK om het dialoogvenster Back-upapparaten selecteren te sluiten.

  7. Selecteer OK om de database te herstellen.

Hieronder vindt u informatie over de concepten en aanbevolen procedures bij het gebruik van S3-compatibele objectopslag voor SQL Server-back-ups.