Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Tento článek popisuje, jak vytvořit plán údržby s jedním serverem nebo víceservery v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Pomocí sady Management Studio můžete plány údržby vytvořit jedním ze dvou způsobů: buď pomocí Průvodce plánem údržby, nebo návrhovou plochou. Průvodce je nejvhodnější pro vytváření základních plánů údržby a vytváření plánu pomocí návrhové plochy umožňuje využívat vylepšený pracovní postup.
Omezení a restrikce
Pokud chcete vytvořit plán údržby více serverů, musí být nakonfigurované prostředí s více servery obsahující jeden hlavní server a jeden nebo více cílových serverů. Plány údržby s více servery musí být vytvořeny a udržovány na hlavním serveru. Tyto plány je možné zobrazit, ale ne udržovat na cílových serverech.
Poznámka:
Ujistěte se, že máte vždy nainstalovanou nejnovější podporovanou verzi aplikace SQL Server Management Studio (SSMS). SSMS můžete nainstalovat pomocí komponenty SSIS (Služby Integrace SQL Serveru) v rámci funkce Business Intelligence, která umožňuje funkci plánu údržby. Pokud komponenta SSIS není nainstalovaná, některé funkce související s plány údržby nejsou k dispozici.
Požadavky
Je nutné povolit konfigurační možnost serveru Agent XPs .
Dovolení
Pokud chcete vytvořit nebo spravovat plány údržby, musíte být členem administrátora systému pevné role serveru.
Použití aplikace SQL Server Management Studio
Vytvoření plánu údržby pomocí Průvodce plánem údržby
V Průzkumníku objektů vyberte znaménko plus a rozbalte server, na kterém chcete vytvořit plán údržby.
Výběrem znaménka plus rozbalte složku Management.
Klikněte pravým tlačítkem na složku Plány údržby a vyberte Průvodce plánem údržby.
Podle pokynů průvodce vytvořte plán údržby. Další informace naleznete v tématu Použití průvodce plánem údržby.
Vytvoření plánu údržby pomocí návrhové plochy
V Průzkumníku objektů vyberte znaménko plus a rozbalte server, na kterém chcete vytvořit plán údržby.
Výběrem znaménka plus rozbalte složku Management.
Klikněte pravým tlačítkem na složku Plány údržby a vyberte Nový plán údržby.
Vytvořte plán údržby podle kroků v Vytvoření plánu údržby (Návrh Plánu Údržby).
Použijte Transact-SQL
Vytvoření plánu údržby
V Průzkumníku objektůse připojte k instanci Databázového stroje.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.
V tomto příkladu kód vytvoří každodenní úlohu agenta SQL, která běží v 23:30 (11:30 p.m.), která reorganizuje všechny indexy v tabulce
HumanResources.Employeev databáziAdventureWorks2025.USE [msdb]; GO -- Adds a new job, executed by the SQL Server Agent service, called "HistoryCleanupTask_1". EXEC [dbo].[sp_add_job] @job_name = N'HistoryCleanupTask_1', @enabled = 1, @description = N'Clean up old task history'; GO -- Adds a job step for reorganizing all of the indexes in the HumanResources.Employee table to the HistoryCleanupTask_1 job. EXEC [dbo].[sp_add_jobstep] @job_name = N'HistoryCleanupTask_1', @step_name = N'Reorganize all indexes on HumanResources.Employee table', @subsystem = N'TSQL', @command = N'USE [AdventureWorks2022]; GO ALTER INDEX [AK_Employee_LoginID] ON [HumanResources].[Employee] REORGANIZE WITH (LOB_COMPACTION = ON); GO USE [AdventureWorks2022]; GO ALTER INDEX [AK_Employee_NationalIDNumber] ON [HumanResources].[Employee] REORGANIZE WITH (LOB_COMPACTION = ON); GO USE [AdventureWorks2022]; GO ALTER INDEX [AK_Employee_rowguid] ON [HumanResources].[Employee] REORGANIZE WITH (LOB_COMPACTION = ON); GO USE [AdventureWorks2022]; GO ALTER INDEX [IX_Employee_OrganizationLevel_OrganizationNode] ON [HumanResources].[Employee] REORGANIZE WITH (LOB_COMPACTION = ON); GO USE [AdventureWorks2022]; GO ALTER INDEX [IX_Employee_OrganizationNode] ON [HumanResources].[Employee] REORGANIZE WITH (LOB_COMPACTION = ON); GO USE [AdventureWorks2022]; GO ALTER INDEX [PK_Employee_BusinessEntityID] ON [HumanResources].[Employee] REORGANIZE WITH (LOB_COMPACTION = ON); GO', @retry_attempts = 5, @retry_interval = 5; GO -- Creates a schedule named RunOnce that executes every day when the time on the server is 23:30. EXEC [dbo].[sp_add_schedule] @schedule_name = N'RunOnce', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; GO -- Attaches the RunOnce schedule to the job HistoryCleanupTask_1. EXEC [dbo].[sp_attach_schedule] @job_name = N'HistoryCleanupTask_1', @schedule_name = N'RunOnce'; GO
Související obsah
- sp_add_job (Transact-SQL)
- sp_add_jobstep (Transact-SQL)
- sp_add_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)