博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计和使用维护计划
阅读量:5791 次
发布时间:2019-06-18

本文共 3636 字,大约阅读时间需要 12 分钟。

常见的SQL Server维护任务: 数据备份 数据完整性检查 数据整理 历史数据清理 执行作业 执行T-SQL脚本
回顾SQL Server 2000中的数据库维护计划: 可配置日志传送 重组数据和索引页 更新统计数据 收缩数据库 检查数据库完整性 备份数据库 生成报表
SQL Server 2000中的数据库维护计划元数据存储: msdb.dbo.sysdbmaintplan_databases  msdb.dbo.sysdbmaintplan_history  msdb.dbo.sysdbmaintplan_jobs  msdb.dbo.sysdbmaintplans
SQL Server 2000中数据库维护计划的执行: SQL Agent管理下的作业  调用xp_sqlmaint 外部工具sqlmaint.exe
SQL Server 2005下的维护计划: 通过SQL Server Integration Service设计-->在Management Studio中设计 在Development Studio中设计  通过作业调用SSIS包  一个维护计划仅生成一个作业
如何利用Management Studio创建维护计划和维护计划的调度及执行呢?
 
展开SQL2005(本地计算机名称)--管理--对着维护计划右键--选择维护计划向导  接着下一步  注意: 配置SQL Server维护计划是有前提的 一定要确保SQL Server代理这一项服务要启用
  
名称就叫做MP Demo Wizard吧  接着下一步
  
在选择维护任务里面把检查数据库完整性、重新生成索引、更新统计信息、清除历史记录、备份数据库(完整)沟上  接着下一步 
  
如果你想调整这些任务的顺序的话 你可以按上移或者下移来调整顺序  接着下一步
  
在数据库的以下数据库里面把AdventureWorks沟上  按确定  接着下一步
  
在数据库的以下数据库里面把AdventureWorks沟上  按确定  在对象里面选择表  在选择里面选择全部  把将每页的可用空间百分比更改为50%  接着下一步
 
在数据库的以下数据库里面把AdventureWorks沟上  按确定  在对象里面选择表  在选择里面选择全部  在更新里面选择所有现有统计信息  接着下一步
 
接着下一步
 
在数据库的以下数据库里面把AdventureWorks沟上  按确定  在跨一个或多个文件备份数据库里面输入一个路径-->C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\bak  接着下一步
  
把将报告写入文本文件沟上  接着下一步
  
按完成
 
可以看到状态全部成功了  按关闭  展开管理--维护计划--可以看到一个叫做MP Demo Wizard的维护计划 这个维护任务是如何来执行的呢? 展开SQL Server 代理--作业--可以看到一个叫做MP Demo Wizard Subplan_1的作业来调用维护计划的
  
维护计划是保存在什么地方呢?  在对象资源管理器里面按连接--在服务器类型里面选择Integration Services  在连接到服务器里面按连接  展开SQL2005(Integration Services...)--已存储的包--MSDB--Maintenance Plans--可以看到我刚才设计的MP Demo Wizard这个维护任务 
  
展开SQL Server代理--作业--对着MP Demo Wizard Subplan_1右键--选择属性--按步骤--可以看到一个叫做Subplan_1的作业步骤  双击这个作业步骤来打开它
  
可以看到这个作业任务的类型就是SQL Server Integration Services包  其实它是通过SQL 代理服务账户来调用刚才生成的MP Demo Wizard这样的一个SSIS的包
 
 除了通过向导去实现维护计划之外 我们还可以直接来新建维护计划  展开管理--对着维护计划右键--选择新建维护计划--名称就叫做MP Demo SSMS吧  按确定
 
这里我们还可以去设计完整的作业任务  把"检查数据库完整性"拖曳到里面--双击这个任务--在数据库的以下数据库里面把AdventureWorks沟上  按确定
 
检查数据库完整性之后  比如说我还想去"重新生成索引"任务怎么办呢? 可以把"重新生成索引"任务拖曳到检查数据库完整性的下面  双击这个任务来打开它--在数据库里面选择AdventureWorks这个数据库--在对象里面选择表--在选择里面选择全部--把将每页的可用空间百分比更改为50%  按确定
把"更新统计信息"任务拖曳到"重新生成索引"任务的下面  在数据库里面选择AdventureWorks这个数据库 在对象里面选择表 在选择里面选择全部 在更新里面选择所有现有统计信息  按确定 
 
把"备份数据库"任务拖曳到"更新统计信息"任务的下面  双击这个任务来打开它--在备份类型里面选择完整--在数据库里面选择AdventureWorks这个数据库--在备份文件扩展名里面输入bak--把验证备份完整性沟上--按确定
   
这样的一个作业就完成了  我把它设置成在每周星期日的0:00:00执行。在上面按保存那个图标就ok了 
 
按F5键来刷新一下  可以看到在维护计划里面多出一个叫做MP Demo SSMS的维护任务了  展开SQL Server代理--作业--可以看到多出了一个叫做MP Demo SSMS Subplan_1的作业了  展开SQL2005(Integration Services...)--已存储的包--MSDB--Maintenance Plans 可以看到多出一个叫做MP Demo SSMS的包了
SQL Server 2005维护计划支持的操作: 数据库备份 数据完整性检查 执行SQL Agent作业 执行T-SQL脚本 历史数据清理 维护计划数据清理 重建索引 重组索引 收缩数据库 更新统计
与维护计划相关的T-SQL语句(一)-->见下列表: 
             维护计划                         T-SQL语句
            数据库备份                  BACKUP DATABASE  BACKUP LOG
          数据完整性检查                    DBCC CHECKDB
         执行SQL Agent作业               sp_start_job
           执行T-SQL脚本                   sp_executesql            
                                            execute
           历史数据清理                       sp_purgejob_history
                                                  sp_delete_backuphistory
                                                  sp_maintplan_delete_log
与维护计划相关的T-SQL语句(二)-->见下列表:
             维护计划                          T-SQL语句
         维护计划数据清理                    xp_delete_file
             重建索引                          ALTER INDEX index_name 
                                               REBUILD WITH params 
                                             DBCC DBREINDEX* 
             重组索引                          ALTER INDEX index_name 
                                               REORGANIZE WITH params 
                                             DBCC INDEXDREFREG*
            收缩数据库                        DBCC SHRINKDATABASE
             更新统计                         UPDATE STATISTICS 
维护计划的元数据存储和检索: 为兼容而保留的-->msdb.dbo.sysdbmaintplans  msdb.dbo.sysdbmaintplan_jobs  msdb.dbo.sysdbmaintplan_databases  msdb.dbo.sysdbmaintplan_history  msdb.dbo.sp_help_maintenance_plan 
                            系统维护计划-->msdb.dbo.sysdtspackages90  msdb.dbo.sysmaintplan_subplans  msdb.dbo.sysmaintplan_log  msdb.dbo.sysmaintplan_logdetail
利用Development Studio设计维护计划: 维护计划完全基于Integration Service  维护计划生成SSIS Package  SQL Agent作业调用SSIS Package  利用Development Studio可在维护计划中加入其它复杂任务 
                                            
     特别注意: 不要通过删除SSIS Package的方式删除维护计划,否则会导致元数据残留在msdb.dbo.sysmaintplan_subplans系统表中。
SQL Server 2005中维护计划的优势: 可自定义维护作业的流程 可在维护作业中加入复杂的逻辑 更加便于导出和跨服务器复制 更加便于与数据维护及业务维护作业衔接
本文转自 叶俊生 51CTO博客,原文链接:http://blog.51cto.com/yejunsheng/161360

转载地址:http://ndzfx.baihongyu.com/

你可能感兴趣的文章
JS prototype 属性
查看>>
HTTP库Axios
查看>>
gen already exists but is not a source folder. Convert to a source folder or rename it 的解决办法...
查看>>
20个Linux服务器性能调优技巧
查看>>
填坑记:Uncaught RangeError: Maximum call stack size exceeded
查看>>
SpringCloud之消息总线(Spring Cloud Bus)(八)
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>
Web日志安全分析工具 v2.0发布
查看>>