创建维护计划

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中创建单个服务器或多服务器维护计划。 使用 Management Studio,可以通过以下两种方式之一创建这些维护计划:使用维护计划向导或设计图面。 该向导最适合创建简单的维护方案,而使用设计界面创建方案,则可以利用增强的工作流。

本主题内容

在您开始之前

局限性与限制

若要创建多服务器维护计划,必须配置包含一台主服务器和一个或多个目标服务器的多服务器环境。 必须在主服务器上创建和维护多服务器维护计划。 可以在目标服务器上查看这些计划,但不维护这些计划。

安全

权限

若要创建或管理维护计划,你必须是 sysadmin 固定服务器角色的成员。

使用 SQL Server Management Studio

使用维护计划向导创建维护计划

  1. 在对象资源管理器中,单击加号以展开要在其中创建维护计划的服务器。

  2. 单击加号以展开 “管理 ”文件夹。

  3. 右键单击 “维护计划 ”文件夹,然后选择“ 维护计划向导”。

  4. 按照向导的步骤创建维护计划。 有关详细信息,请参阅 “使用维护计划向导”。

使用设计界面创建维护计划

  1. 在对象资源管理器中,单击加号以展开要在其中创建维护计划的服务器。

  2. 单击加号以展开 “管理 ”文件夹。

  3. 右键单击 “维护计划 ”文件夹,然后选择“ 新建维护计划”。

  4. 按照 “创建维护计划”(维护计划设计图面)中的步骤创建维护计划。

使用 Transact-SQL

创建维护计划

  1. “对象资源管理器” 中,连接到某个数据库引擎实例。

  2. 在标准栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行

    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 AdventureWorks2012  
    GO  
    ALTER INDEX AK_Employee_LoginID ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX AK_Employee_NationalIDNumber ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX AK_Employee_rowguid ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX IX_Employee_OrganizationLevel_OrganizationNode ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    GO  
    ALTER INDEX IX_Employee_OrganizationNode ON HumanResources.Employee REORGANIZE WITH ( LOB_COMPACTION = ON )   
    GO  
    USE AdventureWorks2012  
    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:00.   
    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 sp_attach_schedule  
       @job_name = N'HistoryCleanupTask_1'  
       @schedule_name = N'RunOnce' ;   
    GO  
    
    

有关详细信息,请参见: