Skapa en underhållsplan
gäller för:SQL Server
I den här artikeln beskrivs hur du skapar en enda server- eller multiserverunderhållsplan i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Med hjälp av Management Studio kan du skapa underhållsplaner på två olika sätt: antingen med hjälp av guiden underhållsplan eller designytan. Guiden är bäst för att skapa grundläggande underhållsplaner, och när du skapar en plan med designytan kan du använda förbättrat arbetsflöde.
Begränsningar och restriktioner
För att skapa en underhållsplan för flera servrar måste en multiservermiljö som innehåller en huvudserver och en eller flera målservrar konfigureras. Underhållsplaner för flera servrar måste skapas och underhållas på huvudservern. Dessa planer kan visas, men inte underhållas, på målservrar.
Förutsättningar
Konfigurationsalternativet Agent XPs Server måste vara aktiverat.
Behörigheter
Om du vill skapa eller hantera underhållsplaner måste du vara medlem i sysadmin fast serverroll.
Använda SQL Server Management Studio
Skapa en underhållsplan med hjälp av guiden Underhållsplan
I Object Explorer väljer du plustecknet för att expandera servern där du vill skapa en underhållsplan.
Välj plustecknet för att expandera mappen Management.
Högerklicka på mappen Underhållsplaner och välj Guiden för underhållsplaner.
Följ stegen i guidens process för att skapa en underhållsplan. För mer information, se Använd guiden Underhållsplan.
Skapa en underhållsplan genom att använda designytan
I Object Explorer väljer du plustecknet för att expandera servern där du vill skapa en underhållsplan.
Välj plustecknet för att expandera mappen Management.
Högerklicka på mappen Underhållsplaner och välj ny underhållsplan.
Skapa en underhållsplan enligt stegen i Skapa en underhållsplan (designyta för underhållsplan).
Använd Transact-SQL
Skapa en underhållsplan
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
I det här exemplet skapar koden ett dagligt SQL Agent-jobb som körs kl. 23:30 (23:30), som omorganiserar alla index i tabellen
HumanResources.Employee
iAdventureWorks2022
-databasen.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