Sdílet prostřednictvím


KONTROLNÍ BOD (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vygeneruje ruční kontrolní bod v databázi SQL Serveru, ke které jste aktuálně připojeni.

Návod

Obecné informace o různých typech kontrolních bodů databáze a operací kontrolních bodů naleznete v tématu Kontrolní body databáze (SQL Server).

Transact-SQL konvence syntaxe

Syntax

CHECKPOINT [ checkpoint_duration ]  

Arguments

checkpoint_duration

Určuje požadovanou dobu v sekundách, po kterou se má ruční kontrolní bod dokončit.

checkpoint_duration je pokročilá možnost.

Po zadání checkpoint_duration se databázový stroj SQL Serveru pokusí provést kontrolní bod v požadované době.

Checkpoint_duration musí být výrazem typu int a musí být větší než nula.

Pokud tento parametr vynecháte, databázový stroj upraví dobu trvání kontrolního bodu, aby se minimalizoval dopad na výkon databázových aplikací.

Faktory ovlivňující dobu trvání operací kontrolních bodů

Obecně platí, že doba potřebná pro operaci kontrolního bodu se zvyšuje s počtem nezašpiněných stránek, které operace musí zapisovat. Pokud chcete minimalizovat dopad na výkon jiných aplikací, SQL Server ve výchozím nastavení upraví frekvenci zápisů, které provádí operace kontrolního bodu. Snížení frekvence zápisu zvyšuje dobu, po které operace kontrolního bodu vyžaduje dokončení. SQL Server používá tuto strategii pro ruční kontrolní bod, pokud není v příkazu zadána CHECKPOINT.

Dopad použití checkpoint_duration výkonu závisí na počtu nezašpiněných stránek, aktivitě v systému a skutečné době trvání.

  • Pokud by se například kontrolní bod normálně dokončil za 120 sekund, zadání checkpoint_duration 45 sekund způsobí, že SQL Server bude věnovat více prostředků kontrolnímu bodu, než by bylo ve výchozím nastavení přiřazeno.

  • Naproti tomu zadání checkpoint_duration 180 sekund způsobí, že SQL Server přiřadí méně prostředků, než by bylo ve výchozím nastavení přiřazeno.

Obecně platí, že krátká checkpoint_duration zvýší zdroje věnované kontrolnímu bodu, zatímco dlouhý checkpoint_duration sníží prostředky věnované kontrolnímu bodu. SQL Server vždy dokončí kontrolní bod, pokud je to možné, a CHECKPOINT příkaz se vrátí okamžitě po dokončení kontrolního bodu. V některých případech se proto kontrolní bod může dokončit dříve než zadaná doba trvání nebo může běžet déle než zadaná doba trvání.

Permissions

CHECKPOINT oprávnění jsou výchozí pro členy pevné role serveru sysadmin a db_owner a db_backupoperator pevné databázové role a nejsou přenositelné.