如何使SQL Server 2012每天删除过期的记录并进行检查

时间:2015-04-16 19:52:32

标签: sql sql-server sql-server-2012

我是SQL Server的新手,正在学习。我有一个月度Membership表和一个名为DateTime的{​​{1}}列。

我需要研究什么才能让我的SQL Server 2012每天检查过期记录并删除它们的记录。我知道SQL Server有这个功能只是想知道它叫什么,你有任何关于创建这样的东西的建议或提示..

1 个答案:

答案 0 :(得分:1)

您可以从创建如下过程开始:

USE [DatabaseName]
GO
/****** Object:  StoredProcedure [dbo].[sp_ProcedureName] ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO


CREATE PROCEDURE [dbo].[sp_ProcedureName]
AS

SET NOCOUNT ON

DECLARE @expirationdatetime datetime;

SET @expirationdatetime = getdate()

BEGIN
    DELETE FROM [TableName]
    WHERE Expiration < @expirationdatetime

END

创建proc之后,您将需要转到对象资源管理器的底部,您将在其中看到 SQL Server代理选项。在此之下,您将看到另一个标签作业。右键单击它,然后单击New Job ...选项。您应该看到以下屏幕:

New Job Screen

接下来转到右侧的步骤,单击New ...在新屏幕上,键入您的步骤名称,并将默认类型保留为 Transact-SQL脚本(T-SQL)

New_Job_Step

接下来转到“计划”并单击“新建...”以添加计划,以便每天运行新的存储过程。

Create new schedule

希望这能让你得到你需要的东西!