【发布时间】:2012-02-19 05:17:02
【问题描述】:
我的 MVC3 应用程序使用 SQL Server 2008 来存储数据。特别是 - 支持工单管理数据。
我在数据库中有一张表 - 门票。
我正在考虑使用 SQL Server 功能实现定期票证注册的可能性。
是否有内置的 SQL Server 功能,可以让我安排,例如,每周一次在数据库表中创建一行?
【问题讨论】:
标签: sql-server scheduled-tasks
我的 MVC3 应用程序使用 SQL Server 2008 来存储数据。特别是 - 支持工单管理数据。
我在数据库中有一张表 - 门票。
我正在考虑使用 SQL Server 功能实现定期票证注册的可能性。
是否有内置的 SQL Server 功能,可以让我安排,例如,每周一次在数据库表中创建一行?
【问题讨论】:
标签: sql-server scheduled-tasks
您可以轻松地使用 Windows SchedTask 控制面板来安排批处理文件定期运行:
在批处理文件中创建一个 SQL 字符串,如下所示:
SET SQLSTRING=INSERT INTO Persons^
VALUES (4,'Nilsen', 'Johan', 'Bakken 2',^
'Stavanger');
然后,只需启用延迟扩展并使用以下内容:
sqlcmd.exe -b -S localhost -E -d !DBNAME! -Q "!SQLSTRING!" -W
【讨论】:
很遗憾,您没有提到您的 SQL Server 版本。如果您有 Express,则没有内置调度程序,因此您需要使用 Windows 调度程序来运行批处理文件或其他连接到 SQL Server 的程序。
如果您有任何其他版本,那么您有 SQL 代理,它是一个完整的调度程序,支持几乎所有任务,包括运行 SQL 语句。
【讨论】:
我会使用SQL Server Agent 并运行Transact-SQL Job Step。
请注意,代理在特定帐户下作为服务运行,该帐户需要权限才能执行您需要的任何操作。
【讨论】: