1

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

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

有没有人有更好的方法来做这件事的建议?

谢谢

尼尔

4

3 回答 3

1

为什么你首先要缩小数据库?也没有必要像那样维护只读数据库。

于 2009-08-18T16:07:43.013 回答
1

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

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

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

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

于 2009-08-18T18:01:41.893 回答
1

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

于 2009-08-18T19:22:41.340 回答