Delen via


Een onderhoudsplan maken

van toepassing op:SQL Server-

In dit artikel wordt beschreven hoe u een onderhoudsplan voor één server of meerdere servers in SQL Server maakt met behulp van SQL Server Management Studio of Transact-SQL. Met Management Studio kunt u op twee manieren onderhoudsplannen maken: met behulp van de wizard Onderhoudsplan of het ontwerpoppervlak. De wizard is het beste voor het maken van basisonderhoudsplannen, terwijl u een plan maakt met behulp van het ontwerpoppervlak, zodat u een verbeterde werkstroom kunt gebruiken.

Beperkingen en beperkingen

Als u een onderhoudsplan voor meerdere servers wilt maken, moet een omgeving met meerdere servers met één hoofdserver en een of meer doelservers worden geconfigureerd. Onderhoudsplannen voor meerdere servers moeten worden gemaakt en onderhouden op de hoofdserver. Deze plannen kunnen worden bekeken, maar niet beheerd, op doelservers.

Voorwaarden

De agent-XPs-serverconfiguratieoptie moet zijn ingeschakeld.

Machtigingen

Als u onderhoudsplannen wilt maken of beheren, moet u lid zijn van de sysadmin vaste serverfunctie.

SQL Server Management Studio gebruiken

Een onderhoudsplan maken met de wizard Onderhoudsplan

  1. Selecteer in Objectverkenner het plusteken om de server uit te vouwen waarop u een onderhoudsplan wilt maken.

  2. Selecteer het plusteken om de map Management uit te vouwen.

  3. Klik met de rechtermuisknop op de map Onderhoudsplannen en selecteer Onderhoudsplanwizard.

  4. Volg de stappen van de wizard om een onderhoudsplan te maken. Zie voor meer informatie de wizard Onderhoudsplan gebruiken.

Een onderhoudsplan maken met behulp van het ontwerpoppervlak

  1. Selecteer in Objectverkenner het plusteken om de server uit te vouwen waarop u een onderhoudsplan wilt maken.

  2. Selecteer het plusteken om de map Management uit te vouwen.

  3. Klik met de rechtermuisknop op de map Onderhoudsplannen en selecteer Nieuw onderhoudsplan.

  4. Maak een onderhoudsplan volgens de stappen in Een onderhoudsplan maken (Ontwerpoppervlak voor onderhoudsplannen).

Gebruik Transact-SQL

Een onderhoudsplan maken

  1. Maak in Objectverkennerverbinding met een exemplaar van Database Engine.

  2. Selecteer op de standaardbalk Nieuwe query.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren.

    In dit voorbeeld wordt met de code een dagelijkse SQL Agent-taak gemaakt die wordt uitgevoerd om 23:30 (11:30 uur), waarmee alle indexen in de HumanResources.Employee tabel in de AdventureWorks2022-database opnieuw worden georganiseerd.

    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
    

Volgende stappen