Sql Server 2005 数据库维护计划

2008-02-23 07:39:59来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

这个星期开始为了减轻工作压力开始使用数据库维护计划(SQL Server Maintenance Plan Wizard)维护数据库,由于以前都没用过,在个人使用的免费版(Express)里也没有这个功能,所以现在好好学习了一番,这里总结一下。

维护计划向导能够用于帮助您配置核心维护任务,从而确保数据库执行良好,做到定期备份数据库以防系统出现故障,对数据库实施不一致性检查。维护计划向导可创建一个或多个 SQL Server 代理作业,代理作业将按照计划的间隔自动执行这些维护任务。他使您能够执行各种数据库管理任务,包括备份、运行数据库完整性检查、或以指定的间隔更新数据库统计信息。创建数据库维护计划能够让SQL Server有效地自动维护数据库,保持数据库运行在最好状态,并为管理员节省了宝贵的时间。

以下是能够安排为自动运行的一些维护任务:

用新填充因子重新生成索引来重新组织数据和索引页上的数据。这确保了数据库页中包含的数据量和可用空间的平均分布,还使得以后能够更快地增长。

通过删除空数据库页压缩数据文档。

更新索引统计信息,确保查询优化器含有关于表中数据值分布的最新信息。这使得查询优化器能够更好地确定 访问数据的最好方法,因为能够获得数据库中存储数据的周详信息。虽然 SQL Server 会定期自动更新索引统 计信息,但是此选项能够对统计信息立即进行强制更新。

对数据库内的数据和数据页执行内部一致性检查,确保系统或软件故障没有损坏数据。

备份数据库和事务日志文档。数据库和日志备份能够保留一段指定时间。这使您能够为备份创建一份历史记录 ,以便在需要将数据库还原到早于上一次数据库备份的时间的时候使用。还能够执行差异备份。

运行 SQL Server 代理作业。这能够用来创建可执行各种操作的作业连同运行这些作业的维护计划。

维护任务生成的结果能够作为报表写入文本文档,或写入 msdb 中的 sysmaintplan_log 和 sysmaintplan_log_detail 维护计划表。若要在日志文档查看器中查看结果,请右键单击“维护计划”,再单 击“查看历史记录”。

以下是周详说明:

Check Database Integrity(检查数据库完整性)

任务检查指定数据库中任何对象 的分配和结构完整性。此任务能够检查单个数据库或多个数据库,您还能够选择是否也检查数据库索引,检查任何索引页连同表数据页的完整性。

此任务封装 DBCC CHECKDB 语句。

生成的代码:

--检查当前数据库,取消信息性消息

DBCC CHECKDB WITH NO_INFOMSGS

Shrink Database(收缩数据库任务)

收缩数据库’任务”对话框能够创建一 个任务,尝试减小所选数据库的大小。

此任务封装了 DBCC SHRINKDATABASE 命令。

选项:

Shrink database when it grows beyond

当数据库大小超过指定值时收缩数据库,指定引发此任务的数据库大小(MB)。

Amount of free space to remain after shrink

收缩后保留的 可用空间,当数据库文档中的可用空间达到此值时停止收缩。

Retain freed space in database files

选择在数据库文档中保留所释放的文档空间。假如指定 NOTRUNCATE 选项,数据文档似乎没有收缩。

Return freed space to operating system

选择把数据文档中任何未使用空间被释放给操作系统。无需移动任何数据即可减小文档大小。

生成的代码:

--选择Retain freed space in database files

DBCC SHRINKDATABASE (N'AdventureWorks', 10, NOTRUNCATE)

--选择Return freed space to operating system

DBCC SHRINKDATABASE(N'AdventureWorks', 10, TRUNCATEONLY)

Reorganize Index(重新组织索引)

重新组织 SQL Server 数据库表和视图中的索引。 通过使用“重新组织索引”任务,包能够重新组织单个数据库或多个数据库中的索引。假如此任务仅重新组织单个数据库中的索引,则能够选择任务要重新组织其索引的视图或表。“重新组织索引”任务还包含压缩大型对象数据的选项。大型对象数据是具备 image 、text、ntext、varchar(max)、nvarchar(max)、varbinary(max) 或 xml 数据类型的数据。

此任务封装了 Transact-SQL ALTER INDEX 语句。

假如选择压缩大型对象数据,则该语句使用 REORGANIZE WITH(LOB_COMPACTION = ON) 子句,否则 LOB_COMPACTION 将配置为 OFF。

生成代码:(只选择了Employee表)

--选择compact large objects

ALTER INDEX [PK_Employee_EmployeeID] ON [HumanResources].[Employee] REORGANIZE WITH ( LOB_COMPACTION = ON )

--不选择

ALTER INDEX [PK_Employee_EmployeeID] ON [HumanResources].[Employee] REORGANIZE WITH ( LOB_COMPACTION = OFF )

Rebuild Index(重新生成索引)

重新生成 SQL Server 数据库表和视图中的索引。包可 以重新生成单个数据库或多个数据库中的索引。假如任务仅重新生成单个数据库中的索引,则能够选择任务要 重新生成其索引的视图和表。使用默认可用空间重新组织页删除数据库中表上的索引,并使用在创建索引时指 定的填充因子重新创建索引。

此任务封装 ALTER INDEX REBUILD 语句并提供下列索引重新生成选项:

Reorganize pages with the default amount of free space

指定 FILLFACTOR 百 分比或使用原始的 FILLFACTOR 量。

Change free space per page percentage to:

填充索引使用 PAD_INDEX 选项能够在索引创建过程中配置中间级页中的可用空间百分比。将每页的可用空间百分比更改,删除数据库中表上的索引,并使用新的、自动计算的填充因子重新创建索引,从而在索引页上保留指定的可用空间。

Sort results in tempdb

使用 SORT_IN_TEMPDB 选项,该选项确定在索引创建 过程中生成的中间排序结果的临时存储位置。使用索引的IGNORE_DUP_KEY 选项,该选项指定对唯一聚集或非聚集索引上多行 INSERT 事务中的重复键值的错误响应 。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: MySQL管理员指南之--MySQL用户管理

下一篇: 带您轻松接触MySQL数据库支持的3个引擎