创建维护计划
06/25/2013
本文内容
本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中创建单服务器或多服务器维护计划。 通过使用 Management Studio,您可以通过以下两种方式之一创建这些维护计划:使用维护计划向导或设计图面。 向导是创建基本维护计划的最佳方法,而使用设计图面创建计划允许您使用增强的工作流。
本主题内容
开始之前:
限制和局限
安全性
若要创建维护计划,请使用:
SQL Server Management Studio
Transact-SQL
开始之前
限制和局限
若要创建多服务器维护计划,必须配置包含一个主服务器和一个(或多个)目标服务器的多服务器环境。 必须在主服务器上创建和维护多服务器维护计划。 在目标服务器上可以查看这些计划,但不能进行维护。
安全性
权限
若要创建或管理维护计划,您必须是 sysadmin 固定服务器角色的成员。
[Top]
使用 SQL Server Management Studio
使用维护计划向导创建维护计划
在对象资源管理器中,单击加号以便展开您要创建维护计划的服务器。
单击加号以便展开**“管理”**文件夹。
右键单击**“维护计划”文件夹,然后选择“维护计划向导”**。
按照向导中显示的步骤创建维护计划。 有关详细信息,请参阅使用维护计划向导。
使用设计图面创建维护计划
在对象资源管理器中,单击加号以便展开您要创建维护计划的服务器。
单击加号以便展开**“管理”**文件夹。
右键单击**“维护计划”文件夹,然后选择“新建维护计划”**。
[Top]
使用 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
[Top]