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
, STOPATMARK
eller 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 SERVER
eller 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:
- säkerhetskopiering och återställning av SQL Server med Microsoft Azure Blob Storage. En självstudiekurs finns i Tutorial: SQL Server Backup and Restore to Microsoft Azure Blob Storage.
- Säkerhetskopiering och återställning till S3-kompatibel lagring introducerades i SQL Server 2022 (16.x), se säkerhetskopiering och återställning av SQL Server med S3-kompatibel objektlagring. Granska även alternativet för SQL Server-säkerhetskopiering till URL för S3-kompatibel objektlagring.
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 = DISK
avgö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 DATABASE
skapar alternativetCOPY_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
ochCOPY_ONLY
används tillsammans ignorerasCOPY_ONLY
och en differentiell säkerhetskopiering skapas.När det används med
BACKUP LOG
skapar alternativetCOPY_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
ochRETAINDAYS
. - 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 NOREWIND
behå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 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 MAXTRANSFERSIZE
stö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 = 65536
må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 alternativenADD FILE
ellerREMOVE 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:
- A. Säkerhetskopiera en fullständig databas
- B. Säkerhetskopiera databasen och logga
- C. Skapa en fullständig säkerhetskopia av de sekundära filgrupperna
- D. Skapa en differentiell filsäkerhetskopia av de sekundära filgrupperna
- E. Skapa och säkerhetskopiera till en speglad medieuppsättning med en enda familj
- F. Skapa och säkerhetskopiera till en medieuppsättning med flera familjer som speglas
- G. Säkerhetskopiera till en befintlig speglad medieuppsättning
- H. Skapa en komprimerad säkerhetskopia i en ny medieuppsättning
- Jag. Säkerhetskopiera till Azure Blob Storage
- J. [Säkerhetskopiera till S3-kompatibel objektlagring]((#j-backing-up-to-s3-compatible-object-storage)
- K. Spåra förloppet för säkerhetskopieringsuttryck
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, AdvWorksData
och 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%';
Relaterat innehåll
- Säkerhetskopieringsenheter
- mediauppsättningar, mediefamiljer och säkerhetskopieringsuppsättningar
- Tail-Log Säkerhetskopieringar
- ALTER DATABASE
- DBCC SQLPERF
- RESTORE
- RESTORE FILELISTONLY
- RESTORE HEADERONLY
- RESTORE LABELONLY
- RESTORE VERIFYONLY
- sp_addumpdevice
- sp_configure
- sp_helpfile
- sp_helpfilegroup
- serverkonfigurationsalternativ
- bit för bit återställning av databaser med Memory-Optimized tabeller
* 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;
Relaterat innehåll
* 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'
)
;