eid*_*lon 6 sql-server-2008 sql-server maintenance
我正在 Sql Server 上设置维护计划。
我想在计划中添加一个执行 T-SQL 语句任务,但是我没有看到任何方法可以将此任务设置为在每个 [user|system|all] 数据库中运行,因为您可以在几乎所有其他任务类型中运行。
有没有办法做到这一点,也许在脚本中使用“就地”参数来替换数据库名称?
我想在维护计划中运行一个夜间脚本,但它需要能够将数据库名称放入脚本中。
我是否应该从维护计划中调用一个存储过程,该过程使用动态 SQL 遍历所需的所有数据库来执行我的语句?
这并没有解决您的主要问题,但我不禁提出一种与您目前采用的方法不同的方法。您应该足够频繁地备份事务日志,以便在发生灾难时不会丢失超过 SLA 允许的数据。如果您可以承受最多 30 分钟的数据丢失,那么您应该每 15 分钟备份一次事务日志。您当然可以通过维护计划向导执行此操作(包括选择要运行的数据库,一个选项绝对是“所有用户数据库”):

您当前切换到简单,运行收缩文件,然后切换回完整的方法是很自我挫败的。您处于完全恢复模式,但没有从中获得任何好处。全天备份日志将减小 t-log 大小,因为备份日志允许重复使用文件中的空间。如果您不需要时间点恢复,则切换到简单恢复。这允许自动重新使用日志文件中的空间。在任何一种情况下,您都不应该再手动缩小文件 - 这是每天晚上重复的非常昂贵的过程(更不用说白天每次自动增长都会影响用户的过程)。
| 归档时间: |
|
| 查看次数: |
1139 次 |
| 最近记录: |