Dela via


Aktivera eller inaktivera kontrollsummor för säkerhetskopiering under säkerhetskopiering eller återställning (SQL Server)

gäller för:SQL Server

Den här artikeln beskriver hur du aktiverar eller inaktiverar kontrollsummor för säkerhetskopiering när du säkerhetskopierar eller återställer en databas i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.

Behörigheter

SÄKERHETSKOPIA

BACKUP DATABASE- och BACKUP LOG-behörigheter är som standard tilldelade medlemmar i rollen sysadmin för fast server samt de fasta databasrollerna db_owner och db_backupoperator.

Ägarskaps- och behörighetsproblem på säkerhetskopieringsenhetens fysiska fil 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. 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.

ÅTERSTÄLLA

Om databasen som återställs inte finns måste användaren ha CREATE DATABASE behörighet för att kunna köra RESTORE. Om databasen finns, anges RESTORE behörigheter som standard för medlemmar i sysadmin och dbcreator fasta serverroller och ägaren (dbo) av databasen (för alternativet FROM DATABASE_SNAPSHOT finns databasen alltid).

RESTORE behörigheter ges till roller där medlemskapsinformation alltid är lättillgänglig för servern. Eftersom fast databasrollmedlemskap endast kan kontrolleras när databasen är tillgänglig och oskadad, vilket inte alltid är fallet när RESTORE körs, har medlemmar i db_owner fast databasroll inte RESTORE behörigheter.

Använda SQL Server Management Studio

Aktivera eller inaktivera kontrollsummor under en säkerhetskopieringsåtgärd

  1. Följ stegen för att skapa en databassäkerhetskopia.

  2. På sidan Alternativ går du till avsnittet Tillförlitlighet och väljer Utför kontrollsumma innan du skriver till media.

Använd Transact-SQL

Aktivera eller inaktivera kontrollsumma för säkerhetskopiering för en säkerhetskopieringsåtgärd

  1. Anslut till databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Om du vill aktivera kontrollsummor för säkerhetskopiering i en BACKUP (Transact-SQL)-instruktion anger du alternativet WITH CHECKSUM. Om du vill inaktivera kontrollsummor för säkerhetskopiering anger du alternativet WITH NO_CHECKSUM. Detta är standardbeteendet, förutom en komprimerad säkerhetskopia. I följande exempel anges att kontrollsummor ska beräknas.

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

Aktivera eller inaktivera kontrollsumma för säkerhetskopiering för en återställningsåtgärd

  1. Anslut till databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Om du vill aktivera kontrollsummor för säkerhetskopiering i en RESTORE-instruktioner (Transact-SQL) -instruktionen anger du alternativet WITH CHECKSUM. Detta är standardbeteendet för en komprimerad säkerhetskopia. Om du vill inaktivera kontrollsummor för säkerhetskopiering anger du alternativet WITH NO_CHECKSUM. Detta är standardbeteendet, förutom en komprimerad säkerhetskopia. I följande exempel anges att kontrollsummor för säkerhetskopiering ska utföras.

RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO

Varning

Om du uttryckligen begär CHECKSUM för en återställningsåtgärd, och om säkerhetskopian innehåller säkerhetskopiekontrollsummor, verifieras både säkerhetskopiekontrollsummor och sidkontrollsummor, precis som i standardfallet. Men om säkerhetskopieringsuppsättningen saknar kontrollsummor för säkerhetskopiering misslyckas återställningsåtgärden med ett meddelande som anger att kontrollsummor inte finns.