Migrera databaser med inbyggd säkerhetskopiering och återställning

Slutförd

Att migrera med hjälp av en säkerhetskopiering och återställning anses av många SQL Server-proffs vara den enklaste migreringsmetoden.

Microsoft Azure Blob Storage stöder två typer av blobar: block- och sidblobar. För SQL Server 2016 och senare versioner föredras blockblobbar. Valet mellan block- och sidblobar beror på vilken typ av autentiseringsuppgifter som används – Signatur för delad åtkomst för blockblob och lagringsnyckel för sidblob.

Säkerhetskopiering till blockblob ger fördelar som säkrare auktorisering, bättre prestanda för säkerhetskopiering och stöd för större databassäkerhetskopior jämfört med sidblob.

Om du väljer att utföra en fullständig databassäkerhetskopia till en fil kan du överföra de lokala säkerhetskopieringsfilerna till en virtuell Azure-dator antingen via Azure Data Explorer eller kommandoradsverktyget AzCopy.

Säkerhetskopiera och återställa med Azure Blob Storage i SQL Server

Säkerhetskopiering till URL kräver ett Azure Storage-konto och använder Azure Blob Storage-tjänsten. I lagringskontot finns containrar och blobarna lagras där. Till skillnad från en sökväg på den lokala disken ser sökvägen till en säkerhetskopia ut ungefär som https://{AccountName}.blob.core.windows.net/{ContainerName}/MyDatabase.bak. Du kan lägga till extra mappnamn under containern för enklare identifiering av säkerhetskopior (till exempel FULL, DIFF, LOG).

För att säkerhetskopiera till eller återställa från en URL måste autentisering upprättas mellan SQL Server-instansen och Azure. Kom ihåg att i en virtuell Azure-dator vet INTE SQL Server att den körs på Azure.

När du skapar en SQL Server-autentiseringsuppgift har du två alternativ för autentisering: med azure-lagringskontots namn och åtkomstnyckel, som lagrar säkerhetskopian som en sidblob eller med hjälp av en signatur för delad åtkomst, som lagrar säkerhetskopian som en blockblob. För större databaser kan du säkerhetskopiera till flera blockblobar.

Dricks

Komprimerade databassäkerhetskopior rekommenderas för större databaser.

Det är lika enkelt att återställa från en URL som att återställa från en disk eller en nätverksresurs. I SQL Server Management Studio väljer du URL från medietypen säkerhetskopiering i guiden. Om du använder Transact-SQL i stället för att använda FROM DISKanvänder FROM URL du med lämplig plats och säkerhetskopierade filnamn.

Kommentar

Randiga säkerhetskopieringsuppsättningar stöds och rekommenderas för prestanda. Dessutom remsa säkerhetskopior om de är mindre än 200 GB för att undvika blockgränsen.

Kör följande instruktion för att säkerhetskopiera en transaktionslogg.

BACKUP LOG contoso 
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn' 

Kör följande instruktion för att återställa en fullständig säkerhetskopia av databasen utan att återställa den, så att en differentiell säkerhetskopia eller säkerhetskopior av transaktionsloggar kan användas.

RESTORE DATABASE contoso 
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak' 
WITH NORECOVERY