Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2022 (16.x)
Den här snabbstarten hjälper dig att förstå hur du skriver säkerhetskopior till och återställer från S3-kompatibel objektlagring.
Anmärkning
SQL Server 2022 introducerade stöd för säkerhetskopiering till och återställning från S3-kompatibel objektlagring. SQL Server 2019 och tidigare versioner stöder inte den här funktionen.
Förutsättningar
För att slutföra den här snabbstarten måste du känna till begreppen för säkerhetskopiering och återställning av SQL Server och Transact-SQL syntax (T-SQL). Du behöver en S3-slutpunkt, SQL Server Management Studio (SSMS) och åtkomst till antingen en server som kör SQL Server eller Azure SQL Managed Instance. Dessutom bör det konto som används för att utfärda kommandona BACKUP och RESTORE vara i databasrollen db_backupoperator med ALTER ANY CREDENTIAL-behörigheter och ha CREATE DATABASE-behörighet att ÅTERSTÄLLA till en ny databas, eller vara medlem i antingen den fasta serverrollen sysadmin och dbcreator eller ägaren (dbo) för databasen om den återställs över en befintlig databas.
- Skapa en S3-slutpunkt.
- Installera SQL Server Management Studio.
- Installera SQL Server 2022 Developer Edition eller distribuera Azure SQL Managed Instance med anslutning som upprättas via en virtuell Azure SQL-dator eller punkt-till-plats.
- Tilldela användarkontot till rollen db_backupoperator och bevilja ALTER ANY CREDENTIAL-behörigheter .
- Tilldela användarkontot till den fasta rollen sysadmin eller dbcreator , eller gör användaren till ägare av den befintliga databasen.
Skapa en testdatabas
I det här steget skapar du en testdatabas med SQL Server Management Studio (SSMS).
Starta SQL Server Management Studio (SSMS) och anslut till din SQL Server-instans.
Öppna ett nytt frågefönster.
Kör följande T-SQL-kod för att skapa testdatabasen. Uppdatera noden Databaser i Object Explorer för att se den nya databasen. Nyligen skapade databaser på SQL Managed Instance har automatiskt TDE aktiverat så du måste inaktivera det för att fortsätta.
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
Skapa autentiseringsuppgifter
Följ dessa steg för att skapa SQL Server-autentiseringsuppgiften:
Starta SQL Server Management Studio (SSMS) och anslut till din SQL Server-instans.
Öppna ett nytt frågefönster.
Skapa autentiseringsuppgifter på servernivå. Namnet på autentiseringsuppgifterna beror på den S3-kompatibla lagringsplattformen. Till skillnad från autentiseringsuppgifter med PolyBase-databasomfattning lagras autentiseringsuppgifter för säkerhetskopiering/återställning på instansnivå. När den används med S3-kompatibel lagring måste autentiseringsuppgifterna namnges enligt URL-sökvägen.
CREATE CREDENTIAL [s3://<endpoint>:<port>/<bucket>] WITH IDENTITY = 'S3 Access Key', SECRET = '<AccessKeyID>:<SecretKeyID>'; GO
Anmärkning
Fler exempel på S3-kompatibel lagring med serverautentiseringsuppgifter finns i CREATE CREDENTIAL (Transact-SQL).
Säkerhetskopiera databas
I det här steget säkerhetskopierar du databasen SQLTestDB till din S3-kompatibla objektlagring med hjälp av T-SQL.
Säkerhetskopiera databasen med hjälp av T-SQL genom att köra följande kommando:
USE [master];
GO
BACKUP DATABASE [SQLTestDB]
TO URL = 's3://<endpoint>:<port>/<bucket>/SQLTestDB.bak'
WITH FORMAT /* overwrite any existing backup sets */
, STATS = 10
, COMPRESSION;
Ta bort databas
I det här steget tar du bort databasen innan du utför återställningen. Det här steget är bara nödvändigt för den här självstudien och kommer sannolikt inte att användas i normala procedurer för databashantering. Du kan hoppa över det här steget, men sedan måste du antingen ändra namnet på databasen under återställningen på Azure SQL Managed Instance eller köra återställningskommandot WITH REPLACE för att återställa databasen lokalt.
- Expandera noden Databaser i Objektutforskaren, högerklicka på
SQLTestDBdatabasen och välj Ta bort för att starta guiden Ta bort objekt . - På Azure SQL Managed Instance väljer du OK för att ta bort databasen. Lokalt markerar du kryssrutan bredvid Stäng befintliga anslutningar och väljer sedan OK för att ta bort databasen.
Återställa databas
I det här steget återställer du databasen med antingen GUI i SQL Server Management Studio eller med Transact-SQL.
Högerklicka på noden Databaser i Object Explorer i SQL Server Management Studio och välj Återställ databas.
Välj Enhet och välj sedan ellipserna (...) för att välja enheten.
Välj URL i listrutan Typ av säkerhetskopieringsmedia och välj Lägg till för att lägga till enheten.
Ange den virtuella värd-URL:en och klistra in det hemliga nyckel-ID:t och åtkomstnyckel-ID:t för den S3-kompatibla objektlagringen.
Välj OK för att välja platsen för säkerhetskopieringsfilen.
Välj OK för att stänga dialogrutan Välj säkerhetskopieringsenheter .
Välj OK för att återställa databasen.
Relaterat innehåll
Följande är en rekommenderad läsning för att förstå begreppen och metodtipsen när du använder S3-kompatibel objektlagring för SQL Server-säkerhetskopior.