Einen Wartungsplan erstellen
Gilt für:SQL Server
In diesem Artikel wird beschrieben, wie Sie einen Wartungsplan mit einem einzelnen Server oder mehreren Servern in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erstellen. Mithilfe von Management Studio können Sie Wartungspläne auf eine von zwei Arten erstellen: entweder mithilfe des Wartungsplan-Assistenten oder der Entwurfsoberfläche. Der Assistent eignet sich am besten für das Erstellen von grundlegenden Wartungsplänen; wenn Sie die Entwurfsoberfläche zum Erstellen eines Plans verwenden, können Sie erweiterten Workflow nutzen.
Beschränkungen und Einschränkungen
Wenn Sie einen Multiserver-Wartungsplan erstellen möchten, muss eine Multiserverumgebung mit einem Masterserver und mindestens einem Zielserver konfiguriert sein. Multiserver-Wartungspläne müssen auf dem Masterserver erstellt und verwaltet werden. Diese Pläne können auf Zielservern zwar angezeigt, jedoch nicht verwaltet werden.
Voraussetzungen
Die Agent XPs-Serverkonfigurationsoption muss aktiviert sein.
Berechtigungen
Sie müssen Mitglied der festen Serverrolle sysadmin sein, um Wartungspläne erstellen oder verwalten zu können.
Verwenden Sie SQL Server Management Studio
Erstellen eines Wartungsplans mithilfe des Wartungsplan-Assistenten
Wählen Sie im Objekt-Explorer das Pluszeichen aus, um den Server zu erweitern, auf dem Sie einen Wartungsplan erstellen möchten.
Wählen Sie das Pluszeichen aus, um den Verwaltungsordner zu erweitern.
Klicken Sie mit der rechten Maustaste auf den Ordner Wartungspläne , und wählen Sie Wartungsplanungs-Assistentaus.
Führen Sie die Schritte des Assistenten aus, um einen Wartungsplan zu erstellen. Weitere Informationen finden Sie unter Use the Maintenance Plan Wizard.
Erstellen eines Wartungsplans mithilfe der Entwurfsoberfläche
Wählen Sie im Objekt-Explorer das Pluszeichen aus, um den Server zu erweitern, auf dem Sie einen Wartungsplan erstellen möchten.
Wählen Sie das Pluszeichen aus, um den Verwaltungsordner zu erweitern.
Klicken Sie mit der rechten Maustaste auf den Ordner Wartungspläne , und wählen Sie Neuer Wartungsplanaus.
Erstellen Sie einen Wartungsplan, der die Schritte unter Erstellen eines Wartungsplans (Wartungsplan-Entwurfsoberfläche) ausführt.
Verwenden von Transact-SQL
Einen Wartungsplan erstellen
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.
In diesem Beispiel erstellt der Code einen täglichen SQL-Agent-Auftrag, der bei 23:30 (11:30 Uhr) ausgeführt wird, wodurch alle Indizes der Tabelle in der
HumanResources.Employee
AdventureWorks2022
Datenbank neu organisiert werden.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
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für