创建维护计划
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中创建单服务器或多服务器维护计划。 使用 Management Studio,可以通过以下两种方式之一创建这些维护计划:使用维护计划向导或设计图面。 向导是创建基本维护计划的最佳方法,而使用设计图面创建计划允许您使用增强的工作流。
本主题内容
开始之前:
若要创建维护计划,请使用:
开始之前
限制和局限
若要创建多服务器维护计划,必须配置包含一个主服务器和一个(或多个)目标服务器的多服务器环境。 必须在主服务器上创建和维护多服务器维护计划。 在目标服务器上可以查看这些计划,但不能进行维护。
安全性
权限
若要创建或管理维护计划,您必须是 sysadmin 固定服务器角色的成员。
使用 SQL Server Management Studio
使用维护计划向导创建维护计划
在对象资源管理器中,单击加号以便展开您要创建维护计划的服务器。
单击加号以便展开 “管理” 文件夹。
右键单击“维护计划”文件夹,然后选择“维护计划向导”。
按照向导中显示的步骤创建维护计划。 有关详细信息,请参阅 Use the Maintenance Plan Wizard。
使用设计图面创建维护计划
在对象资源管理器中,单击加号以便展开您要创建维护计划的服务器。
单击加号以便展开 “管理” 文件夹。
右键单击“维护计划” 文件夹,然后选择“新建维护计划” 。
按照创建维护计划 (维护计划设计图面) 中的步骤创建维护计划。
“使用 Transact-SQL”
创建维护计划
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
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
有关详细信息,请参阅: