维护计划
更新日期: 2006 年 12 月 12 日
维护计划可创建所需的任务工作流,以确保优化数据库、定期进行备份并确保数据库一致。维护计划向导还可创建核心维护计划,但手动创建计划具有更大的灵活性。在 SQL Server 2005 数据库引擎中,维护计划会创建由 SQL Server 代理作业运行的 Integration Services 包。可以按预订的时间间隔手动或自动运行这些维护任务。
SQL Server 2005 维护计划可提供以下功能:
- 使用各种典型维护任务创建工作流的功能。此外,还可以创建自己的 Transact-SQL 脚本。
- 概念性层次结构。使用每个计划可创建或编辑任务工作流。每个计划的任务可分组到子计划中,可以安排这些子计划在不同时间运行。
- 支持可以用于主服务器/目标服务器环境中的多服务器计划。
- 支持在远程服务器上记录计划历史记录。
- 支持 Windows 身份验证和 SQL Server 身份验证。 请尽可能使用 Windows 身份验证。
维护计划仅对兼容级别设置为 80 或更高的数据库运行。SQL Server Management Studio 中的维护计划设计器不能显示数据库兼容级别设置为 70 或更低的数据库。
您可以右键单击 SQL Server 2000 数据库维护计划并选择**“迁移”**,将 SQL Server 2000 数据库维护计划迁移到 SQL Server 2005 计划。有关详细信息,请参阅如何迁移 SQL Server 2000 数据库维护计划。
您必须是 sysadmin 角色的成员才可以创建和管理维护计划,并可以在对象资源管理器中查看这些维护计划。对象资源管理器中的“SQL Server 代理”节点只对 sysadmin 固定服务器角色以及 SQLAgentReaderRole、SQLAgentUserRole 或 SQLAgentOperatorRole 固定数据库角色的成员显示。
在多服务器环境中创建或管理维护计划的附加配置
如果在目标服务器 (TSX) 上运行 SQL Server 代理的帐户不是主服务器 (MSX) 上 sysadmin 固定服务器角色的成员,则必须在主服务器上授予该帐户下列权限,才能导入分布式维护计划。
USE msdb;
GO
EXEC sys.sp_addrolemember @rolename = 'db_dtsoperator', @membername = 'TargetServersRole';
注意: |
---|
将 TargetServersRole 帐户添加到 db_dtsoperator 角色可使在目标服务器上运行 SQL Server 代理的帐户读取存储在主服务器上 msdb 中的所有 SSIS 包,其中包括存储在这些包内的任何密码。 |
如果未授予此权限,在目标服务器刷新运行维护计划的多服务器 SQL Server 代理作业时,目标服务器上的 SQL Server 代理日志中将显示下列错误:
未能从 < NameOfMasterServer> 导入维护计划‘<NameOfMaintenancePlan>’: Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: 尝试在 SQL 上查找某个文件夹时遇到 OLE DB 错误,错误代码为 0x80040E09 (拒绝了对对象 'sp_dts_getfolder' (数据库 'msdb',架构 'dbo')的 EXECUTE 权限。)”
在更改了这些权限之后,必须在目标服务器上重新加载各个现有分布式维护计划。对每个计划进行细微更改并保存。这将强制目标服务器从主服务器重新加载维护计划。默认情况下,目标服务器会每 60 秒更新一次主服务器上的作业。在保存维护计划之后,在目标服务器上可以显示并运行该维护计划之前,会出现至少 120 秒的延迟。
有关如何创建维护计划的信息,请参阅如何创建维护计划。
请参阅
任务
如何创建多服务器维护计划
如何添加或修改维护计划子计划的计划
概念
其他资源
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 7 月 17 日 |
|
2005 年 12 月 5 日 |
|