Zálohovací sada (Transact-SQL)

platí pro:SQL Serverazure SQL Managed InstanceAnalytics Platform System (PDW)

Obsahuje řádek pro každou sadu záloh. Sada záloh obsahuje zálohu z jedné úspěšné operace zálohování. RESTORE, RESTORERESTORE FILELISTONLY, RESTORERESTORE HEADERONLY, a příkazy pracují RESTORERESTORE VERIFYONLY na jedné záložní sadě v rámci mediální sady na určeném záložním zařízení nebo zařízeních.

Tato tabulka je uložena v databázi msdb .

Název sloupce Datový typ Description
backup_set_id int Jedinečné identifikační číslo zálohovací sady, které identifikuje zálohovací sadu. Identita, primární klíč.
backup_set_uuid uniqueidentifier Jedinečné identifikační číslo zálohovací sady, které identifikuje zálohovací sadu.
media_set_id int Jedinečné identifikační číslo mediální sady, které identifikuje mediální sadu obsahující zálohovací sadu. Odkazuje na backupmediaset(media_set_id).
first_family_number tinyint Rodinné číslo média, kde začíná zálohovací sada. Může mít hodnotu NULL.
first_media_number smallint Mediální číslo média, kde začíná zálohovací sada. Může mít hodnotu NULL.
last_family_number tinyint Rodinné číslo média, kde končí záložní sada. Může mít hodnotu NULL.
last_media_number smallint Mediální číslo média, kde končí záložní sada. Může mít hodnotu NULL.
catalog_family_number tinyint Rodinné číslo médií obsahujících začátek adresáře zálohovací sady. Může mít hodnotu NULL.
catalog_media_number smallint Mediální číslo média obsahujícího začátek adresáře zálohovací sady. Může mít hodnotu NULL.
pozice int Pozice zálohovací sady použitá při obnovovací operaci k nalezení příslušné zálohovací sady a souborů. Může mít hodnotu NULL. Pro více informací viz SOUBOR v BACKUP (Transact-SQL).
expiration_date datetime Datum a čas vypršení platnosti sady záloh Může mít hodnotu NULL.
software_vendor_id int Identifikační číslo dodavatele softwaru, který zapisuje záložní mediální hlavičku. Může mít hodnotu NULL.
name nvarchar(128) Název zálohovací sady Může mít hodnotu NULL.
description nvarchar(255) Popis záložní sady. Může mít hodnotu NULL.
User_name nvarchar(128) Jméno uživatele, který provádí zálohovací operaci. Může mít hodnotu NULL.
software_major_version tinyint Hlavní číslo verze Microsoft SQL Server. Může mít hodnotu NULL.
software_minor_version tinyint Vedlejší číslo verze SQL Server. Může mít hodnotu NULL.
software_build_version smallint Číslo sestavy SQL Server. Může mít hodnotu NULL.
time_zone smallint Rozdíl mezi místním časem (kde probíhá zálohovací operace) a koordinovaným univerzálním časem (UTC) v 15minutových intervalech s využitím časových pásem v době zahájení záložní operace. Hodnoty lze -48 až +48 včetně. Hodnota 127 znamená neznámé. Například -20 je východní standardní čas (EST) nebo pět hodin po UTC. Může mít hodnotu NULL.
mtf_minor_version tinyint Microsoft Tape Format menší číslo verze. Může mít hodnotu NULL.
first_lsn čísel(25 0) Logární sekvenční číslo prvního nebo nejstaršího logu v záložní sadě. Může mít hodnotu NULL.
last_lsn čísel(25 0) Logové sekvenční číslo dalšího záznamu po záloze zálohy. Může mít hodnotu NULL.
checkpoint_lsn čísel(25 0) Sekvence logu záznamu záznamu, kde musí začít opakování. Může mít hodnotu NULL.
database_backup_lsn čísel(25 0) Pořadové číslo protokolu nejnovější úplné zálohy databáze. Může mít hodnotu NULL.

database_backup_lsn je "začátek kontrolního bodu", který se spustí, když začíná zálohování. Tento LSN bude odpovídat first_lsn pokud je záloha provedena, když je databáze nečinná a replikace není nakonfigurována.
database_creation_date datetime Datum a čas původního vytvoření databáze. Může mít hodnotu NULL.
backup_start_date datetime Datum a čas zahájení zálohování. Může mít hodnotu NULL.
backup_finish_date datetime Datum a čas dokončení záložní operace. Může mít hodnotu NULL.
type char(1) Typ zálohování. Může to být:

D = Databáze
I = Diferenciální databáze
L = Log
F = soubor nebo skupina souborů
G = Diferenciální soubor
P = Parciální
Q = Diferenciální parciální

Může mít hodnotu NULL.
sort_order smallint Pořadí třídění serveru, který provádí zálohovací operaci. Může mít hodnotu NULL. Pro více informací o pořadí třídění a třídění viz Podpora kolace a Unicode.
strana_kódu smallint Kódová stránka serveru provádějícího zálohovací operaci. Může mít hodnotu NULL. Pro více informací o kódových stránkách viz Podpora třídění a Unicode.
compatibility_level tinyint Nastavení úrovně kompatibility pro databázi. Může to být:

90 = SQL Server 2005 (9.x)
100 = SQL Server 2008 (10.0.x)
110 = SQL Server 2012 (11.x)
120 = SQL Server 2014 (12.x)
130 = SQL Server 2016 (13.x)
140 = SQL Server 2017 (14.x)
150 = SQL Server 2019 (15.x)
160 = SQL Server 2022 (16.x)

Může mít hodnotu NULL.

Pro více informací o úrovních kompatibility viz ALTER DATABASE Úroveň kompatibility (Transact-SQL).
database_version int Číslo verze databáze. Může mít hodnotu NULL.
backup_size numeric(20;0) Velikost zálohovací sady v bajtech. Může mít hodnotu NULL. Pro zálohy VSS je backup_size odhadovaná hodnota.
database_name nvarchar(128) Název databáze zapojené do operace zálohování. Může mít hodnotu NULL.
server_name nvarchar(128) Název serveru, který provozuje zálohovací operaci SQL Server. Může mít hodnotu NULL.
machine_name nvarchar(128) Název počítače se systémem SQL Server. Může mít hodnotu NULL.
flags int V SQL Server byl sloupec příznaků zrušen a nahrazen následujícími sloupci bitů:

has_bulk_logged_data
is_snapshot
is_readonly
is_single_user
has_backup_checksums
is_damaged
begins_log_chain
has_incomplete_metadata
is_force_offline
is_copy_only

Může mít hodnotu NULL.

V záložních sadách z dřívějších verzí SQL Server jsou flagové bity:
1 = Záloha obsahuje minimálně zaznamenaná data.
2 = S SNAPSHOTEM byl použit.
4 = Databáze byla v době zálohování pouze pro čtení.
8 = Databáze byla v době zálohování v režimu pro jednoho uživatele.
unicode_locale int Unicode lokalita. Může mít hodnotu NULL.
unicode_compare_style int Porovnávání stylu v Unicode. Může mít hodnotu NULL.
collation_name nvarchar(128) Název kolace. Může mít hodnotu NULL.
Is_password_protected bit Je záložní sada

Chráněno heslem:

0 = Nechráněno

1 = Chráněno
recovery_model nvarchar(60) Model obnovy databáze:

ÚPLNÝ

BULK-LOGGED

SIMPLE
has_bulk_logged_data bit 1 = Záloha obsahuje hromadně zaznamenaná data.
is_snapshot bit 1 = Záloha byla provedena pomocí možnosti SNAPSHOT.
is_readonly bit 1 = Databáze byla v době zálohování pouze pro čtení.
is_single_user bit 1 = Databáze byla v době zálohování jednouživatelská.
has_backup_checksums bit 1 = Záloha obsahuje záložní kontrolní součty.
is_damaged bit 1 = Při vytvoření této zálohy bylo zjištěno poškození databáze. Zálohovací operace byla požádána, aby pokračovala i přes chyby.
begins_log_chain bit 1 = Toto je první v souvislém řetězci záložních záznamů. Řetězec logů začíná první zálohou logů pořízenou po vytvoření databáze nebo při přechodu z jednoduchého na plně či hromadně logovaný model obnovy.
has_incomplete_metadata bit 1 = Záloha taillog s neúplnými metadaty. Další informace naleznete v tématu Tail-Log zálohování (SQL Server).
is_force_offline bit 1 = Databáze byla při zálohování odpojena pomocí možnosti NORECOVERY.
is_copy_only bit 1 = Záloha pouze pro kopii. Další informace najdete v tématu Copy-Only zálohování (SQL Server).
first_recovery_fork_guid uniqueidentifier ID startovního recovery forku. To odpovídá FirstRecoveryForkID z RESTORE HEADERONLY.

U záloh dat first_recovery_fork_guid rovná last_recovery_fork_guid.
last_recovery_fork_guid uniqueidentifier ID koncové recovery fork. To odpovídá RecoveryForkID .RESTORE HEADERONLY

U záloh dat first_recovery_fork_guid rovná last_recovery_fork_guid.
fork_point_lsn čísel(25 0) Pokud first_recovery_fork_guid není rovno last_recovery_fork_guid, jedná se o logaritmické sekvenční číslo vidlice. Jinak je hodnota NULL.
database_guid uniqueidentifier Unikátní ID databáze. To odpovídá BindingID .RESTORE HEADERONLY Po obnovení databáze je přiřazena nová hodnota.
family_guid uniqueidentifier Jedinečné ID původní databáze při vytváření Tato hodnota zůstává stejná i při obnovení databáze, i pod jiným názvem.
differential_base_lsn čísel(25 0) Základní LSN pro diferenciální zálohy. Pro jednobázovou diferenciální zálohu; změny s LSN většími nebo rovnými differential_base_lsn jsou zahrnuty v diferenciální záložní verzi.

Pro multibázový diferenciál je hodnota NULL a základní LSN musí být určeno na úrovni souboru (viz zálohovací soubor (Transact-SQL)).

U nediferenciálních typů záloh je hodnota vždy NULL.
differential_base_guid uniqueidentifier Pro jednobázovou diferenciální zálohu je hodnota jedinečný identifikátor diferenciální báze.

Pro vícebázové diferenciály je hodnota NULL a diferenciální báze musí být určena na úrovni souboru.

Pro nediferenciální typy záloh je hodnota NULL.
compressed_backup_size Numerické(20,0) Celkový počet bajtů zálohy uložené na disku.

Pro výpočet kompresního poměru použijte compressed_backup_size a backup_size.

Během msdb upgradu je tato hodnota nastavena na NULL. což znamená nekomprimovanou zálohu.
key_algorithm nvarchar(32) Šifrovací algoritmus použitý k zašifrování zálohy. NO_Encryption hodnota znamenala, že záloha nebyla zašifrována.
encryptor_thumbprint varbinary(20) Otisk palce šifrátoru, který lze použít k nalezení certifikátu nebo asymetrického klíče v databázi. V případě, že záloha nebyla zašifrována, je tato hodnota NULL.
encryptor_type nvarchar(32) Typ použitého šifrátoru: certifikát nebo asymetrický klíč. V případě, že záloha nebyla zašifrována, je tato hodnota NULL.
last_valid_restore_time datetime Časové razítko posledního záznamu transakčního logu zahrnutého v záloze transakčního logu, pro záznamy s časovým razítkem. Pomáhá při sestavování plánů obnovy tím, že vám pomůže najít poslední zálohu logu k obnovení, když je klauzule STOPAT uvedena ve RESTORE LOG výroku. Tato záloha logů má last_valid_restore_time přísně větší než čas uvedený v klauzuli STOPAT . Představeno v SYSTÉMU SQL Server 2022 (16.x).
compression_algorithm nvarchar(32) Kompresní algoritmus použitý při vytváření zálohy SQL Server. Představeno v SYSTÉMU SQL Server 2022 (16.x). Výchozí hodnota je MS_XPRESS. Pro více informací viz BACKUP KOMPRESE a integrované zrychlení a offloading.

Remarks

  • RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY vyplní sloupec backupmediaset tabulky příslušnými hodnotami z hlavičky media-set.
  • Pro snížení počtu řádků v této tabulce a v dalších zálohovacích a historických tabulkách spusťte sp_delete_backuphistory uloženou proceduru.
  • Pro SQL Managed Instance viz Transparentnost záloh a jak monitorovat zálohy.

Examples

Historie zálohování dotazů

Následující dotaz vrací úspěšné zálohovací informace z posledních dvou měsíců.

SELECT bs.database_name,
    backuptype = CASE 
        WHEN bs.type = 'D' AND bs.is_copy_only = 0 THEN 'Full Database'
        WHEN bs.type = 'D' AND bs.is_copy_only = 1 THEN 'Full Copy-Only Database'
        WHEN bs.type = 'I' THEN 'Differential database backup'
        WHEN bs.type = 'L' THEN 'Transaction Log'
        WHEN bs.type = 'F' THEN 'File or filegroup'
        WHEN bs.type = 'G' THEN 'Differential file'
        WHEN bs.type = 'P' THEN 'Partial'
        WHEN bs.type = 'Q' THEN 'Differential partial'
        END + ' Backup',
    CASE bf.device_type
        WHEN 2 THEN 'Disk'
        WHEN 5 THEN 'Tape'
        WHEN 7 THEN 'Virtual device'
        WHEN 9 THEN 'Azure Storage'
        WHEN 105 THEN 'A permanent backup device'
        ELSE 'Other Device'
        END AS DeviceType,
    bms.software_name AS backup_software,
    bs.recovery_model,
    bs.compatibility_level,
    BackupStartDate = bs.Backup_Start_Date,
    BackupFinishDate = bs.Backup_Finish_Date,
    LatestBackupLocation = bf.physical_device_name,
    backup_size_mb = CONVERT(DECIMAL(10, 2), bs.backup_size / 1024. / 1024.),
    compressed_backup_size_mb = CONVERT(DECIMAL(10, 2), bs.compressed_backup_size / 1024. / 1024.),
    database_backup_lsn, -- For tlog and differential backups, this is the checkpoint_lsn of the FULL backup it is based on.
    checkpoint_lsn,
    begins_log_chain,
    bms.is_password_protected
FROM msdb.dbo.backupset bs
LEFT JOIN msdb.dbo.backupmediafamily bf
    ON bs.[media_set_id] = bf.[media_set_id]
INNER JOIN msdb.dbo.backupmediaset bms
    ON bs.[media_set_id] = bms.[media_set_id]
WHERE bs.backup_start_date > DATEADD(MONTH, - 2, sysdatetime()) --only look at last two months
ORDER BY bs.database_name ASC,
    bs.Backup_Start_Date DESC;