我希望每天凌晨2:00执行此过程.此外,我想将日期参数传递给过程.假设今天是2010年7月28日,那么我想通过7月27日凌晨2点到程序.这样我希望在7月27日上午2:00之后插入的所有记录都应该在其他表中备份.这是我的程序.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Alter PROCEDURE spBackupRows
(
@Date datetime
)
AS
BEGIN
Declare @ItemId int, @ItemName varchar(100), @Description varchar(50), @ItemCreatedDateTime datetime
Declare myCursor Cursor FOR
Select * from tblItems Where ItemCreatedDateTime > @Date
Open myCursor
Fetch Next From myCursor INTO @ItemId,@ItemName,@Description,@ItemCreatedDateTime
while @@FETCH_STATUS = 0
Begin
INSERT INTO tblBackUpData
(ItemId,ItemName,Description,ItemCreatedDateTime)
Values (@ItemId,@ItemName,@Description,@ItemCreatedDateTime)
Fetch Next From myCursor INTO @ItemId,@ItemName,@Description,@ItemCreatedDateTime
End
Close myCursor
Deallocate myCursor
END
GO
Run Code Online (Sandbox Code Playgroud)
我面临的问题是如何让这个程序自动启动?并将datetime参数传递给程序?
提前致谢 :)
如何:安排作业(SQL Server Management Studio)
- 在对象资源管理器中,连接到SQL Server数据库引擎的实例,然后展开该实例.
- 展开"SQL Server代理",展开"作业",右键单击要计划的作业,然后单击"属性".
- 选择"计划"页面,然后单击"新建".
- 在"名称"框中,键入新计划的名称.
- 如果您不希望计划在创建后立即生效,请清除"已启用"复选框.
对于"计划类型",请选择以下选项之一:
- 点击当SQL Server代理启动时,SQL Server代理服务启动时开始作业自动启动.
- 每当CPU空闲时单击"启动",以在CPU达到空闲状态时启动作业.
- 如果要重复运行计划,请单击"重复发生".要设置定期计划,请在对话框中填写"频率","每日频率"和"持续时间"组.
- 如果您希望计划仅运行一次,请单击"一次".要设置一次性计划,请在对话框中完成一次性事件组.