我有一个 ASP.NET MVC 应用程序,它与 SQL Server 2008 R2 Express 版下的数据库一起使用。需要定期执行更新数据库中某些记录的任务。
不幸的是,Express Edition 缺少 SQL 代理。
你会推荐什么方法?
我有一个 ASP.NET MVC 应用程序,它与 SQL Server 2008 R2 Express 版下的数据库一起使用。需要定期执行更新数据库中某些记录的任务。
不幸的是,Express Edition 缺少 SQL 代理。
你会推荐什么方法?
您可以查看独立 SQL 代理开源项目。它使用本地 SQL 代理表和过程(仍然存在于 SQL Express 中)来存储替换 SQL 代理本身的作业。该引擎非常适合 T/SQL 和 Dos 命令。SSIS之类的事情还没有完成。此外,编辑器只完成了大约 1/2,但运行作业的引擎是重要的部分。
使用 ExpressMain,它是 SQL Server Express 用户非常方便的解决方案。
快递维护
这两篇文章将帮助您使用它
http://www.sqldbtips.com/showarticle.asp?ID=27
http://www.sqldbtips.com/showarticle.asp?ID=29
您可以使用 Windows 内置任务计划程序使用 SQL Express 提供的命令行工具运行 SQL 脚本 - 我相信http://msdn.microsoft.com/en-us/library/ms162773.aspx是包含在所有 SQL 2005 和 2008 版本中,包括 Express。
我建议专门为此设置一个用户并运行通过 Windows 集成身份验证记录的脚本。如果您确实使用基于用户/密码的身份验证,请确保您正确保护包含密码的文件,特别是如果机器是共享的。除了更细粒度地了解用户可以在您的数据库上做什么之外,以不同的 Windows 用户身份运行任务的另一个优点是,您无需四处乱搞,确保没有打开控制台窗口妨碍您的操作在您登录时运行(如果您以自己的身份运行它,您可能会发现在任务运行时会弹出一个控制台窗口并声明焦点)。
过去,我使用 Teratrax 作业调度程序取得了成功:http ://www.teratrax.com/tjs/
您基本上可以设置 SQL 脚本以按计划运行。非常易于使用,并且有一个方便的小 GUI 来管理您的日程安排。它还有一个内置的电子邮件通知系统,您可以使用它来通知成功/失败等。
前面提到的解决方案的缺点是它带有 99 美元的价格标签,但如果您想看一下,可以免费试用。