创建维护计划

本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中创建单服务器或多服务器维护计划。 通过使用 Management Studio,您可以通过以下两种方式之一创建这些维护计划:使用维护计划向导或设计图面。 向导是创建基本维护计划的最佳方法,而使用设计图面创建计划允许您使用增强的工作流。

本主题内容

  • 开始之前:

    限制和局限

    安全性

  • 若要创建维护计划,请使用:

    SQL Server Management Studio

    Transact-SQL

开始之前

限制和局限

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

安全性

权限

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

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

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

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

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

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

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

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

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

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

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

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

用于“返回首页”链接的箭头图标[Top]

使用 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
    

有关详细信息,请参阅:

用于“返回首页”链接的箭头图标[Top]