Dela via


BACKUP (Transact-SQL)

Säkerhetskopierar en SQL-databas.

Välj en produkt

På följande rad väljer du det produktnamn som du är intresserad av och endast den produktinformationen visas.

Mer information om syntaxkonventionerna finns i Transact-SQL syntaxkonventioner.

* SQL Server *  

 

SQL Server

Säkerhetskopierar en fullständig SQL Server-databas för att skapa en databassäkerhetskopia, eller en eller flera filer eller filgrupper av databasen för att skapa en säkerhetskopia av en fil (BACKUP DATABASE). Under den fullständiga återställningsmodellen eller den massloggade återställningsmodellen säkerhetskopierar du även transaktionsloggen för databasen för att skapa en loggsäkerhetskopia (BACKUP LOG).

Syntax

--Back up a whole database
BACKUP DATABASE { database_name | @database_name_var }
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL
           | <general_WITH_options> [ ,...n ] } ]
[;]

--Back up specific files or filegroups
BACKUP DATABASE { database_name | @database_name_var }
 <file_or_filegroup> [ ,...n ]
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

--Create a partial backup
BACKUP DATABASE { database_name | @database_name_var }
 READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

--Back up the transaction log (full and bulk-logged recovery models)
BACKUP LOG
  { database_name | @database_name_var }
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { <general_WITH_options> | <log_specific_options> } [ ,...n ] ]
[;]

--Back up all the databases on an instance of SQL Server (a server)

ALTER SERVER CONFIGURATION
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
[;]

BACKUP SERVER
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { METADATA_ONLY
           | <general_WITH_options> [ ,...n ] } ]
[;]

--Back up a group of databases
ALTER DATABASE <database>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON

ALTER DATABASE <...>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
...

BACKUP GROUP {<database> [,... ]}
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { METADATA_ONLY
           | <general_WITH_options> [ ,...n ] } ]
[;]

<backup_device>::=
 {
  { logical_device_name | @logical_device_name_var }
 | {   DISK
     | TAPE
     | URL } =
     { 'physical_device_name' | @physical_device_name_var | 'NUL' }
 }

<MIRROR TO clause>::=
 MIRROR TO <backup_device> [ ,...n ]

<file_or_filegroup>::=
 {
   FILE = { logical_file_name | @logical_file_name_var }
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 }

<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

<general_WITH_options> [ ,...n ]::=
--Backup Set Options
   COPY_ONLY
 | [ COMPRESSION [ ALGORITHM = { MS_XPRESS | accelerator_algorithm } ] | NO_COMPRESSION ]
 | DESCRIPTION = { 'text' | @text_variable }
 | NAME = { backup_set_name | @backup_set_name_var }
 | CREDENTIAL
 | ENCRYPTION
 | FILE_SNAPSHOT
 | { EXPIREDATE = { 'date' | @date_var }
        | RETAINDAYS = { days | @days_var } }
 | { METADATA_ONLY | SNAPSHOT }

--Media Set Options
   { NOINIT | INIT }
 | { NOSKIP | SKIP }
 | { NOFORMAT | FORMAT }
 | MEDIADESCRIPTION = { 'text' | @text_variable }
 | MEDIANAME = { media_name | @media_name_variable }
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
   RESTART

--Monitoring Options
   STATS [ = percentage ]

--Tape Options
   { REWIND | NOREWIND }
 | { UNLOAD | NOUNLOAD }

--Encryption Options
 ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
   SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name

<log_specific_options> [ ,...n ]::=
--Log-specific Options
   { NORECOVERY | STANDBY = undo_file_name }
 | NO_TRUNCATE

Argument

DATABAS

Anger en fullständig säkerhetskopia av databasen. Om en lista över filer och filgrupper anges säkerhetskopieras endast dessa filer och filgrupper. Under en fullständig eller differentiell databassäkerhetskopia säkerhetskopierar SQL Server tillräckligt mycket av transaktionsloggen för att skapa en konsekvent databas när säkerhetskopian återställs.

När du återställer en säkerhetskopia som skapats av BACKUP DATABASE (en ) återställs hela säkerhetskopian. Endast en loggsäkerhetskopia kan återställas till en viss tid eller transaktion i säkerhetskopian.

Not

Endast en fullständig databassäkerhetskopia kan utföras på den master databasen.

LOGG

Anger endast en säkerhetskopia av transaktionsloggen. Loggen säkerhetskopieras från den senast utförda loggsäkerhetskopian till den aktuella änden av loggen. Innan du kan skapa den första loggsäkerhetskopian måste du skapa en fullständig säkerhetskopia.

Du kan återställa en loggsäkerhetskopia till en viss tid eller transaktion i säkerhetskopian genom att ange WITH STOPAT, STOPATMARKeller STOPBEFOREMARK i instruktionen RESTORE LOG.

Not

Efter en vanlig loggsäkerhetskopia blir vissa transaktionsloggposter inaktiva, såvida du inte anger WITH NO_TRUNCATE eller COPY_ONLY. Loggen trunkeras när alla poster i en eller flera virtuella loggfiler blir inaktiva. Om loggen inte trunkeras efter rutinmässiga loggsäkerhetskopior kan något fördröja loggtrunkeringen. Mer information finns i Faktorer som kan fördröja loggtrunkering.

GROUP (<databas>,... n)

Introducerades i SQL Server 2022 (16.x).

Säkerhetskopiera en grupp databaser. Använder säkerhetskopiering av ögonblicksbilder. Kräver MED METADATA_ONLY. Se Skapa en Transact-SQL ögonblicksbildssäkerhetskopia.

SERVER

Introducerades i SQL Server 2022 (16.x).

Säkerhetskopiera alla databaser på en instans av SQL Server. Använder säkerhetskopiering av ögonblicksbilder. Kräver MED METADATA_ONLY. Se Skapa en Transact-SQL ögonblicksbildssäkerhetskopia.

METADATA_ONLY

Introducerades i SQL Server 2022 (16.x).

Krävs för säkerhetskopiering av ögonblicksbilder. BACKUP SERVEReller BACKUP GROUP... Se Skapa en Transact-SQL säkerhetskopiering av ögonblicksbilder.

METADATA_ONLY är synonymt med SNAPSHOT. VDI (Virtual Device Interface) använder SNAPSHOT. Information om VDI finns i VDI-referens (Virtual Device Interface).

{ database_name | @database_name_var }

Säkerhetskopieras den databas från vilken transaktionsloggen, partiell databas eller fullständig databas säkerhetskopieras. Om det anges som en variabel (@database_name_var) kan det här namnet anges antingen som en strängkonstant (@database_name_var=databasnamn) eller som en variabel av teckensträngsdatatypen, förutom ntext eller text datatyper.

Not

Speglingsdatabasen i en databasspeglingskoppling kan inte säkerhetskopieras.

<file_or_filegroup> [ ,...n ]

Används endast med BACKUP DATABASE, anger en databasfil eller filgrupp som ska ingå i en filsäkerhetskopia eller anger en skrivskyddad fil eller filgrupp som ska ingå i en partiell säkerhetskopia.

FILE = { logical_file_name | @logical_file_name_var }

Är det logiska namnet på en fil eller en variabel vars värde motsvarar det logiska namnet på en fil som ska ingå i säkerhetskopian.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Är det logiska namnet på en filgrupp eller en variabel vars värde motsvarar det logiska namnet på en filgrupp som ska ingå i säkerhetskopian. Under den enkla återställningsmodellen tillåts en filgruppssäkerhetskopiering endast för en skrivskyddad filgrupp.

Not

Överväg att använda filsäkerhetskopior när databasstorleken och prestandakraven gör en databassäkerhetskopia opraktisk. NUL-enheten kan användas för att testa prestanda för säkerhetskopior, men bör inte användas i produktionsmiljöer.

n
Är en platshållare som anger att flera filer och filgrupper kan anges i en kommaavgränsad lista. Talet är obegränsat.

Mer information finns i fullständiga filsäkerhetskopior och säkerhetskopiera filer och filgrupper.

READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ ,...n ] ] ]

Anger en partiell säkerhetskopia. En partiell säkerhetskopia innehåller alla skrivskyddade filer i en databas: den primära filgruppen och eventuella sekundära filgrupper för läsning/skrivning, samt alla angivna skrivskyddade filer eller filgrupper.

READ_WRITE_FILEGROUPS

Anger att alla skriv-/skrivfilgrupper ska säkerhetskopieras i den partiella säkerhetskopieringen. Om databasen är skrivskyddad innehåller READ_WRITE_FILEGROUPS endast den primära filgruppen.

Viktig

En explicit lista över filgrupper för läsning/skrivning med hjälp av FILEGROUP i stället för READ_WRITE_FILEGROUPS skapar en filsäkerhetskopia.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Är det logiska namnet på en skrivskyddad filgrupp eller en variabel vars värde motsvarar det logiska namnet på en skrivskyddad filgrupp som ska ingå i den partiella säkerhetskopieringen. Mer information finns i "<file_or_filegroup>", tidigare i den här artikeln.

n
Är en platshållare som anger att flera skrivskyddade filgrupper kan anges i en kommaavgränsad lista.

Mer information om partiella säkerhetskopieringar finns i partiella säkerhetskopieringar.

TILL <backup_device> [ ,...n ]

Anger att den medföljande uppsättningen säkerhetskopieringsenheter antingen är en oöverskådlig medieuppsättning eller den första av speglarna i en speglad medieuppsättning (för vilken en eller flera MIRROR TO-satser deklareras).

<backup_device>
Anger en logisk eller fysisk säkerhetskopieringsenhet som ska användas för säkerhetskopieringsåtgärden.

{ logical_device_name | @logical_device_name_var }

gäller för: SQL Server
Är det logiska namnet på den säkerhetskopieringsenhet som databasen säkerhetskopieras till. Det logiska namnet måste följa reglerna för identifierare. Om det anges som en variabel (@logical_device_name_var) kan namnet på säkerhetskopieringsenheten anges antingen som en strängkonstant (@logical_device_name_var= namn på logisk säkerhetskopieringsenhet) eller som en variabel för alla teckensträngsdatatyper förutom ntext eller text datatyper.

{ DISK | BAND | URL} = { 'physical_device_name' | @physical_device_name_var | 'NUL' }

gäller för: SQL Server (URL som börjar med SQL Server 2012 (11.x) SP1 CU2)

Anger en diskfil eller bandenhet eller en URL.

URL-formatet används för att skapa säkerhetskopior till Microsoft Azure Blob Storage eller S3-kompatibel objektlagring. Mer information och exempel finns i:

Not

NUL-diskenheten tar bort all information som skickas till den och bör endast användas för testning. Detta är inte för produktionsanvändning.

Viktig

Från och med SQL Server 2012 (11.x) SP1 CU2 via SQL Server 2014 (12.x) kan du bara säkerhetskopiera till en enda enhet när du säkerhetskopierar till URL för Azure Blob Storage. För att kunna säkerhetskopiera till flera enheter när du säkerhetskopierar till URL måste du använda SQL Server 2016 (13.x) och senare och du måste använda SAS-token (Signatur för delad åtkomst). Exempel på hur du skapar en signatur för delad åtkomst finns i SQL Server Backup to URL and Simplifiing creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell.

En diskenhet behöver inte finnas innan den anges i en BACKUP-instruktion. Om den fysiska enheten finns och INIT-alternativet inte anges i BACKUP-instruktionen läggs säkerhetskopieringen till på enheten.

Not

NUL-enheten tar bort alla indata som skickas till den här filen, men säkerhetskopieringen markerar fortfarande alla sidor som säkerhetskopierade.

Mer information finns i Säkerhetskopieringsenheter.

Not

Alternativet BAND tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

n
Är en platshållare som anger att upp till 64 säkerhetskopieringsenheter kan anges i en kommaavgränsad lista.

SPEGEL TILL <backup_device> [ ,...n ]

Anger en uppsättning med upp till tre sekundära säkerhetskopieringsenheter, som var och en speglar de säkerhetskopieringsenheter som anges i TO-satsen. MIRROR TO-satsen måste ange samma typ och antal säkerhetskopieringsenheter som TO-satsen. Det maximala antalet MIRROR TO-satser är tre.

Det här alternativet är endast tillgängligt i Enterprise-utgåvan av SQL Server.

Not

För MIRROR TO = DISKavgör BACKUP automatiskt lämplig blockstorlek för diskenheter baserat på diskens sektorstorlek. Om MIRROR TO-disken är formaterad med en annan sektorstorlek än den disk som angetts som den primära säkerhetskopieringsenheten misslyckas säkerhetskopieringskommandot. För att spegla säkerhetskopior till enheter som har olika sektorstorlekar måste parametern BLOCKSIZE anges och anges till den högsta sektorstorleken bland alla målenheter. Mer information om blockstorlek finns i "BLOCKSIZE" senare i det här avsnittet.

<backup_device>
Se "<backup_device>", tidigare i det här avsnittet.

n
Är en platshållare som anger att upp till 64 säkerhetskopieringsenheter kan anges i en kommaavgränsad lista. Antalet enheter i MIRROR TO-satsen måste vara lika med antalet enheter i TO-satsen.

Mer information finns i "Mediefamiljer i speglade medieuppsättningar" i avsnittet Kommentarer senare i den här artikeln.

[ nästa spegling till ]
Är en platshållare som anger att en enskild BACKUP-instruktion kan innehålla upp till tre MIRROR TO-satser, utöver den enda TO-satsen.

MED-alternativ

Anger alternativ som ska användas med en säkerhetskopieringsåtgärd.

REFERENS

gäller för: SQL Server (från och medSQL Server 2012 (11.x) SP1 CU2).

Används endast när du skapar en säkerhetskopia till Azure Blob Storage.

FILE_SNAPSHOT

gäller för: SQL Server (från och med SQL Server 2016 (13.x)).

Används för att skapa en Azure-ögonblicksbild av databasfilerna när alla SQL Server-databasfiler lagras med hjälp av Azure Blob Storage. Mer information finns i SQL Server Data Files i Microsoft Azure. SQL Server Snapshot Backup tar Azure-ögonblicksbilder av databasfilerna (data och loggfiler) i ett konsekvent tillstånd. En konsekvent uppsättning Azure-ögonblicksbilder utgör en säkerhetskopia och registreras i säkerhetskopieringsfilen. Den enda skillnaden mellan BACKUP DATABASE TO URL WITH FILE_SNAPSHOT och BACKUP LOG TO URL WITH FILE_SNAPSHOT är att den senare också trunkerar transaktionsloggen medan den förra inte gör det. Med SQL Server Snapshot Backup, efter den första fullständiga säkerhetskopian som krävs av SQL Server för att upprätta säkerhetskopieringskedjan, krävs endast en enda säkerhetskopiering av transaktionsloggen för att återställa en databas till tidpunkten för säkerhetskopieringen av transaktionsloggen. Dessutom krävs endast två säkerhetskopior av transaktionsloggar för att återställa en databas till en tidpunkt mellan tiden för de två säkerhetskopiorna i transaktionsloggen.

DIFFERENTIAL

Används endast med BACKUP DATABASE, anger att databasen eller filsäkerhetskopian endast ska bestå av de delar av databasen eller filen som ändrats sedan den senaste fullständiga säkerhetskopieringen. En differentiell säkerhetskopiering tar vanligtvis mindre utrymme än en fullständig säkerhetskopia. Använd det här alternativet så att alla enskilda loggsäkerhetskopior som utförts sedan den senaste fullständiga säkerhetskopieringen inte behöver tillämpas.

Not

Som standard skapar BACKUP DATABASE en fullständig säkerhetskopia.

Mer information finns i Differentiella säkerhetskopieringar.

KRYPTERING

Används för att ange kryptering för en säkerhetskopia. Du kan ange en krypteringsalgoritm för att kryptera säkerhetskopian med eller ange NO_ENCRYPTION att säkerhetskopian inte ska vara krypterad. Kryptering rekommenderas för att skydda säkerhetskopieringsfiler. Listan över algoritmer som du kan ange är:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

Om du väljer att kryptera måste du också ange krypteringen med hjälp av krypteringsalternativen:

  • SERVER CERTIFICATE = Encryptor_Name
  • SERVER ASYMMETRIC KEY = Encryptor_Name

SERVER CERTIFICATE och SERVER ASYMMETRIC KEY är ett certifikat och en asymmetrisk nyckel som skapats i master databas. Mer information finns i CREATE CERTIFICATE respektive CREATE ASYMMETRIC KEY.

Varning

När kryptering används tillsammans med argumentet FILE_SNAPSHOT krypteras själva metadatafilen med hjälp av den angivna krypteringsalgoritmen och systemet verifierar att transparent datakryptering (TDE) slutfördes för databasen. Ingen ytterligare kryptering sker för själva data. Säkerhetskopieringen misslyckas om databasen inte har krypterats eller om krypteringen inte slutfördes innan säkerhetskopieringssatsen utfärdades.

Alternativ för säkerhetskopieringsuppsättning

De här alternativen fungerar på den säkerhetskopieringsuppsättning som skapas av den här säkerhetskopieringsåtgärden.

Not

Om du vill ange en säkerhetskopieringsuppsättning för en återställningsåtgärd använder du alternativet FILE = <backup_set_file_number>. Mer information om hur du anger en säkerhetskopieringsuppsättning finns i "Ange en säkerhetskopieringsuppsättning" i RESTORE-argument.

COPY_ONLY

Anger att säkerhetskopieringen är en säkerhetskopiering med endast kopiering, vilket inte påverkar den normala sekvensen av säkerhetskopior. En kopieringssäkerhetskopia skapas oberoende av dina regelbundet schemalagda, konventionella säkerhetskopior. En säkerhetskopiering med endast kopiering påverkar inte de övergripande säkerhetskopierings- och återställningsprocedurerna för databasen.

Säkerhetskopior med endast kopiering ska användas i situationer där en säkerhetskopia görs för ett särskilt ändamål, till exempel säkerhetskopiering av loggen före en onlinefilåterställning. Vanligtvis används en säkerhetskopia av endast kopieringsloggar en gång och tas sedan bort.

  • När det används med BACKUP DATABASEskapar alternativet COPY_ONLY en fullständig säkerhetskopia som inte kan fungera som en differentiell bas. Den differentiella bitmappen uppdateras inte och differentiella säkerhetskopior fungerar som om säkerhetskopieringen med endast kopiering inte finns. Efterföljande differentiella säkerhetskopior använder den senaste konventionella fullständiga säkerhetskopieringen som bas.

    Viktig

    Om DIFFERENTIAL och COPY_ONLY används tillsammans ignoreras COPY_ONLY och en differentiell säkerhetskopiering skapas.

  • När det används med BACKUP LOGskapar alternativet COPY_ONLY en säkerhetskopiering med endast kopieringsloggar, som inte trunkerar transaktionsloggen. Säkerhetskopieringen av endast kopieringsloggen har ingen effekt på loggkedjan, och andra loggsäkerhetskopior fungerar som om säkerhetskopieringen med endast kopiering inte finns.

Mer information finns i Copy-Only Säkerhetskopieringar.

[ COMPRESSION [ ALGORITHM = ( { MS_XPRESS | accelerator_algorithm } ) ] | NO_COMPRESSION ]

Anger om säkerhetskopieringskomprimering utförs på den här säkerhetskopieringen, vilket åsidosätter standardvärdet på servernivå.

Vid installationen är standardbeteendet ingen säkerhetskopieringskomprimering. Men den här standardinställningen kan ändras genom att ange standardalternativet säkerhetskopieringskomprimering serverkonfiguration. Information om hur du visar det aktuella värdet för det här alternativet finns i Visa eller Ändra serveregenskaper.

Information om hur du använder säkerhetskopieringskomprimering med transparent datakryptering (TDE) aktiverade databaser finns i avsnittet Anmärkningar.

KOMPRIMERING
Aktiverar uttryckligen säkerhetskopieringskomprimering.

NO_COMPRESSION
Inaktiverar uttryckligen säkerhetskopieringskomprimering.

SQL Server 2022 (16.x) introducerar ALGORITHM, som identifierar en komprimeringsalgoritm för åtgärden. Standardvärdet är MS_XPRESS. Om du har konfigurerat integrerad acceleration och avlastningkan du använda en accelerator som tillhandahålls av lösningen. Om du till exempel har konfigurerat Intel® QuickAssist Technology (QAT) för SQL Serverslutför följande exempel säkerhetskopieringen med acceleratorlösningen, med QATzip-biblioteket med QZ_DEFLATE med komprimeringsnivå 1.

BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE) 

DESCRIPTION = { 'text' | @text_variable }

Anger den friformstext som beskriver säkerhetskopieringsuppsättningen. Strängen kan innehålla högst 255 tecken.

NAME = { backup_set_name | @backup_set_var }

Anger namnet på säkerhetskopieringsuppsättningen. Namn kan innehålla högst 128 tecken. Om NAMN inte har angetts är det tomt.

{ EXPIREDATE ='datum| RETAINDAYS = dagar }

Anger när säkerhetskopieringsuppsättningen för den här säkerhetskopian kan skrivas över. Om båda dessa alternativ används har RETAINDAYS företräde framför EXPIREDATE.

Om inget av alternativen anges bestäms förfallodatumet av konfigurationsinställningen media retention. Mer information finns i serverkonfigurationsalternativ.

Viktig

De här alternativen hindrar endast SQL Server från att skriva över en fil. Band kan raderas med andra metoder och diskfiler kan tas bort via operativsystemet. Mer information om förfalloverifiering finns i SKIP och FORMAT i det här avsnittet.

EXPIREDATE = { datum | @date_var }
Anger när säkerhetskopieringsuppsättningen upphör att gälla och kan skrivas över. Om det anges som en variabel (@date_var) måste det här datumet följa det konfigurerade systemet datetime- format och anges som något av följande:

  • En strängkonstant (@date_var= datum)
  • En variabel av datatypen teckensträng (förutom ntext eller text datatyper)
  • En smalldatetime-
  • En datetime- variabel

Till exempel:

  • 'Dec 31, 2020 11:59 PM'
  • '1/1/2021'

Information om hur du anger datetime- värden finns i datum- och tidstyper.

Not

Om du vill ignorera förfallodatumet använder du alternativet SKIP.

RETAINDAYS = { dagar | @days_var }
Anger det antal dagar som måste förflutit innan den här medieuppsättningen för säkerhetskopiering kan skrivas över. Om den anges som en variabel (@days_var) måste den anges som ett heltal.

{ METADATA_ONLY | ÖGONBLICKSBILD }

gäller för: SQL Server 2022 (16.x)

METADATA_ONLY och SNAPSHOT är synonymer.

Alternativ för medieuppsättning

De här alternativen fungerar på medieuppsättningen som helhet.

{ NOINIT | INIT }

Styr om säkerhetskopieringsåtgärden lägger till eller skriver över befintliga säkerhetskopieringsuppsättningar på säkerhetskopieringsmediet. Standardvärdet är att lägga till den senaste säkerhetskopieringsuppsättningen på mediet (NOINIT).

Not

Information om interaktionerna mellan { NOINIT | INIT } och { NOSKIP | SKIP }, se Kommentarer senare i det här avsnittet.

NOINIT
Anger att säkerhetskopieringsuppsättningen läggs till i den angivna medieuppsättningen, vilket bevarar befintliga säkerhetskopieringsuppsättningar. Om ett medielösenord har definierats för medieuppsättningen måste lösenordet anges. NOINIT är standardvärdet.

Mer information finns i Media Sets, Media Families och Backup Sets.

INIT
Anger att alla säkerhetskopieringsuppsättningar ska skrivas över, men bevarar medierubriken. Om INIT anges skrivs alla befintliga säkerhetskopior som har angetts på enheten över, om villkoren tillåter det. Som standard söker BACKUP efter följande villkor och skriver inte över säkerhetskopieringsmediet om något av villkoren finns:

  • Alla säkerhetskopieringsuppsättningar har ännu inte upphört att gälla. Mer information finns i alternativen EXPIREDATE och RETAINDAYS.
  • Namnet på säkerhetskopieringsuppsättningen som anges i BACKUP-instruktionen matchar, om det anges, inte namnet på säkerhetskopieringsmediet. Mer information finns i alternativet NAMN tidigare i det här avsnittet.

Om du vill åsidosätta dessa kontroller använder du alternativet SKIP.

Mer information finns i Media Sets, Media Families och Backup Sets.

{ NOSKIP | HOPPA ÖVER }

Styr om en säkerhetskopieringsåtgärd kontrollerar förfallodatum och tid för säkerhetskopieringsuppsättningarna på mediet innan de skrivs över.

Not

Information om interaktionerna mellan { NOINIT | INIT } och { NOSKIP | SKIP }, se "Kommentarer" senare i det här avsnittet.

NOSKIP
Instruerar BACKUP-instruktionen att kontrollera förfallodatumet för alla säkerhetskopieringsuppsättningar på mediet innan de kan skrivas över. Det här är standardbeteendet.

SKIPPA
Inaktiverar kontrollen av förfallodatum för säkerhetskopieringsuppsättningen och namnet som vanligtvis utförs av BACKUP-instruktionen för att förhindra överskrivning av säkerhetskopieringsuppsättningar. Information om interaktionerna mellan { INIT | NOINIT } och { NOSKIP | SKIP }, se "Kommentarer" senare i den här artikeln. Om du vill visa förfallodatum för säkerhetskopieringsuppsättningar frågar du kolumnen expiration_date i -säkerhetskopieringsuppsättningen historiktabell.

{ NOFORMAT | FORMAT }

Anger om medierubriken ska skrivas på de volymer som används för den här säkerhetskopieringsåtgärden och skriva över alla befintliga mediehuvuden och säkerhetskopieringsuppsättningar.

NOFORMAT
Anger att säkerhetskopieringsåtgärden bevarar befintliga mediehuvud- och säkerhetskopieringsuppsättningar på de medievolymer som används för den här säkerhetskopieringsåtgärden. Det här är standardbeteendet.

FORMAT
Anger att en ny medieuppsättning ska skapas. FORMAT gör att säkerhetskopieringsåtgärden skriver ett nytt mediehuvud på alla medievolymer som används för säkerhetskopieringen. Det befintliga innehållet i volymen blir ogiltigt eftersom alla befintliga mediahuvud- och säkerhetskopieringsuppsättningar skrivs över.

Viktig

Använd FORMAT noggrant. Om du formaterar en volym i en medieuppsättning blir hela medieuppsättningen oanvändbar. Om du till exempel initierar ett enda band som tillhör en befintlig randig medieuppsättning blir hela medieuppsättningen oanvändbar.

Att ange FORMAT innebär SKIP; SKIP behöver inte uttryckligen anges.

MEDIADESCRIPTION = { text | @text_variable }

Anger textbeskrivningen i fritt format, högst 255 tecken, för medieuppsättningen.

MEDIANAME = { media_name | @media_name_variable }

Anger medienamnet för hela uppsättningen säkerhetskopieringsmedia. Medienamnet får inte vara längre än 128 tecken. Om MEDIANAME anges måste det matcha det tidigare angivna medienamnet som redan finns på säkerhetskopieringsvolymerna. Om det inte har angetts, eller om alternativet SKIP har angetts, finns det ingen verifieringskontroll av medienamnet.

BLOCKSIZE = { blockerar | @blocksize_variable }

Anger den fysiska blockstorleken i byte. De storlekar som stöds är 512, 1024, 2048, 4096, 8192, 16384, 32768 och 65536 (64 KB) byte. Standardvärdet är 65536 för bandenheter och 512 annars. Vanligtvis är det här alternativet onödigt eftersom BACKUP automatiskt väljer en blockstorlek som är lämplig för enheten. Om du uttryckligen anger en blockstorlek åsidosätts det automatiska valet av blockstorlek.

Om du tar en säkerhetskopia som du planerar att kopiera till och återställa från en CD-ROM anger du BLOCKSIZE=2048.

Not

Det här alternativet påverkar vanligtvis bara prestanda när du skriver till bandenheter.

Alternativ för dataöverföring

BUFFERCOUNT = { buffercount | @buffercount_variable }

Anger det totala antalet I/O-buffertar som ska användas för säkerhetskopieringsåtgärden. Du kan ange ett positivt heltal. Ett stort antal buffertar kan dock orsaka "slut på minne" på grund av otillräckligt virtuellt adressutrymme i Sqlservr.exe processen.

Det totala utrymmet som används av buffertarna bestäms av: BUFFERCOUNT * MAXTRANSFERSIZE.

Not

Viktig information om hur du använder alternativet BUFFERCOUNT finns i alternativet felaktig BufferCount-dataöverföring kan leda till OOM-villkor blogg.

MAXTRANSFERSIZE = { maxtransfersize | @ maxtransfersize_variable }

Anger den största överföringsenheten i byte som ska användas mellan SQL Server och säkerhetskopieringsmediet. Möjliga värden är multiplar på 65536 byte (64 KB) som sträcker sig upp till 4194304 byte (4 MB). I ett specifikt fall av säkerhetskopiering till URL till S3-kompatibel objektlagring är MAXTRANSFERSIZE 10 MB. Mer information finns i Kommentarer.

Om databasen har konfigurerat FILESTREAM-eller innehåller minnesoptimerade filgruppernär du skapar säkerhetskopior med hjälp av SQL Writer Service, bör MAXTRANSFERSIZE vid tidpunkten för en återställning vara större än eller lika med den MAXTRANSFERSIZE som användes när säkerhetskopian skapades.

För transparent datakryptering (TDE) aktiverade databaser med en enda datafil är standard MAXTRANSFERSIZE 65536 (64 KB). För icke-TDE-krypterade databaser är standard MAXTRANSFERSIZE 1048576 (1 MB) när du använder säkerhetskopiering till DISK och 65536 (64 KB) när du använder VDI eller BAND. Mer information om hur du använder säkerhetskopieringskomprimering med TDE-krypterade databaser finns i avsnittet Kommentarer.

Alternativ för felhantering

Med de här alternativen kan du avgöra om kontrollsummor för säkerhetskopiering är aktiverade för säkerhetskopieringsåtgärden och om åtgärden slutar att stöta på ett fel.

{ NO_CHECKSUM | CHECKSUM }

Styr om kontrollsummor för säkerhetskopiering är aktiverade.

NO_CHECKSUM
Inaktiverar explicit genereringen av kontrollsummor för säkerhetskopiering (och verifiering av sidkontrollsummor). Det här är standardbeteendet.

KONTROLLSUMMA
Anger att säkerhetskopieringsåtgärden verifierar varje sida för kontrollsumma och sönderriven sida, om den är aktiverad och tillgänglig, och genererar en kontrollsumma för hela säkerhetskopian.

Användning av kontrollsummor för säkerhetskopiering kan påverka dataflödet för arbetsbelastning och säkerhetskopiering.

Mer information finns i möjliga mediefel under säkerhetskopiering och återställning.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Styr om en säkerhetskopieringsåtgärd stoppas eller fortsätter när ett sidkontrollsummafel har uppstått.

STOP_ON_ERROR
Instruerar SÄKERHETSKOPIERing att misslyckas om en sidkontrollsumma inte verifieras. Det här är standardbeteendet.

CONTINUE_AFTER_ERROR
Instruerar SÄKERHETSKOPIERing att fortsätta trots fel som ogiltiga kontrollsummor eller sönderrivna sidor.

Om du inte kan säkerhetskopiera loggens svans med hjälp av alternativet NO_TRUNCATE när databasen är skadad kan du försöka säkerhetskopia av loggloggen genom att ange CONTINUE_AFTER_ERROR i stället för NO_TRUNCATE.

Mer information finns i möjliga mediefel under säkerhetskopiering och återställning.

Kompatibilitetsalternativ

STARTA OM

Från och med SQL Server 2008 (10.0.x) har ingen effekt. Det här alternativet godkänns av versionen för kompatibilitet med tidigare versioner av SQL Server.

Övervakningsalternativ

STATS [ = procentsats ]

Visar ett meddelande varje gång en annan procentsats slutförs och används för att mäta förloppet. Om procentsats utelämnas visas ett meddelande i SQL Server när varje 10 procent har slutförts.

Alternativet STATS rapporterar procentandelen slutförd från och med tröskelvärdet för rapportering av nästa intervall. Detta är ungefär den angivna procentandelen. Med STATS=10 kan till exempel alternativet visa 43 procent om det slutförda beloppet är 40 procent. För stora säkerhetskopieringsuppsättningar är detta inte ett problem eftersom procentandelen slutförd går mycket långsamt mellan slutförda I/O-anrop.

Bandalternativ

De här alternativen används endast för TAPE-enheter. Om en icke-anslutningsenhet används ignoreras dessa alternativ.

{ REWIND | NOREWIND }

SPOLA TILLBAKA
Anger att SQL Server släpper och spolar tillbaka bandet. REWIND är standardinställningen.

NOREWIND
Anger att SQL Server ska hålla bandet öppet efter säkerhetskopieringen. Du kan använda det här alternativet för att förbättra prestanda när du utför flera säkerhetskopieringsåtgärder på ett band.

NOREWIND innebär NOUNLOAD, och de här alternativen är inkompatibla i en enda BACKUP-instruktion.

Not

Om du använder NOREWINDbehåller SQL Server-instansen ägarskapet för bandenheten tills en BACKUP- eller RESTORE-instruktion som körs i samma process använder antingen alternativet REWIND eller UNLOAD eller så stängs serverinstansen av. Att hålla bandet öppet hindrar andra processer från att komma åt bandet. Information om hur du visar en lista över öppna band och stänger ett öppet band finns i Säkerhetskopieringsenheter.

{ LASTA AV | NOUNLOAD }

Not

UNLOAD och NOUNLOAD är sessionsinställningar som bevaras under hela sessionen eller tills den återställs genom att ange alternativet.

LOSSA
Anger att bandet återställs och tas bort automatiskt när säkerhetskopieringen är klar. UNLOAD är standardvärdet när en session börjar.

NOUNLOAD
Anger att bandet efter säkerhetskopieringen fortfarande är inläst på bandenheten.

Not

För en säkerhetskopiering till en bandsäkerhetskopieringsenhet BLOCKSIZE alternativet för att påverka säkerhetskopieringsåtgärdens prestanda. Det här alternativet påverkar vanligtvis bara prestanda när du skriver till bandenheter.

Loggspecifika alternativ

Dessa alternativ används endast med BACKUP LOG.

Not

Om du inte vill göra loggsäkerhetskopior använder du den enkla återställningsmodellen. Mer information finns i Recovery Models.

{ NORECOVERY | STANDBY = undo_file_name }

NORECOVERY
Säkerhetskopierar loggens svans och lämnar databasen i återställningstillståndet. NORECOVERY är användbart när du redundansväxlar till en sekundär databas eller när du sparar loggens svans före en RESTORE-åtgärd.

Använd alternativen NO_TRUNCATE och NORECOVERY tillsammans för att utföra en säkerhetskopiering av loggen som hoppar över loggtrunkeringen och sedan tar databasen till återställningstillståndet atomiskt.

STANDBY-=standby_file_name
Säkerhetskopierar loggens svans och lämnar databasen i skrivskyddat tillstånd och STANDBY-tillstånd. STANDBY-satsen skriver väntelägesdata (utför återställning, men med alternativet för ytterligare återställningar). Alternativet STANDBY motsvarar SÄKERHETSKOPIERINGSLOGGEN MED NORECOVERY följt av EN ÅTERSTÄLLNING MED VÄNTELÄGE.

Användning av vänteläge kräver en väntelägesfil som anges av standby_file_name, vars plats lagras i databasens logg. Om den angivna filen redan finns skriver databasmotorn över den. Om filen inte finns skapar databasmotorn den. Väntelägesfilen blir en del av databasen.

Den här filen innehåller de återställda ändringarna, som måste återställas om ÅTERSTÄLLNINGSLOGGåtgärder ska tillämpas senare. Det måste finnas tillräckligt med diskutrymme för att väntelägesfilen ska växa så att den kan innehålla alla distinkta sidor från databasen som har ändrats genom att återställa ogenomförda transaktioner.

NO_TRUNCATE

Anger att transaktionsloggen inte ska trunkeras och gör att databasmotorn försöker utföra säkerhetskopieringen oavsett databasens tillstånd. Därför kan en säkerhetskopia som görs med NO_TRUNCATE ha ofullständiga metadata. Med det här alternativet kan du säkerhetskopiera transaktionsloggen i situationer där databasen är skadad.

Alternativet NO_TRUNCATE säkerhetskopieringslogg motsvarar att ange både COPY_ONLY och CONTINUE_AFTER_ERROR.

Utan alternativet NO_TRUNCATE måste databasen vara i onlinetillståndet. Om databasen är i tillståndet SUSPENDED kan du kanske skapa en säkerhetskopia genom att ange NO_TRUNCATE. Men om databasen är i offline- eller nödsituationstillstånd tillåts säkerhetskopiering inte ens med NO_TRUNCATE. Information om databastillstånd finns i Database States.

Om att arbeta med SQL Server-säkerhetskopior

I det här avsnittet beskrivs följande viktiga begrepp för säkerhetskopiering:

säkerhetskopieringstypertrunkering av transaktionsloggarformatering av säkerhetskopieringsmediaArbeta med säkerhetskopieringsenheter och medieuppsättningarÅterställa SQL Server-säkerhetskopieringar

Not

En introduktion till säkerhetskopiering i SQL Server finns i Översikt över säkerhetskopiering.

Säkerhetskopieringstyper

Vilka säkerhetskopieringstyper som stöds beror på databasens återställningsmodell enligt följande

  • Alla återställningsmodeller stöder fullständiga och differentiella säkerhetskopieringar av data.

    Omfång för säkerhetskopiering Säkerhetskopieringstyper
    Hela databasen Databassäkerhetskopior täcka hela databasen.

    Alternativt kan varje databassäkerhetskopia fungera som bas för en serie med en eller flera differentiella databassäkerhetskopior.
    Partiell databas Partiella säkerhetskopior omfattar filgrupper med läs-/skrivbehörighet och eventuellt en eller flera skrivskyddade filer eller filgrupper.

    Alternativt kan varje partiell säkerhetskopiering fungera som bas för en serie med en eller flera differentiella partiella säkerhetskopior.
    Fil- eller filgrupp Filsäkerhetskopior omfatta en eller flera filer eller filgrupper och är endast relevanta för databaser som innehåller flera filgrupper. Under den enkla återställningsmodellen är filsäkerhetskopior i stort sett begränsade till skrivskyddade sekundära filgrupper.
    Alternativt kan varje filsäkerhetskopia fungera som bas för en serie med en eller flera differentiella filsäkerhetskopior.
  • I den fullständiga återställningsmodellen eller den massloggade återställningsmodellen omfattar konventionella säkerhetskopior även sekventiella säkerhetskopieringar av transaktionsloggar (eller loggsäkerhetskopior), som krävs. Varje loggsäkerhetskopia täcker den del av transaktionsloggen som var aktiv när säkerhetskopieringen skapades och innehåller alla loggposter som inte säkerhetskopierades i en tidigare loggsäkerhetskopia.

    För att minimera exponeringen för arbetsförluster bör du, på bekostnad av administrativa kostnader, schemalägga frekventa loggsäkerhetskopior. Schemaläggning av differentiella säkerhetskopior mellan fullständiga säkerhetskopior kan minska återställningstiden genom att minska antalet loggsäkerhetskopior som du måste återställa när du har återställt data.

    Vi rekommenderar att du placerar loggsäkerhetskopior på en separat volym än databassäkerhetskopiorna.

    Not

    Innan du kan skapa den första loggsäkerhetskopian måste du skapa en fullständig säkerhetskopia.

  • En säkerhetskopiering med endast kopiering är en särskild fullständig säkerhetskopia eller loggsäkerhetskopia som är oberoende av den normala sekvensen av konventionella säkerhetskopior. Om du vill skapa en kopieringssäkerhetskopia anger du alternativet COPY_ONLY i backup-instruktionen. Mer information finns i Copy-Only Säkerhetskopieringar.

Trunkering av transaktionslogg

För att undvika att fylla i transaktionsloggen för en databas är rutinmässiga säkerhetskopior viktiga. Under den enkla återställningsmodellen sker loggtrunkeringen automatiskt när du säkerhetskopierar databasen och under den fullständiga återställningsmodellen när du har säkerhetskopierade transaktionsloggen. Ibland kan dock trunkeringsprocessen fördröjas. Information om faktorer som kan fördröja loggtrunkeringen finns i Transaktionsloggen.

Not

Alternativen BACKUP LOG WITH NO_LOG och WITH TRUNCATE_ONLY har upphört. Om du använder den fullständiga eller massloggade återställningsmodellen och du måste ta bort kedjan för loggsäkerhetskopiering från en databas växlar du till den enkla återställningsmodellen. Mer information finns i Visa eller Ändra återställningsmodellen för en databas.

Formatera säkerhetskopieringsmedia

Säkerhetskopieringsmedia formateras av en BACKUP-instruktion om och endast om något av följande är sant:

  • Alternativet FORMAT anges.
  • Mediet är tomt.
  • Åtgärden skriver ett fortsättningsband.

Arbeta med säkerhetskopieringsenheter och medieuppsättningar

Säkerhetskopiera enheter i en randig medieuppsättning (en stripe-uppsättning)

En stripe-uppsättning är en uppsättning diskfiler där data delas in i block och distribueras i en fast ordning. Antalet säkerhetskopieringsenheter som används i en stripe-uppsättning måste vara detsamma (såvida inte mediet initieras om med FORMAT).

I följande exempel skrivs en säkerhetskopia av AdventureWorks2022-databasen till en ny randig medieuppsättning som använder tre diskfiler.

BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
  MEDIANAME = 'AdventureWorksStripedSet0',
  MEDIADESCRIPTION = 'Striped media set for AdventureWorks2022 database';
GO

När en säkerhetskopieringsenhet har definierats som en del av en stripe-uppsättning kan den inte användas för en säkerhetskopiering med en enda enhet om inte FORMAT har angetts. På samma sätt kan en säkerhetskopieringsenhet som innehåller icke-randiga säkerhetskopior inte användas i en stripe-uppsättning om inte FORMAT har angetts. Om du vill dela upp en randig säkerhetskopia använder du FORMAT.

Om varken MEDIANAME eller MEDIADESCRIPTION anges när ett mediehuvud skrivs är medierubrikfältet som motsvarar det tomma objektet tomt.

Arbeta med en speglad medieuppsättning

Säkerhetskopior är vanligtvis inte besudlade, och BACKUP-instruktioner innehåller helt enkelt en TO-sats. Totalt fyra speglar är dock möjliga per medieuppsättning. För en speglad medieuppsättning skriver säkerhetskopieringsåtgärden till flera grupper av säkerhetskopieringsenheter. Varje grupp av säkerhetskopieringsenheter består av en enda spegling i den speglade medieuppsättningen. Varje spegling måste använda samma kvantitet och typ av fysiska säkerhetskopieringsenheter, som alla måste ha samma egenskaper.

Om du vill säkerhetskopiera till en speglad medieuppsättning måste alla speglar finnas. Om du vill säkerhetskopiera till en speglad medieuppsättning anger du TO-satsen för att ange den första speglingen och anger en MIRROR TO-sats för varje ytterligare spegling.

För en speglad medieuppsättning måste varje MIRROR TO-sats ange samma antal och typ av enheter som TO-satsen. I följande exempel skrivs till en speglad medieuppsättning som innehåller två speglar och använder tre enheter per spegel:

BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1a.bak',
  DISK = 'Y:\SQLServerBackups\AdventureWorks2a.bak',
  DISK = 'Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks1b.bak',
  DISK = 'Y:\SQLServerBackups\AdventureWorks2b.bak',
  DISK = 'Z:\SQLServerBackups\AdventureWorks3b.bak';
GO

Viktig

Det här exemplet är utformat så att du kan testa det i ditt lokala system. I praktiken skulle säkerhetskopiering till flera enheter på samma enhet skada prestanda och eliminera redundansen som speglade medieuppsättningar är utformade för.

Mediefamiljer i speglade medieuppsättningar

Varje säkerhetskopieringsenhet som anges i TO-satsen i en BACKUP-instruktion motsvarar en mediefamilj. Om TO-satsen till exempel visar tre enheter skriver BACKUP data till tre mediefamiljer. I en speglad medieuppsättning måste varje spegel innehålla en kopia av varje mediefamilj. Därför måste antalet enheter vara identiska i varje spegling.

När flera enheter visas för varje spegling avgör enheternas ordning vilken mediefamilj som skrivs till en viss enhet. I var och en av enhetslistorna motsvarar till exempel den andra enheten den andra mediefamiljen. För enheterna i exemplet ovan visas korrespondensen mellan enheter och mediefamiljer i följande tabell.

Spegel Mediefamilj 1 Mediefamilj 2 Mediefamilj 3
0 Z:\AdventureWorks1a.bak Z:\AdventureWorks2a.bak Z:\AdventureWorks3a.bak
1 Z:\AdventureWorks1b.bak Z:\AdventureWorks2b.bak Z:\AdventureWorks3b.bak

En mediefamilj måste alltid säkerhetskopieras till samma enhet i en specifik spegel. Varje gång du använder en befintlig medieuppsättning listar du därför enheterna för varje spegling i samma ordning som de angavs när medieuppsättningen skapades.

Mer information om speglade medieuppsättningar finns i Speglade medieuppsättningar för säkerhetskopiering. Mer information om medieuppsättningar och mediefamiljer i allmänhet finns i Media-uppsättningar, mediefamiljer och säkerhetskopieringsuppsättningar.

Återställa SQL Server-säkerhetskopior

Om du vill återställa en databas och eventuellt återställa den för att få den online eller återställa en fil eller filgrupp använder du antingen instruktionen Transact-SQL RESTORE eller SQL Server Management Studio Restore uppgifter. Mer information finns i Översikt över återställning och återställning.

Ytterligare överväganden om alternativ för säkerhetskopiering

Interaktion mellan SKIP, NOSKIP, INIT och NOINIT

Den här tabellen beskriver interaktioner mellan { NOINIT- | INIT } och { NOSKIP | SKIP}-alternativ.

Not

Om bandmediet är tomt eller om disksäkerhetskopieringsfilen inte finns skriver alla dessa interaktioner ett mediehuvud och fortsätter. Om mediet inte är tomt och saknar ett giltigt mediehuvud ger dessa åtgärder feedback om att detta inte är giltigt MTF-media och att de avslutar säkerhetskopieringen.

Hoppa över alternativet NOINIT INIT
NOSKIP Om volymen innehåller ett giltigt mediehuvud kontrollerar du att medienamnet matchar den angivna MEDIANAME, om någon. Om den matchar lägger du till säkerhetskopieringsuppsättningen och bevarar alla befintliga säkerhetskopieringsuppsättningar.
Om volymen inte innehåller ett giltigt mediehuvud uppstår ett fel.
Om volymen innehåller ett giltigt mediehuvud utför du följande kontroller:
  • Om MEDIANAME har angetts kontrollerar du att det angivna medienamnet matchar mediehuvudets medienamn.1
  • Verifierar att det inte redan finns några oexpirerade säkerhetskopieringsuppsättningar på mediet. I så fall avslutar du säkerhetskopieringen.

Om dessa kontroller godkänns skriver du över alla säkerhetskopieringsuppsättningar på mediet och bevarar endast medierubriken.
Om volymen inte innehåller ett giltigt mediehuvud genererar en med angivna MEDIANAME och MEDIADESCRIPTION, om någon.
SKIPPA Om volymen innehåller ett giltigt mediehuvud lägger du till säkerhetskopieringsuppsättningen och bevarar alla befintliga säkerhetskopieringsuppsättningar. Om volymen innehåller ett giltigt2 mediehuvud skriver du över eventuella säkerhetskopieringsuppsättningar på mediet och bevarar endast medierubriken.
Om mediet är tomt genererar du ett mediehuvud med angiven MEDIANAME och MEDIADESCRIPTION, om någon.

1 Användaren måste tillhöra lämpliga fasta databas- eller serverroller för att kunna utföra en säkerhetskopieringsåtgärd.

2 Giltighet innehåller MTF-versionsnumret och annan rubrikinformation. Om den angivna versionen inte stöds eller ett oväntat värde uppstår ett fel.

Kompatibilitet

Försiktighet

Säkerhetskopieringar som skapas av den senaste versionen av SQL Server kan inte återställas i tidigare versioner av SQL Server.

BACKUP stöder alternativet RESTART för att ge bakåtkompatibilitet med tidigare versioner av SQL Server. Men RESTART har ingen effekt.

Anmärkningar

Databas- eller loggsäkerhetskopior kan läggas till på valfri disk eller bandenhet, vilket gör att en databas och dess transaktionsloggar kan lagras på en fysisk plats.

BACKUP-instruktionen tillåts inte i en explicit eller implicit transaktion.

Du kan inte säkerhetskopiera en databas i följande tillstånd:

  • Återställa
  • Standby
  • Skrivskyddad

Plattformsoberoende säkerhetskopieringsåtgärder, även mellan olika processortyper, kan utföras så länge sortering av databasen stöds av operativsystemet.

Från och med SQL Server 2016 (13.x) aktiverar inställningen MAXTRANSFERSIZEstörre än 65536 (64 KB) en optimerad komprimeringsalgoritm för transparent datakryptering (TDE) krypterade databaser som först dekrypterar en sida, komprimerar den och sedan krypterar den igen. Om MAXTRANSFERSIZE inte har angetts, eller om MAXTRANSFERSIZE = 65536 (64 KB) används, komprimerar säkerhetskopieringskomprimering med TDE-krypterade databaser direkt de krypterade sidorna och ger kanske inte bra komprimeringsförhållanden. Mer information finns i Säkerhetskopieringskomprimering för TDE-aktiverade databaser.

Från och med SQL Server 2019 (15.x) CU5 krävs inte längre inställningen MAXTRANSFERSIZE för att aktivera den optimerade komprimeringsalgoritmen med TDE. Om säkerhetskopieringskommandot anges WITH COMPRESSION eller standardinställningen för säkerhetskopieringskomprimering serverkonfiguration är inställd på 1, ökar MAXTRANSFERSIZE automatiskt till 128 K för att aktivera den optimerade algoritmen. Om MAXTRANSFERSIZE anges i säkerhetskopieringskommandot med värdet > 64 K, respekteras det angivna värdet. Med andra ord minskar SQL Server aldrig automatiskt värdet, bara ökar det. Om du behöver säkerhetskopiera en TDE-krypterad databas med MAXTRANSFERSIZE = 65536måste du ange WITH NO_COMPRESSION eller se till att standardinställningen för säkerhetskopieringskomprimering serverkonfiguration är inställd på 0.

Not

Det finns vissa fall där standardvärdet MAXTRANSFERSIZE är större än 64 K:

  • När databasen har flera datafiler skapade använder den MAXTRANSFERSIZE> 64 000.
  • När du utför säkerhetskopiering till URL till Azure Blob Storage MAXTRANSFERSIZE = 1048576 standard (1 MB).
  • När du utför säkerhetskopiering till URL till S3-kompatibel objektlagring MAXTRANSFERSIZE = 10485760 (10 MB).

Även om något av dessa villkor gäller måste du uttryckligen ange MAXTRANSFERSIZE större än 64 000 i säkerhetskopieringskommandot för att hämta algoritmen för optimerad säkerhetskopieringskomprimering, såvida du inte använder SQL Server 2019 (15.x) CU5 eller senare.

Som standard lägger varje lyckad säkerhetskopiering till en post i SQL Server-felloggen och i systemhändelseloggen. Om du säkerhetskopierar loggen mycket ofta ackumuleras dessa lyckade meddelanden snabbt, vilket resulterar i stora felloggar som kan göra det svårt att hitta andra meddelanden. I sådana fall kan du utelämna dessa loggposter med hjälp av spårningsflagga 3226, om ingen av din automatisering eller övervakning är beroende av dessa poster. Mer information finns i Spårningsflaggor.

Samverkan

SQL Server använder en onlinesäkerhetskopieringsprocess för att tillåta en databassäkerhetskopiering medan databasen fortfarande används. Under en säkerhetskopia är de flesta åtgärder möjliga. Till exempel tillåts INSERT-, UPDATE- eller DELETE-instruktioner under en säkerhetskopieringsåtgärd.

Åtgärder som inte kan köras under en databas- eller transaktionsloggsäkerhetskopia är:

  • Filhanteringsåtgärder som ALTER DATABASE-instruktionen med alternativen ADD FILE eller REMOVE FILE.

  • Krymp databas- eller krympfilåtgärder. Detta inkluderar autoshrink-åtgärder.

Om en säkerhetskopiering överlappar en filhantering eller DBCC SHRINK åtgärd uppstår en konflikt. Oavsett vilken konfliktåtgärd som började först väntar den andra åtgärden på att låset som angetts av den första åtgärden ska överskrida tidsgränsen (tidsgränsen styrs av en tidsgränsinställning för sessionen). Om låset släpps under tidsgränsen fortsätter den andra åtgärden. Om låset överskrider tidsgränsen misslyckas den andra åtgärden.

Metadata

SQL Server innehåller följande tabeller för säkerhetskopieringshistorik som spårar säkerhetskopieringsaktivitet:

När en återställning utförs kan tabellerna för säkerhetskopieringshistorik ändras om säkerhetskopieringsuppsättningen inte redan har registrerats i msdb-databasen.

Säkerhet

Från och med SQL Server 2012 (11.x) upphör alternativen PASSWORD och MEDIAPASSWORD för att skapa säkerhetskopior. Det går fortfarande att återställa säkerhetskopior som skapats med lösenord.

Behörigheter

BACKUP DATABASE och BACKUP LOG behörigheter som standard för medlemmar i sysadmin fast serverroll samt db_owner- och db_backupoperator fasta databasroller.

Ägarskaps- och behörighetsproblem på säkerhetskopieringsenhetens fysiska fil kan störa en säkerhetskopieringsåtgärd. Kontrollera att SQL Server-startkontot måste ha läs- och skrivbehörighet till säkerhetskopieringsenheten och mappen där säkerhetskopieringsfilerna skrivs till. Men sp_addumpdevice, som lägger till en post för en säkerhetskopieringsenhet i systemtabellerna, kontrollerar inte filåtkomstbehörigheter. Sådana problem på säkerhetskopieringsenhetens fysiska fil kanske inte visas förrän den fysiska resursen används när säkerhetskopieringen eller återställningen görs.

Exempel

Det här avsnittet innehåller följande exempel:

Not

Avsnitten om säkerhetskopiering innehåller ytterligare exempel. Mer information finns i Översikt över säkerhetskopiering.

A. Säkerhetskopiera en fullständig databas

I följande exempel säkerhetskopieras AdventureWorks2022-databasen till en diskfil.

BACKUP DATABASE AdventureWorks2022
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
    WITH FORMAT;
GO

B. Säkerhetskopiera databasen och loggen

I följande exempel säkerhetskopieras AdventureWorks2022 exempeldatabas, som använder den enkla återställningsmodellen som standard. För att stödja loggsäkerhetskopior ändras AdventureWorks2022-databasen så att den använder den fullständiga återställningsmodellen.

Sedan använder exemplet sp_addumpdevice för att skapa en logisk säkerhetskopieringsenhet för säkerhetskopiering av data, AdvWorksDataoch skapar en annan logisk säkerhetskopieringsenhet för att säkerhetskopiera loggen, AdvWorksLog.

Exemplet skapar sedan en fullständig databassäkerhetskopia för att AdvWorksData, och efter en period av uppdateringsaktivitet säkerhetskopierar du loggen för att AdvWorksLog.

-- To permit log backups, before the full database backup, modify the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks2022
    SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices.
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksLog',
'X:\SQLServerBackups\AdvWorksLog.bak';
GO

-- Back up the full AdventureWorks2022 database.
BACKUP DATABASE AdventureWorks2022 TO AdvWorksData;
GO
-- Back up the AdventureWorks2022 log.
BACKUP LOG AdventureWorks2022
    TO AdvWorksLog;
GO

Not

Säkerhetskopiera loggen regelbundet för en produktionsdatabas. Loggsäkerhetskopior bör vara tillräckligt ofta för att ge tillräckligt skydd mot dataförlust.

C. Skapa en fullständig filsäkerhetskopia av de sekundära filgrupperna

I följande exempel skapas en fullständig filsäkerhetskopia av varje fil i båda de sekundära filgrupperna.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1',
    FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck';
GO

D. Skapa en differentiell filsäkerhetskopia av de sekundära filgrupperna

I följande exempel skapas en differentiell filsäkerhetskopia av varje fil i båda de sekundära filgrupperna.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1',
    FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
    WITH
      DIFFERENTIAL;
GO

E. Skapa och säkerhetskopiera till en speglad medieuppsättning med en familj

I följande exempel skapas en speglad medieuppsättning som innehåller en enda mediefamilj och fyra speglar och säkerhetskopierar AdventureWorks2022 databas till dem.

BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH
    FORMAT,
    MEDIANAME = 'AdventureWorksSet0';

F. Skapa och säkerhetskopiera till en medieuppsättning med flera familjer

I följande exempel skapas en speglad medieuppsättning där varje spegling består av två mediefamiljer. Exemplet säkerhetskopierar sedan AdventureWorks2022-databasen till båda speglingarna.

BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
    FORMAT,
    MEDIANAME = 'AdventureWorksSet1';

G. Säkerhetskopiera till en befintlig speglad medieuppsättning

I följande exempel läggs en säkerhetskopia till i medieuppsättningen som skapades i föregående exempel.

BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
    NOINIT,
    MEDIANAME = 'AdventureWorksSet1';

Not

NOINIT, som är standard, visas här för tydlighetens skull.

H. Skapa en komprimerad säkerhetskopia i en ny medieuppsättning

I följande exempel formateras mediet, en ny medieuppsättning skapas och en komprimerad fullständig säkerhetskopia av AdventureWorks2022-databasen.

BACKUP DATABASE AdventureWorks2022 TO DISK='Z:\SQLServerBackups\AdvWorksData.bak'
WITH
    FORMAT,
    COMPRESSION;

Jag. Säkerhetskopiera till Microsoft Azure Blob Storage

Det här exemplet utför en fullständig databassäkerhetskopia av Sales till Azure Blob Storage. Lagringskontonamnet är mystorageaccount. Containern heter myfirstcontainer. En lagrad åtkomstprincip har redan skapats med läs-, skriv-, borttagnings- och listrättigheter. SQL Server-autentiseringsuppgifterna, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, skapades med hjälp av en signatur för delad åtkomst som är associerad med principen för lagrad åtkomst. Information om SQL Server-säkerhetskopiering till Azure Blob Storage finns i SQL Server Backup and Restore with Azure Blob Storage and SQL Server Backup to URL.

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales.bak'
WITH STATS = 5;

Du kan också säkerhetskopiera databasen till flera ränder och det skulle se ut så här:

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;

J. Säkerhetskopiera till S3-kompatibel objektlagring

gäller för: SQL Server 2022 (16.x)

Det här exemplet utför en fullständig säkerhetskopia av Sales databas till S3-kompatibel objektlagringsplattform. Namnet på autentiseringsuppgifterna krävs inte i -instruktionen eller för att matcha den exakta URL-sökvägen, men kommer att utföra en sökning efter rätt autentiseringsuppgifter på den angivna URL:en. Mer information finns i säkerhetskopiering och återställning av SQL Server med S3-kompatibel objektlagring.

BACKUP DATABASE Sales
TO      URL = 's3://10.10.10.10:8787/sqls3backups/sales_01.bak'
,       URL = 's3://10.10.10.10:8787/sqls3backups/sales_02.bak'
,       URL = 's3://10.10.10.10:8787/sqls3backups/sales_03.bak'
WITH    FORMAT
,       STATS               = 10
,       COMPRESSION;

K. Spåra förloppet för säkerhetskopieringsinstrukeringen

Följande fråga returnerar information om de säkerhetskopieringsuttryck som körs just nu:

SELECT query = a.text, start_time, percent_complete,
    eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command LIKE 'BACKUP%';

* SQL Managed Instance *  

 

Azure SQL Managed Instance

Säkerhetskopierar en SQL-databas i Azure SQL Managed Instance. Azure SQL Managed Instance har automatiska säkerhetskopior. Du kan skapa fullständig databas COPY_ONLY säkerhetskopior. Differentiella säkerhetskopieringar, logg- och filsäkerhetskopior och ögonblicksbilder stöds inte.

Gäller även för SQL Managed Instance som aktiveras av Azure Arc.

Syntax

BACKUP DATABASE { database_name | @database_name_var }
  TO URL = { 'physical_device_name' | @physical_device_name_var }[ ,...n ]
  WITH COPY_ONLY [, { <general_WITH_options> } ]
[;]

<general_WITH_options> [ ,...n ]::=

--Media Set Options
   MEDIADESCRIPTION = { 'text' | @text_variable }
 | MEDIANAME = { media_name | @media_name_variable }
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
   RESTART

--Monitoring Options
   STATS [ = percentage ]

--Encryption Options
 ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
   SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name

Argument

DATABAS

Anger en fullständig säkerhetskopia av databasen. Under en databassäkerhetskopiering säkerhetskopierar Azure SQL Managed Instance tillräckligt mycket av transaktionsloggen för att skapa en konsekvent databas när säkerhetskopian återställs.

Viktig

En databassäkerhetskopia som skapats på en hanterad instans kan bara återställas på en annan Azure SQL Managed Instance eller till en SQL Server 2022-instans. Det beror på att SQL Managed Instance har en högre intern databasversion jämfört med andra versioner av SQL Server. Mer information finns i Återställa en SQL Managed Instance-databassäkerhetskopia till SQL Server 2022.

När du återställer en säkerhetskopia som skapats av BACKUP DATABASE (en ) återställs hela säkerhetskopian. Information om hur du återställer automatiska säkerhetskopieringar från SQL Managed Instance finns i Återställa en databas till en Azure SQL Managed Instance-.

{ database_name | @database_name_var }

Är databasen från vilken den fullständiga databasen säkerhetskopieras. Om det anges som en variabel (@database_name_var) kan det här namnet anges antingen som en strängkonstant (@database_name_var=databasnamn) eller som en variabel av teckensträngsdatatypen, förutom ntext eller text datatyper.

Mer information finns i fullständiga filsäkerhetskopior och säkerhetskopiera filer och filgrupper.

TILL URL

Anger den URL som ska användas för säkerhetskopieringsåtgärden. URL-formatet används för att skapa säkerhetskopior till Microsoft Azure Storage-tjänsten.

Viktig

För att kunna säkerhetskopiera till flera enheter när du säkerhetskopierar till URL måste du använda SAS-token (Signatur för delad åtkomst). Exempel på hur du skapar en signatur för delad åtkomst finns i SQL Server Backup to URL and Simplifiing creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell.

n
Är en platshållare som anger att upp till 64 säkerhetskopieringsenheter kan anges i en kommaavgränsad lista.

WITH-alternativ

Anger alternativ som ska användas med en säkerhetskopieringsåtgärd.

KRYPTERING

Används för att ange kryptering för en säkerhetskopia. Du kan ange en krypteringsalgoritm för att kryptera säkerhetskopian med eller ange NO_ENCRYPTION att säkerhetskopian inte ska vara krypterad. Kryptering rekommenderas för att skydda säkerhetskopieringsfiler. Listan över algoritmer som du kan ange är:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

Om du väljer att kryptera måste du också ange krypteringsfaktorn med hjälp av krypteringsalternativen:

  • SERVER CERTIFICATE = <Encryptor_Name>
  • SERVER ASYMMETRIC KEY = <Encryptor_Name>

Alternativ för säkerhetskopieringsuppsättning

COPY_ONLY

Anger att säkerhetskopieringen är en säkerhetskopiering med endast kopiering, vilket inte påverkar den normala sekvensen av säkerhetskopior. En kopieringssäkerhetskopia skapas oberoende av automatiska säkerhetskopior i Azure SQL Database. Mer information finns i Copy-Only Säkerhetskopieringar.

{ KOMPRIMERING | NO_COMPRESSION }

Anger om säkerhetskopieringskomprimering utförs på den här säkerhetskopieringen, vilket åsidosätter standardvärdet på servernivå.

Standardbeteendet är ingen säkerhetskopieringskomprimering. Men den här standardinställningen kan ändras genom att ange standardalternativet säkerhetskopieringskomprimering serverkonfiguration. Information om hur du visar det aktuella värdet för det här alternativet finns i Visa eller Ändra serveregenskaper.

KOMPRIMERING
Aktiverar uttryckligen säkerhetskopieringskomprimering.

NO_COMPRESSION
Inaktiverar uttryckligen säkerhetskopieringskomprimering.

DESCRIPTION = { 'text' | @text_variable }

Anger den friformstext som beskriver säkerhetskopieringsuppsättningen. Strängen kan innehålla högst 255 tecken.

NAME = { backup_set_name | @_backup|set_var }

Anger namnet på säkerhetskopieringsuppsättningen. Namn kan innehålla högst 128 tecken. Om NAMN inte har angetts är det tomt.

MEDIADESCRIPTION = { text | @text_variable }

Anger textbeskrivningen i fritt format, högst 255 tecken, för medieuppsättningen.

MEDIANAME = { media_name | @media_name_variable }

Anger medienamnet för hela uppsättningen säkerhetskopieringsmedia. Medienamnet får inte vara längre än 128 tecken. Om MEDIANAME anges måste det matcha det tidigare angivna medienamnet som redan finns på säkerhetskopieringsvolymerna. Om det inte har angetts, eller om alternativet SKIP har angetts, finns det ingen verifieringskontroll av medienamnet.

BLOCKSIZE = { blockerar | @blocksize_variable }

Anger den fysiska blockstorleken i byte. De storlekar som stöds är 512, 1024, 2048, 4096, 8192, 16384, 32768 och 65536 (64 KB) byte. Standardvärdet är 65536 för bandenheter och 512 annars. Vanligtvis är det här alternativet onödigt eftersom BACKUP automatiskt väljer en blockstorlek som är lämplig för enheten. Om du uttryckligen anger en blockstorlek åsidosätts det automatiska valet av blockstorlek.

Alternativ för dataöverföring

BUFFERCOUNT = { buffercount | @buffercount_variable }

Anger det totala antalet I/O-buffertar som ska användas för säkerhetskopieringsåtgärden. Du kan ange ett positivt heltal. Ett stort antal buffertar kan dock orsaka "slut på minne" på grund av otillräckligt virtuellt adressutrymme i Sqlservr.exe processen.

Det totala utrymmet som används av buffertarna bestäms av: BUFFERCOUNT * MAXTRANSFERSIZE.

Not

Viktig information om hur du använder alternativet BUFFERCOUNT finns i blogginlägget alternativet Felaktig BufferCount-dataöverföring kan leda till OOM-villkor.

MAXTRANSFERSIZE = { maxtransfersize | @ maxtransfersize_variable }

Anger den största överföringsenheten i byte som ska användas mellan SQL Server och säkerhetskopieringsmediet. Möjliga värden är multiplar på 65536 byte (64 KB) som sträcker sig upp till 4194304 byte (4 MB).

För transparent datakryptering (TDE) aktiverade databaser med en enda datafil är standard MAXTRANSFERSIZE 65536 (64 KB). För icke-TDE-krypterade databaser är standard MAXTRANSFERSIZE 1048576 (1 MB) när du använder säkerhetskopiering till DISK och 65536 (64 KB) när du använder VDI eller BAND.

Not

MAXTRANSFERSIZE anger den största överföringsenheten och garanterar inte att varje skrivåtgärd överför den angivna största storleken. MAXTRANSFERSIZE för skrivåtgärder för säkerhetskopiering av randiga transaktionsloggar är inställt på 64 KB.

Alternativ för felhantering

Med de här alternativen kan du avgöra om kontrollsummor för säkerhetskopiering är aktiverade för säkerhetskopieringsåtgärden och om åtgärden slutar att stöta på ett fel.

{ NO_CHECKSUM | CHECKSUM }

Styr om kontrollsummor för säkerhetskopiering är aktiverade.

NO_CHECKSUM
Inaktiverar explicit genereringen av kontrollsummor för säkerhetskopiering (och verifiering av sidkontrollsummor). Det här är standardbeteendet.

KONTROLLSUMMA
Anger att säkerhetskopieringsåtgärden verifierar varje sida för kontrollsumma och sönderriven sida, om den är aktiverad och tillgänglig, och genererar en kontrollsumma för hela säkerhetskopian.

Användning av kontrollsummor för säkerhetskopiering kan påverka dataflödet för arbetsbelastning och säkerhetskopiering.

Mer information finns i möjliga mediefel under säkerhetskopiering och återställning.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Styr om en säkerhetskopieringsåtgärd stoppas eller fortsätter när ett sidkontrollsummafel har uppstått.

STOP_ON_ERROR
Instruerar SÄKERHETSKOPIERing att misslyckas om en sidkontrollsumma inte verifieras. Det här är standardbeteendet.

CONTINUE_AFTER_ERROR
Instruerar SÄKERHETSKOPIERing att fortsätta trots fel som ogiltiga kontrollsummor eller sönderrivna sidor.

Om du inte kan säkerhetskopiera loggens svans med hjälp av alternativet NO_TRUNCATE när databasen är skadad kan du försöka säkerhetskopia av loggloggen genom att ange CONTINUE_AFTER_ERROR i stället för NO_TRUNCATE.

Mer information finns i möjliga mediefel under säkerhetskopiering och återställning.

Kompatibilitetsalternativ

STARTA OM

Har ingen effekt. Det här alternativet godkänns av versionen för kompatibilitet med tidigare versioner av SQL Server.

Övervakningsalternativ

STATS [ = procentsats ]

Visar ett meddelande varje gång en annan procentsats slutförs och används för att mäta förloppet. Om procentsats utelämnas visas ett meddelande i SQL Server när varje 10 procent har slutförts.

Alternativet STATS rapporterar procentandelen slutförd från och med tröskelvärdet för rapportering av nästa intervall. Detta är ungefär den angivna procentandelen. Med STATS=10 kan till exempel alternativet visa 43 procent om det slutförda beloppet är 40 procent. För stora säkerhetskopieringsuppsättningar är detta inte ett problem eftersom procentandelen slutförd går mycket långsamt mellan slutförda I/O-anrop.

Begränsningar för SQL Managed Instance

Maximal storlek på streck för säkerhetskopiering är 195 GB (maximal blobstorlek). Öka antalet ränder i säkerhetskopieringskommandot för att minska den enskilda randstorleken och hålla dig inom den här gränsen.

Säkerhet

Behörigheter

BACKUP DATABASE behörigheter är standard för medlemmar i sysadmin fast serverroll samt db_owner- och db_backupoperator fasta databasroller.

Ägarskaps- och behörighetsproblem på URL:en kan störa en säkerhetskopieringsåtgärd. SQL Server måste kunna läsa och skriva till enheten. kontot där SQL Server-tjänsten körs måste ha skrivbehörighet.

Exempel

Exemplet utför en COPY_ONLY säkerhetskopia av Sales till Microsoft Azure Blob Storage. Lagringskontonamnet är mystorageaccount. Containern heter myfirstcontainer. En lagrad åtkomstprincip har skapats med läs-, skriv-, borttagnings- och listrättigheter. SQL Server-autentiseringsuppgifterna, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, skapades med hjälp av en signatur för delad åtkomst som är associerad med principen för lagrad åtkomst. Information om SQL Server-säkerhetskopiering till Azure Blob Storage finns i säkerhetskopiering och återställning av SQL Server med Microsoft Azure Blob Storage och SQL Server Backup till URL-.

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;

Du kan också säkerhetskopiera databasen till flera ränder och det skulle se ut så här:

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;

* Analys
Plattformssystem (PDW) *
 

 

Analysplattformssystem

Skapar en säkerhetskopia av en PDW-databas (Analytics Platform System) och lagrar säkerhetskopian utanför installationen på en användardefinierad nätverksplats. Använd den här instruktionen med RESTORE DATABASE – Analytics Platform System för haveriberedskap eller för att kopiera en databas från en installation till en annan.

Innan du börjarkan du läsa "Hämta och konfigurera en säkerhetskopieringsserver" i produktdokumentationen för Analytics Platform System (PDW).

Det finns två typer av säkerhetskopior i Analytics Platform System (PDW). En fullständig databassäkerhetskopiering är en säkerhetskopia av en hel PDW-databas (Analytics Platform System). En differentiell databassäkerhetskopia innehåller bara ändringar som gjorts sedan den senaste fullständiga säkerhetskopieringen. En säkerhetskopia av en användardatabas omfattar databasanvändare och databasroller. En säkerhetskopia av master-databasen innehåller inloggningar.

Mer information om pdw-databassäkerhetskopior (Analytics Platform System) finns i "Säkerhetskopiering och återställning" i produktdokumentationen Analytics Platform System (PDW).

Syntax

--Create a full backup of a user database or the master database.
BACKUP DATABASE database_name
    TO DISK = '\\UNC_path\backup_directory'
    [ WITH [ ( ]<with_options> [ ,...n ][ ) ] ]
[;]

--Create a differential backup of a user database.
BACKUP DATABASE database_name
    TO DISK = '\\UNC_path\backup_directory'
    WITH [ ( ] DIFFERENTIAL
    [ , <with_options> [ ,...n ] [ ) ]
[;]

<with_options> ::=
    DESCRIPTION = 'text'
    | NAME = 'backup_name'

Argument

database_name

Namnet på databasen som du vill skapa en säkerhetskopia på. Databasen kan vara den master databasen eller en användardatabas.

TO DISK = '\\UNC_path\backup_directory'

Nätverkssökvägen och katalogen som Analytics Platform System (PDW) ska skriva säkerhetskopieringsfilerna till. Till exempel \\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup.

  • Sökvägen till namnet på säkerhetskopieringskatalogen måste redan finnas och måste anges som en fullständig unc-sökväg (Universal Naming Convention).
  • Säkerhetskopieringskatalogen, backup_directory, får inte finnas innan du kör säkerhetskopieringskommandot. Analytics Platform System (PDW) skapar säkerhetskopieringskatalogen.
  • Sökvägen till säkerhetskopieringskatalogen kan inte vara en lokal sökväg och den kan inte vara en plats på någon av pdw-installationsnoderna (Analytics Platform System).
  • Den maximala längden på UNC-sökvägen och namnet på säkerhetskopieringskatalogen är 200 tecken.
  • Servern eller värden måste anges som en IP-adress. Du kan inte ange den som värd- eller servernamn.

DESCRIPTION =text

Anger en textbeskrivning av säkerhetskopian. Textens maximala längd är 255 tecken.

Beskrivningen lagras i metadata och visas när säkerhetskopieringshuvudet återställs med RESTORE HEADERONLY.

NAME = "backup _name"

Anger namnet på säkerhetskopian. Säkerhetskopieringsnamnet kan skilja sig från databasnamnet.

  • Namn kan innehålla högst 128 tecken.
  • Det går inte att inkludera en sökväg.
  • Måste börja med ett bokstavs- eller nummertecken eller ett understreck (_). Specialtecken som tillåts är understreck (_), bindestreck (-) eller blanksteg ( ). Säkerhetskopieringsnamn kan inte sluta med ett blankstegstecken.
  • Instruktionen misslyckas om backup_name redan finns på den angivna platsen.

Det här namnet lagras i metadata och visas när säkerhetskopieringshuvudet återställs med RESTORE HEADERONLY.

DIFFERENTIAL

Anger att en differentiell säkerhetskopia av en användardatabas ska utföras. Om det utelämnas är standardvärdet en fullständig säkerhetskopia av databasen. Namnet på differentiell säkerhetskopiering behöver inte matcha namnet på den fullständiga säkerhetskopian. Om du vill hålla reda på differentiella och motsvarande fullständiga säkerhetskopior bör du överväga att använda samma namn med "full" eller "diff" bifogad.

Till exempel:

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerFull';

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerDiff' WITH DIFFERENTIAL;

Behörigheter

Kräver BACKUP DATABASE behörighet eller medlemskap i db_backupoperator fast databasroll. Det går inte att säkerhetskopiera master databas utan av en vanlig användare som har lagts till i db_backupoperator fast databasroll. Den master databasen kan bara säkerhetskopieras av sa, infrastrukturadministratören eller medlemmar i sysadmin fast serverroll.

Kräver ett Windows-konto som har behörighet att komma åt, skapa och skriva till säkerhetskopieringskatalogen. Du måste också lagra Windows-kontonamnet och lösenordet i Analytics Platform System (PDW). Om du vill lägga till dessa nätverksautentiseringsuppgifter i Analytics Platform System (PDW) använder du sp_pdw_add_network_credentials – Azure Synapse Analytics lagrad procedur.

Mer information om hur du hanterar autentiseringsuppgifter i Analytics Platform System (PDW) finns i avsnittet Security.

Felhantering

FEL vid SÄKERHETSKOPIERING AV DATABAS under följande villkor:

  • Användarbehörigheter räcker inte för att utföra en säkerhetskopia.
  • Analytics Platform System (PDW) har inte rätt behörighet till den nätverksplats där säkerhetskopieringen ska lagras.
  • Databasen finns inte.
  • Målkatalogen finns redan på nätverksresursen.
  • Målnätverksresursen är inte tillgänglig.
  • Målnätverksresursen har inte tillräckligt med utrymme för säkerhetskopieringen. Kommandot BACKUP DATABASE bekräftar inte att det finns tillräckligt med diskutrymme innan säkerhetskopieringen initieras, vilket gör det möjligt att generera ett fel om out-of-disk-space när du kör BACKUP DATABASE. När det inte finns tillräckligt med diskutrymme återställer Analytics Platform System (PDW) kommandot BACKUP DATABASE. Om du vill minska databasens storlek kör du DBCC SHRINKLOG (Analytics Platform System (PDW))
  • Försök att starta en säkerhetskopia i en transaktion.

Anmärkningar

Innan du utför en databassäkerhetskopiering använder du DBCC SHRINKLOG (Analytics Platform System (PDW)) för att minska databasens storlek.

En PDW-säkerhetskopiering (Analytics Platform System) lagras som en uppsättning med flera filer i samma katalog.

En differentiell säkerhetskopiering tar vanligtvis mindre tid än en fullständig säkerhetskopia och kan utföras oftare. När flera differentiella säkerhetskopior baseras på samma fullständiga säkerhetskopia inkluderar varje differentiell alla ändringar i den tidigare differentiella säkerhetskopieringen.

Om du avbryter ett SÄKERHETSKOPIERingskommando tar Analytics Platform System (PDW) bort målkatalogen och alla filer som skapats för säkerhetskopieringen. Om Analytics Platform System (PDW) förlorar nätverksanslutningen till resursen kan återställningen inte slutföras.

Fullständiga säkerhetskopior och differentiella säkerhetskopior lagras i separata kataloger. Namngivningskonventioner tillämpas inte för att ange att en fullständig säkerhetskopia och differentiell säkerhetskopiering hör ihop. Du kan spåra detta genom dina egna namngivningskonventioner. Du kan också spåra detta med hjälp av alternativet MED BESKRIVNING för att lägga till en beskrivning och sedan använda instruktionen RESTORE HEADERONLY för att hämta beskrivningen.

Begränsningar

Du kan inte utföra en differentiell säkerhetskopia av master-databasen. Endast fullständiga säkerhetskopior av master-databasen stöds.

Säkerhetskopieringar av transaktionsloggar för master systemdatabas stöds inte.

Säkerhetskopieringsfilerna lagras i ett format som endast lämpar sig för att återställa säkerhetskopian till en PDW-installation (Analytics Platform System) med hjälp av instruktionen RESTORE DATABASE – Analytics Platform System.

Säkerhetskopieringen med instruktionen BACKUP DATABASE kan inte användas för att överföra data eller användarinformation till SMP SQL Server-databaser. För den funktionen kan du använda funktionen för fjärrtabellkopiering. Mer information finns i "Remote Table Copy" i produktdokumentationen Analytics Platform System (PDW).

Analytics Platform System (PDW) använder SQL Server-säkerhetskopieringsteknik för att säkerhetskopiera och återställa databaser. Säkerhetskopieringsalternativ för SQL Server är förkonfigurerade för att använda säkerhetskopieringskomprimering. Du kan inte ange säkerhetskopieringsalternativ som komprimering, kontrollsumma, blockstorlek och buffertantal.

Endast en databassäkerhetskopiering eller återställning kan köras på installationen vid en viss tidpunkt. Analytics Platform System (PDW) köar säkerhetskopierings- eller återställningskommandon tills det aktuella säkerhetskopierings- eller återställningskommandot har slutförts.

Målinstallationen för att återställa säkerhetskopian måste ha minst lika många Beräkningsnoder som källinstallationen. Målet kan ha fler beräkningsnoder än källinstallationen, men får inte ha färre beräkningsnoder.

Analytics Platform System (PDW) spårar inte platsen och namnen på säkerhetskopior eftersom säkerhetskopiorna lagras utanför installationen.

Analytics Platform System (PDW) spårar lyckade eller misslyckade databassäkerhetskopior.

En differentiell säkerhetskopia tillåts endast om den senaste fullständiga säkerhetskopian har slutförts. Anta till exempel att du på måndag skapar en fullständig säkerhetskopia av Sales-databasen och att säkerhetskopieringen har slutförts. På tisdag skapar du sedan en fullständig säkerhetskopia av Sales-databasen och den misslyckas. Efter det här felet kan du inte skapa en differentiell säkerhetskopia baserat på måndagens fullständiga säkerhetskopiering. Du måste först skapa en fullständig säkerhetskopia innan du skapar en differentiell säkerhetskopia.

Metadata

Dessa dynamiska hanteringsvyer innehåller information om alla säkerhetskopierings-, återställnings- och inläsningsåtgärder. Informationen finns kvar i systemomstarter.

Föreställning

För att utföra en säkerhetskopia säkerhetskopierar Analytics Platform System (PDW) först metadata och utför sedan en parallell säkerhetskopia av databasdata som lagras på beräkningsnoderna. Data kopieras direkt från varje beräkningsnod till säkerhetskopieringskatalogen. För att uppnå bästa prestanda för att flytta data från beräkningsnoderna till säkerhetskopieringskatalogen styr Analytics Platform System (PDW) antalet beräkningsnoder som kopierar data samtidigt.

Låsning

Tar ett ExclusiveUpdate-lås på DATABASE-objektet.

Säkerhet

PdW-säkerhetskopior (Analytics Platform System) lagras inte på enheten. It-teamet ansvarar därför för att hantera alla aspekter av säkerhetskopian. Detta omfattar till exempel att hantera säkerheten för säkerhetskopierade data, säkerheten på den server som används för att lagra säkerhetskopior och säkerheten för nätverksinfrastrukturen som ansluter säkerhetskopieringsservern till installationen Analytics Platform System (PDW).

Hantera nätverksautentiseringsuppgifter

Nätverksåtkomst till säkerhetskopieringskatalogen baseras på standardsäkerhet för fildelning av operativsystem. Innan du utför en säkerhetskopia måste du skapa eller ange ett Windows-konto som ska användas för att autentisera Analytics Platform System (PDW) till säkerhetskopieringskatalogen. Det här Windows-kontot måste ha behörighet att komma åt, skapa och skriva till säkerhetskopieringskatalogen.

Viktig

För att minska säkerhetsriskerna med dina data rekommenderar vi att du anger ett Windows-konto enbart i syfte att utföra säkerhetskopierings- och återställningsåtgärder. Tillåt att det här kontot har behörighet till säkerhetskopieringsplatsen och ingen annanstans.

Du måste lagra användarnamnet och lösenordet i Analytics Platform System (PDW) genom att köra sp_pdw_add_network_credentials – Azure Synapse Analytics lagrad procedur. Analytics Platform System (PDW) använder Windows Credential Manager för att lagra och kryptera användarnamn och lösenord på kontrollnoden och beräkningsnoderna. Autentiseringsuppgifterna säkerhetskopieras inte med kommandot BACKUP DATABASE.

Information om hur du tar bort nätverksautentiseringsuppgifter från Analytics Platform System (PDW) finns i sp_pdw_remove_network_credentials – Azure Synapse Analytics.

Om du vill visa en lista över alla autentiseringsuppgifter för nätverket som lagras i Analytics Platform System (PDW) använder du vyn sys.dm_pdw_network_credentials dynamisk hantering.

Exempel

A. Lägg till nätverksautentiseringsuppgifter för säkerhetskopieringsplatsen

För att skapa en säkerhetskopia måste Analytics Platform System (PDW) ha läs-/skrivbehörighet till säkerhetskopieringskatalogen. I följande exempel visas hur du lägger till autentiseringsuppgifterna för en användare. Analytics Platform System (PDW) lagrar dessa autentiseringsuppgifter och använder dem för säkerhetskopiering och återställning.

Viktig

Av säkerhetsskäl rekommenderar vi att du skapar ett domänkonto enbart i syfte att utföra säkerhetskopior.

EXEC sp_pdw_add_network_credentials 'xxx.xxx.xxx.xxx', 'domain1\backupuser', '*****';

B. Ta bort nätverksautentiseringsuppgifter för säkerhetskopieringsplatsen

I följande exempel visas hur du tar bort autentiseringsuppgifterna för en domänanvändare från Analytics Platform System (PDW).

EXEC sp_pdw_remove_network_credentials 'xxx.xxx.xxx.xxx';

C. Skapa en fullständig säkerhetskopia av en användardatabas

I följande exempel skapas en fullständig säkerhetskopia av användardatabasen Fakturor. Analytics Platform System (PDW) skapar katalogen Invoices2013 och sparar säkerhetskopieringsfilerna i katalogen \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.

BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

D. Skapa en differentiell säkerhetskopia av en användardatabas

I följande exempel skapas en differentiell säkerhetskopia, som innehåller alla ändringar som gjorts sedan den senaste fullständiga säkerhetskopieringen av Invoices-databasen. Analytics Platform System (PDW) skapar katalogen \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff för att lagra filerna. Beskrivningen "Differentiell säkerhetskopiering av fakturor 2013" lagras med rubrikinformationen för säkerhetskopian.

Differentiell säkerhetskopiering körs endast om den senaste fullständiga säkerhetskopieringen av fakturor har slutförts.

BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH DIFFERENTIAL,
    DESCRIPTION = 'Invoices 2013 differential backup';

E. Skapa en fullständig säkerhetskopia av huvuddatabasen

I följande exempel skapas en fullständig säkerhetskopia av master-databasen och lagrar den i katalogen \\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master, där IP är en nätverks-IP-adress.

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master';

F. Skapa en säkerhetskopia av inloggningsinformation för installationen

I master-databasen lagras inloggningsinformationen för installationen. För att säkerhetskopiera inloggningsinformationen för installationen måste du säkerhetskopiera master-databasen.

I följande exempel skapas en fullständig säkerhetskopia av master-databasen.

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master'
WITH (
    DESCRIPTION = 'Master Backup 20130722',
    NAME = 'login-backup'
)
;