Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Under en säkerhetskopieringsåtgärd i en SQL Server-databas skrivs säkerhetskopierade data ( säkerhetskopian) till en fysisk säkerhetskopieringsenhet. Den här fysiska säkerhetskopieringsenheten initieras när den första säkerhetskopian i en medieuppsättning skrivs till den. Säkerhetskopior på en uppsättning av en eller flera säkerhetskopieringsenheter består av en enda medieuppsättning.
Termer och definitioner
säkerhetskopieringsdisk
En hårddisk eller annat disklagringsmedium som innehåller en eller flera säkerhetskopior. En säkerhetskopia är en vanlig operativsystemfil.
mediauppsättning
En ordnad samling säkerhetskopieringsmedia, band eller diskfiler som använder en fast typ och ett antal säkerhetskopieringsenheter. Mer information om medieuppsättningar finns i Media Sets, Media Families och Backup Sets (SQL Server).
fysisk säkerhetskopieringsenhet
Antingen en bandenhet eller en diskfil som tillhandahålls av operativsystemet. En säkerhetskopia kan skrivas till från 1 till 64 säkerhetskopieringsenheter. Om en säkerhetskopia kräver flera säkerhetskopieringsenheter måste alla enheter motsvara en enskild typ av enhet (disk eller band).
SQL Server-säkerhetskopieringar kan också skrivas till Azure Blob Storage utöver disk eller band.
Använda enheter för disksäkerhetskopiering
Om en diskfil fylls medan en säkerhetskopieringsåtgärd lägger till en säkerhetskopia till medieuppsättningen misslyckas säkerhetskopieringen. Den maximala storleken på en säkerhetskopia bestäms av det lediga diskutrymme som är tillgängligt på diskenheten. Därför beror lämplig storlek för en säkerhetskopieringsdiskenhet på storleken på dina säkerhetskopior.
En enhet för disksäkerhetskopiering kan vara en enkel diskenhet, till exempel en ATA-enhet. Alternativt kan du använda en diskenhet som kan växlas snabbt och som gör att du transparent kan ersätta en fullständig disk på enheten med en tom disk. En säkerhetskopieringsdisk kan vara en lokal disk på servern eller en fjärrdisk som är en delad nätverksresurs. Information om hur du använder en fjärrdisk finns i Säkerhetskopiera till en fil på en nätverksresurs senare i det här avsnittet.
SQL Server-hanteringsverktyg är mycket flexibla vid hantering av disksäkerhetskopieringsenheter eftersom de automatiskt genererar ett tidsstämplat namn på diskfilen.
Viktigt!
Vi rekommenderar att en säkerhetskopieringsdisk är en annan disk än databasdata och loggdiskar. Detta är nödvändigt för att se till att du kan komma åt säkerhetskopiorna om data eller loggdisken misslyckas.
Om databasfiler och säkerhetskopieringsfiler finns på samma enhet och enheten misslyckas är databasen och säkerhetskopiorna inte tillgängliga. Om du placerar databasen och säkerhetskopieringsfilerna på de separata enheterna optimeras även I/O-prestanda för både produktionsanvändningen av databasen och skrivning av säkerhetskopior.
Ange en säkerhetskopia med dess fysiska namn (Transact-SQL)
Den grundläggande BACKUP-syntaxen för att specificera en backup-fil med hjälp av dess fysiska enhetsnamn är:
SÄKERHETSKOPIERA DATABAS database_name
TO DISK = { 'physical_backup_device_name' | @physical_backup_device_name_var }
Till exempel:
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';
GO
Om du vill ange en fysisk diskenhet i en RESTORE-instruktion är den grundläggande syntaxen:
RESTORE { DATABASE | LOG } database_name
FRÅN DISK = { 'physical_backup_device_name' | @physical_backup_device_name_var }
Ett exempel:
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';
Ange sökvägen till disksäkerhetskopian
När du anger en säkerhetskopia bör du ange dess fullständiga sökväg och filnamn. Om du endast anger filnamnet eller en relativ sökväg när du säkerhetskopierar till en fil placeras säkerhetskopieringsfilen i standardkatalogen för säkerhetskopiering. Standardkatalogen för säkerhetskopiering är C:\Program Files\Microsoft SQL Server\MSSQL. n\MSSQL\Backup, där n är antalet serverinstanser. För standardserverinstansen är därför standardkatalogen för säkerhetskopiering: C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\MSSQL\Backup.
För att undvika tvetydighet, särskilt i skript, rekommenderar vi att du uttryckligen anger sökvägen till säkerhetskopieringskatalogen i varje DISK-sats. Detta är dock mindre viktigt när du använder Frågeredigeraren. I det fallet, om du är säker på att säkerhetskopieringsfilen finns i standardkatalogen för säkerhetskopiering, kan du utelämna sökvägen från en DISK-sats. Till exempel, följande BACKUP uttalande säkerhetskopierar AdventureWorks2025 databasen till standardkatalogen för säkerhetskopiering.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'AdventureWorks2022.bak';
GO
Anmärkning
Standardplatsen lagras i registernyckeln BackupDirectory under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer.
Säkerhetskopiera till en nätverksdelad mapp
För att SQL Server ska få åtkomst till en fjärrdiskfil måste SQL Server-tjänstkontot ha åtkomst till nätverksresursen. Detta inkluderar att ha de behörigheter som krävs för säkerhetskopieringsåtgärder för att skriva till nätverksresursen och för att återställningsåtgärder ska kunna läsa från den. Tillgängligheten för nätverksenheter och behörigheter beror på kontexten som SQL Server-tjänsten kör:
Om du vill säkerhetskopiera till en nätverksenhet när SQL Server körs i ett domänanvändarkonto måste den delade enheten mappas som en nätverksenhet i sessionen där SQL Server körs. Om du startar Sqlservr.exe från kommandoraden ser SQL Server alla nätverksenheter som du har mappat i inloggningssessionen.
När du kör Sqlservr.exe som en tjänst körs SQL Server i en separat session som inte har någon relation till inloggningssessionen. Den session där en tjänst körs kan ha sina egna mappade enheter, även om den vanligtvis inte gör det.
Du kan ansluta med nätverkstjänstkontot med hjälp av datorkontot i stället för en domänanvändare. Om du vill aktivera säkerhetskopior från specifika datorer till en delad enhet beviljar du åtkomst till datorkontona. Så länge den Sqlservr.exe process som skriver säkerhetskopian har åtkomst, är det irrelevant om användaren som skickar kommandot BACKUP har åtkomst.
Viktigt!
Säkerhetskopiering av data via ett nätverk kan bero på nätverksfel. Därför rekommenderar vi att du verifierar säkerhetskopieringen när den är klar när du använder en fjärrdisk. Mer information finns i RESTORE VERIFYONLY (Transact-SQL).
Ange ett UNC-namn (Universal Naming Convention)
Om du vill ange en nätverksresurs i ett säkerhetskopierings- eller återställningskommando använder du det fullt kvalificerade UNC-namnet (Universal Naming Convention) för filen som säkerhetskopieringsenheten. Ett UNC-namn har formatet \\Systemname\ShareName\Path\FileName.
Till exempel:
BACKUP DATABASE AdventureWorks2022
TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';
GO
Använda bandenheter
Anmärkning
Stöd för bandsäkerhetskopieringsenheter 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.
Säkerhetskopiering av SQL Server-data till band kräver att bandenheten eller enheterna stöds av Microsoft Windows-operativsystemet. För den angivna bandenheten rekommenderar vi dessutom att du endast använder band som rekommenderas av enhetstillverkaren. Mer information om hur du installerar en bandenhet finns i dokumentationen för Windows-operativsystemet.
När en bandenhet används kan en säkerhetskopieringsåtgärd fylla ett band och fortsätta på ett annat band. Varje band innehåller en mediarubrik. Det första mediet som används kallas det första bandet. Varje efterföljande band kallas för ett fortsättningsband och har ett mediesekvensnummer som är ett högre än föregående band. En medieuppsättning som är associerad med fyra bandenheter innehåller till exempel minst fyra initiala band (och, om databasen inte passar, fyra serier med fortsättningsband). När du lägger till en säkerhetskopia måste du montera det sista bandet i serien. Om det sista bandet inte är monterat genomsöker databasmotorn fram till slutet av det monterade bandet och kräver sedan att du ändrar bandet. Vid den tidpunkten, montera det sista bandet.
Bandsäkerhetskopieringsenheter används som diskenheter, med följande undantag:
Bandenheten måste vara fysiskt ansluten till den dator som kör en instans av SQL Server. Säkerhetskopiering till fjärrbandsenheter stöds inte.
Om en bandsäkerhetskopieringsenhet fylls i under säkerhetskopieringen, men mer data fortfarande måste skrivas, frågar SQL Server efter ett nytt band och fortsätter säkerhetskopieringen när ett nytt band har lästs in.
Ange ett säkerhetskopieringsband med dess fysiska namn (Transact-SQL)
Den grundläggande syntaxen för säkerhetskopiering för att ange ett säkerhetskopieringsband med hjälp av bandenhetens fysiska enhetsnamn är:
BACKUP { DATABAS | LOGG } database_name
TO TAPE = { 'physical_backup_device_name' | @physical_backup_device_name_var }
Till exempel:
BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0';
GO
Om du vill ange en fysisk bandenhet i en RESTORE-instruktion är den grundläggande syntaxen:
RESTORE { DATABASE | LOG } database_name
FRÅN BAND = { 'physical_backup_device_name' | @physical_backup_device_name_var }
Tape-Specific alternativ för säkerhetskopiering och återställning (Transact-SQL)
För att underlätta bandhantering tillhandahåller BACKUP-instruktionen följande bandspecifika alternativ:
{ NOUNLOAD | LASTA AV }
Du kan styra om ett säkerhetskopieringsband tas bort automatiskt från bandenheten efter en säkerhetskopiering eller återställning. UNLOAD/NOUNLOAD är en sessionsinställning som bevaras under sessionens livslängd eller tills den återställs genom att ange alternativet.
{ REWIND | NOREWIND }
Du kan styra om SQL Server håller bandet öppet efter säkerhetskopieringen eller återställningen eller släpper och spolar tillbaka bandet när det har fyllts. Standardbeteendet är att spola tillbaka bandet (REWIND).
Anmärkning
Mer information om syntaxen och argumenten för BACKUP finns i BACKUP (Transact-SQL). Mer information om RESTORE-syntaxen och argumenten finns i RESTORE (Transact-SQL) respektive RESTORE Arguments (Transact-SQL).).
Hantera öppna band
Om du vill visa en lista över öppna bandenheter och status för monteringsbegäranden, fråga sys.dm_io_backup_tapes dynamisk hanteringsvy. Den här vyn visar alla öppna band. Dessa inkluderar band som är tillfälligt inaktiva medan de väntar på nästa säkerhetskopiering eller återställningsåtgärd.
Om ett band av misstag har lämnats öppet är det snabbaste sättet att släppa bandet med hjälp av följande kommando: RESTORE REWINDONLY FROM TAPE =backup_device_name. Mer information finns i RESTORE REWINDONLY (Transact-SQL).
Att använda Azure Blob Storage
SQL Server-säkerhetskopior kan skrivas till Azure Blob Storage. Mer information om hur du använder Azure Blob Storage för dina säkerhetskopior finns i SÄKERHETSKOPIERing och återställning av SQL Server med Microsoft Azure Blob Storage.
Använda en logisk säkerhetskopieringsenhet
En logisk säkerhetskopieringsenhet är ett valfritt, användardefinierat namn som pekar på en specifik fysisk säkerhetskopieringsenhet (en diskfil eller bandenhet). Med en logisk säkerhetskopieringsenhet kan du använda indirektion när du refererar till motsvarande fysiska säkerhetskopieringsenhet.
Att definiera en logisk säkerhetskopieringsenhet innebär att tilldela ett logiskt namn till en fysisk enhet. Till exempel kan en logisk enhet, AdventureWorksBackups, definieras så att den pekar på Z:\SQLServerBackups\AdventureWorks2022.bak filen eller \\.\tape0 bandenheten. Kommandon för säkerhetskopiering och återställning kan sedan ange AdventureWorksBackups som säkerhetskopieringsenhet i stället för DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak' eller TAPE = '\\.\tape0'.
Det logiska enhetsnamnet måste vara unikt bland alla logiska säkerhetskopieringsenheter på serverinstansen. Om du vill visa de befintliga logiska enhetsnamnen använder du katalogvyn sys.backup_devices. Den här vyn visar namnet på varje logisk säkerhetskopieringsenhet och beskriver typen och det fysiska filnamnet eller sökvägen för motsvarande fysiska säkerhetskopieringsenhet.
När en logisk säkerhetskopieringsenhet har definierats kan du i ett säkerhetskopierings- eller ÅTERSTÄLLNINGskommando ange den logiska säkerhetskopieringsenheten i stället för enhetens fysiska namn. Följande instruktion säkerhetskopierar AdventureWorks2025 till exempel databasen till den AdventureWorksBackups logiska säkerhetskopieringsenheten.
BACKUP DATABASE AdventureWorks2022
TO AdventureWorksBackups;
GO
Anmärkning
I en viss instruktion för säkerhetskopiering eller ÅTERSTÄLLNING är namnet på den logiska säkerhetskopieringsenheten och motsvarande fysiska säkerhetskopieringsenhetsnamn utbytbara.
En fördel med att använda en logisk säkerhetskopieringsenhet är att det är enklare att använda än en lång sökväg. Att använda en logisk säkerhetskopieringsenhet kan vara till hjälp om du planerar att skriva en serie säkerhetskopior till samma sökväg eller till en bandenhet. Logiska säkerhetskopieringsenheter är särskilt användbara för att identifiera bandsäkerhetskopieringsenheter.
Ett säkerhetskopieringsskript kan skrivas för att använda en viss logisk säkerhetskopieringsenhet. På så sätt kan du växla till en ny fysisk säkerhetskopiering utan att uppdatera skriptet. Växling innebär följande process:
Ta bort den ursprungliga logiska säkerhetskopieringsenheten.
Definiera en ny logisk säkerhetskopieringsenhet som använder det ursprungliga logiska enhetsnamnet men mappar till en annan fysisk säkerhetskopieringsenhet. Logiska säkerhetskopieringsenheter är särskilt användbara för att identifiera bandsäkerhetskopieringsenheter.
Speglade säkerhetskopieringsmedieuppsättningar
Spegling av säkerhetskopieringsmedieuppsättningar minskar effekten av fel på säkerhetskopieringsenheten. Dessa fel är särskilt allvarliga eftersom säkerhetskopior är den sista försvarslinjen mot dataförlust. I takt med att databasernas storlek ökar ökar sannolikheten att ett fel på en säkerhetskopieringsenhet eller ett media gör en säkerhetskopia icke-lagringsbar. Spegling av säkerhetskopieringsmedia ökar tillförlitligheten för säkerhetskopior genom att tillhandahålla redundans för den fysiska säkerhetskopieringsenheten. Mer information finns i Mirrored Backup Media Sets (SQL Server).
Anmärkning
Speglade medieuppsättningar för säkerhetskopiering stöds endast i SQL Server 2005 Enterprise-utgåvan och senare versioner.
Arkivera SQL Server-säkerhetskopior
Vi rekommenderar att du använder ett verktyg för säkerhetskopiering av filsystem för att arkivera disksäkerhetskopiorna och att du lagrar arkiven utanför platsen. Att använda disk har fördelen att du använder nätverket för att skriva de arkiverade säkerhetskopiorna till en disk utanför platsen. Azure Blob Storage kan användas som arkiveringsalternativ utanför platsen. Du kan antingen ladda upp dina disksäkerhetskopior eller skriva säkerhetskopiorna direkt till Azure Blob Storage.
En annan vanlig arkiveringsmetod är att skriva SQL Server-säkerhetskopior till en lokal säkerhetskopieringsdisk, arkivera dem på band och sedan lagra banden utanför platsen.
Relaterade uppgifter
Ange en diskenhet (SQL Server Management Studio)
Ange en bandenhet (SQL Server Management Studio)
Så här definierar du en logisk säkerhetskopieringsenhet
Definiera en logisk säkerhetskopieringsenhet för en diskfil (SQL Server)
Definiera en logisk säkerhetskopieringsenhet för en bandenhet (SQL Server)
BackupDevice (SMO)
Så här använder du en logisk säkerhetskopieringsenhet
Visa information om säkerhetskopieringsenheter
Säkerhetskopieringshistorik och Huvudinformation (SQL Server)
Visa egenskaper och innehåll för en logisk säkerhetskopieringsenhet (SQL Server)
Visa innehållet i ett säkerhetskopieringsband eller en fil (SQL Server)
Ta bort en logisk säkerhetskopieringsenhet
Se även
SQL Server, Backupenhetsobjekt
Säkerhetskopiering (Transact-SQL)
Underhållsplaner
Media Sets, Media Families och Backup Sets (SQL Server)
RESTORE (Transact-SQL)
ÅTERSTÄLL LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Speglade mediauppsättningar för säkerhetskopiering (SQL Server)