不使用向导创建 SQL 服务器维护计划

不使用向导创建 SQL 服务器维护计划

有没有办法生成与向导生成的计划相同的 SQL 服务器维护计划,但无需通过向导对话框。我需要一些可以作为安装过程的一部分自动创建的东西。

此外,SQL 向导生成的内容似乎特定于当前架构(例如,用于重新索引表)。向导生成的计划是否会因任何架构更改而中断?如果是这样,除了重新生成整个内容外,还有其他方法可以更新它吗?

答案1

我没有见过任何方法(不通过向导或设计器)来创建维护计划。使用 SMO 是不可能的。您可以创建一个 SSIS 包来执行维护计划任务,并在安装程序期间部署它。不过,根据您上面的评论,我建议编写几个存储过程来执行您的任务。任何您可以使用维护计划做的事情,您都可以编写 TSQL。

答案2

不要使用维护计划,而要考虑使用自行开发的存储过程。

这是一个很好的例子。

http://ola.hallengren.com/

(并且不要缩小你的数据文件)。

答案3

SSMS 中的维护计划存储为 SSIS 包,因此无法编写脚本。但你可以将它们存储为文件,理论上可以将它们导入到 SQL Server 实例中:

http://social.msdn.microsoft.com/forums/en-US/sqlsmoanddmo/thread/ac65cef1-22ee-454f-9947-071a343a0cd9/

然而,我认为编写包运行的 SQL 脚本要容易得多,正如 squillman 所提到的。

答案4

我建议使用一组 SSIS 包来执行维护计划工作 - 工具箱中有执行此任务的任务。将它们存储在共享网络驱动器上。

让它们都使用相同的连接管理器。然后,执行维护计划样式包就变得非常容易了,使用 /set 选项更改连接管理器的实例名称。您可以从命令行、SQL Agent 或任何您喜欢的地方运行包。

除此之外,还可以将它们放在钥匙圈上的 USB 记忆棒上,以便随时可以取用。

相关内容