SQL Server Maintenance plan 维护计划 |
|||||||
被定期自动执行的维护计划: 用新的填充(占空)因子重建索引以重组数据和索引页上的数据。这确保数据库页包含相等分布的数据和剩余空间 ,这允许未来更快速成长。 从数据库页中移出空数据页压缩数据文件。更新索引统计以确保查询优化有表分布数据值得最新信息。这允许查询优化作出访问数据的最优途径的更好的判断,因为它有关于数据存储在数据库中的更多信息。虽然索引统计被sql server周期更新的,这个选项强制统计立即更新。执行数据库上的数据和数据页内部一致性检查以确保系统或软件问题不会损坏数据备份数据库和事物日志。数据库和日期备份可以保持一个指定的周期,这允许你创建用在你需要恢复数据库一个比最后一个备份早的事件备份历史设置日志传输。日志传输允许事物日志从一个数据库(源)不变地反馈到另一个数据库(目的)。保持目的数据库和原数据库的同步使你有一个备用数据库而且也提供一个从主数据库到只读目的服务器卸下查询处理的方法 1、sp_add_maintenance_plan 增加一个维护计划并返回计划ID 语法:
返回值:0成功1失败 备注:sp_add_maintenance_plan必须在msdb上执行,它创建一个新的空维护计划。增加一个或多个数据库与一个或多个job交互执行sp_add_maintenance_plan_db和sp_add_maintenance_plan_job. 只有sysadmin固定服务器角色成员可执行sp_add_maintenance_plan 2、sp_add_maintenance_plan_db 将数据库加到维护计划中 语法:
返回值:0成功1失败 备注:sp_add_maintenance_plan_db 必须在msdb上执行,只有sysadmin固定服务器角色成员可执行sp_add_maintenance_plan_db 3、sp_add_maintenance_plan_job 将维护计划中加到一个存在的job中 语法:
返回值:0成功1失败 备注:sp_add_maintenance_plan_job必须在msdb上执行,只有sysadmin固定服务器角色成员可执行sp_add_maintenance_plan_db 4、sp_delete_maintenance_plan 删除指定维护计划 语法:
返回值:0成功1失败 备注:sp_delete_maintenance_plan必须在msdb上执行,只有sysadmin固定服务器角色成员可执行sp_add_maintenance_plan_db 5、sp_delete_maintenance_plan_db从维护计划中取消指定数据库 语法:
返回值:0成功1失败 备注:sp_delete_maintenance_plan_db必须在msdb上执行,只有sysadmin固定服务器角色成员可执行sp_delete_maintenance_plan_db。当最后一个数据库从维护计划中删除则维护计划也被删除。 6、sp_delete_maintenance_plan_job 从指定job中取消(删除)维护计划 语法:
返回值:0成功1失败 备注:sp_delete_maintenance_plan_job必须在msdb上执行,只有sysadmin固定服务器角色成员可执行sp_delete_maintenance_plan_job。当最后一个数据库从维护计划中删除则维护计划也被删除。当所有jobs被从维护计划中删除推荐用户执行sp_delete_maintenance_plan_db从维护计划中移出剩余的数据库 7、sp_help_maintenance_plan 返回指定维护计划的信息,如果未指定计划则返回所有的维护计划信息 语法:
如果指定计划则返回三张表: Plan, Database, Job. Plan 列名 数据类型 描述 plan_id uniqueidentifier 维护计划ID plan_name sysname 维护计划名. date_created datetime 计划创建日期. owner sysname 计划拥有者 max_history_rows int 计划在系统表中记录历史的最大分配行数 remote_history_server int 写历史报告的远程服务器名
max_remote_history_rows int 写历史报告的远程服务器在系统表中最大分配行数. user_defined_1 int 缺省为 NULL. user_defined_2 nvarchar(100) 缺省为NULL. user_defined_3 datetime 缺省为NULL. user_defined_4 uniqueidentifier 缺省为NULL. Database 列名 描述 database_name 维护计划中的所有数据库名 database_name is sysname. Job 列名 描述 hui 维护计划中的所有job ID. job_id is uniqueidentifier. 如果未指定计划则返回所有计划信息. 8、sysdbmaintplan_databases 一个相关维护计划中的每个数据库包含一行,本表保存在msdb 中。 列名 数据类型 描述 plan_id uniqueidentifier 维护计划ID database_name sysname 数据库名 9、sysdbmaintplan_history 每个维护计划完成一次包含一行,本表保存在msdb 中。 列名 数据类型 描述 sequence_id int 维护计划执行历史顺序号 plan_id uniqueidentifier 维护计划 ID. plan_name sysname 维护计划名. database_name sysname 相关计划数据库名 server_name sysname 系统名 activity nvarchar(128) 维护计划激活执行 (例如备份事物日志等). succeeded bit 0 = 成功1 = 失败 end_time datetime 每次行动完成时间 duration int 必须完成行动的时间长度 start_time datetime 行动开始时间 error_number int 失败报告的错误数 message nvarchar(512) sqlmaint发生的消息.
10、sysdbmaintplan_jobs 每个维护计划job包含一行. 本表保存在msdb 中。 列名 数据类型 描述 plan_id uniqueidentifier 维护计划ID job_id uniqueidentifier job ID 11、sysdbmaintplans 每个数据库维护计划包含一行. 本表保存在msdb 中。 Column name Data type Description plan_id uniqueidentifier 维护计划ID plan_name sysname 维护计划名. date_created datetime 计划创建日期. owner sysname 计划拥有者 max_history_rows int 计划在系统表中记录历史的最大分配行数 remote_history_server sysname 写历史报告的远程服务器名 max_remote_history_rows int 写历史报告的远程服务器在系统表中最大分配行数. user_defined_1 int 缺省为 NULL. user_defined_2 nvarchar(100) 缺省为NULL. user_defined_3 datetime 缺省为NULL. user_defined_4 uniqueidentifier 缺省为NULL. log_shipping bit 日志运行状态0 = 失效1 = 激活 |