【发布时间】:2012-01-02 19:50:47
【问题描述】:
我们有一组简单的存储过程,用于在 SQL 2005 数据库中导入数据。会有一个主SP,会一个一个触发那些SP。过去我们使用 SQL 代理并安排了一个作业,该作业反过来执行主 SP。
现在,如果我们想让它更简单并排除对 SQL 代理和作业的依赖 - 我们有哪些选择?
这是我目前发现的 -
- 我可以使用 windows 任务调度程序 在 windows 中安排任务。这可以达到 SQL-Agent 的目的
- 有一个 Windows 命令行实用程序 - sqlcmd (http://msdn.microsoft.com/en-us/library/ms180944.aspx)
- 希望我们可以使用它来执行 SP。
有很多选择,所以我相信我能够完成 SP 执行。这是正确/最好的方法吗?
我们还需要弄清楚一些其他的事情,比如 -
- 如何从我的内部 SP 执行中捕获结果(即 记录计数等)。
- 使用 SQL-Job,我们能够使用以下方式发送电子邮件 SQL 邮件。这种方法有什么选择吗?
【问题讨论】:
-
如果我是你,我会坚持使用 SQL 代理。没有理由不使用它。使用 SQL 代理,您可以免费获得状态、通知和电子邮件。不使用它的理由是什么。不可能更简单...
-
@Asken 一个原因可能是 OP 的目标是 SQL Express,它不包括 SQL 代理。我当然同意他应该提供更多信息,因为不清楚他为什么需要“简化”,即使他使用 SQL Express,仅为代理购买完整的 SQL Server 仍然值得。
-
@Pondlife,授予。让我们等待澄清。
-
是的,SQLEXPRESS 是一个原因,另一个原因是没有具有所有功能的完整版本的 SQL-Server。我们想让它变得简单、可移植并且更少依赖。
-
SQL Express 将是唯一的原因。所有其他 SQL Server 版本都附带 SQL Server 代理。
标签: sql-server sqlcmd scheduled-tasks sql-job