SQL Server 2005收缩和重建索引

时间:2009-08-18 13:06:23

标签: sql-server-2005 readonly maintenance-plan

我们有每周维护计划来缩小所有用户数据库并重建其索引。这个工作正常,直到我们创建了一个只读数据库,现在每次计划运行时,由于其只读状态而开始处理该数据库时,它会失败。

据我所知,我们有两个选项从数据库中删除只读标志,这是可能的,但由于数据库每季度只更新一次,从性能的角度来看,使用读取是有意义的 - 只有功能。或者手动选择计划应该运行的数据库,即除了只​​读数据库之外的所有用户数据库,然后要求人们记住将任何新数据库添加到计划中。

有没有人对更好的方法有任何建议?

由于

尼尔

3 个答案:

答案 0 :(得分:1)

为什么你首先缩小数据库? 此外,没有必要像这样维护读取操作数据。

答案 1 :(得分:1)

如果您不想自定义维护计划,我会删除只读标志。

为什么你也在缩减数据库?如果数据库增长到给定的大小,那么这可能是它的自然当前大小。

还要记住,索引重建(经验法则)需要120%目标表大小的可用空间。例如,500 MB的表需要600 MB的可用空间。

缩小然后重建是没有意义的......你也会有可怕的文件碎片

答案 2 :(得分:1)

我想可以修改维护计划,以“执行T-SQL语句”步骤开始,该步骤删除只读标志(ALTER DATABASE database-name SET READ_WRITE)并添加最后一步以重置它:     ALTER DATABASE数据库名称SET READ_ONLY