1
ALTER PROCEDURE dbo.aspnet_Profile_DeleteInactiveProfiles
2
@ApplicationName NVARCHAR(256),
3
@ProfileAuthOptions INT,
4
@InactiveSinceDate DATETIME,
5
@TimeZoneAdjustment INT
6
AS
7
BEGIN
8
DECLARE @ApplicationId UNIQUEIDENTIFIER
9
SELECT @ApplicationId = NULL
10
SELECT @ApplicationId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName
11
---查询应用程序ID
12
IF (@ApplicationId IS NULL)
13
BEGIN
14
SELECT 0
15
RETURN
16
END
17
18
IF (@InactiveSinceDate > CONVERT(DATETIME, '17540101', 112) AND @InactiveSinceDate < CONVERT(DATETIME, '99980101', 112))
19
--如果停滞以来的时间在系统时间内(目前是不会超过条件的时间的)
20
SELECT @InactiveSinceDate = DATEADD(n, -@TimeZoneAdjustment, @InactiveSinceDate)
21
22
DELETE
23
FROM dbo.aspnet_Profile
24
WHERE UserId IN
25
( SELECT UserId
26
FROM dbo.aspnet_Users u
27
WHERE ApplicationId = @ApplicationId
28
AND (LastActivityDate <= @InactiveSinceDate)
29
AND (
30
(@ProfileAuthOptions = 2)
31
OR (@ProfileAuthOptions = 0 AND IsAnonymous = 1)
32
OR (@ProfileAuthOptions = 1 AND IsAnonymous = 0)
33
)
34
)
35
---删除USERID在这一范围内的记录
36
SELECT @@ROWCOUNT
37
END
ALTER PROCEDURE dbo.aspnet_Profile_DeleteInactiveProfiles2
@ApplicationName NVARCHAR(256),3
@ProfileAuthOptions INT,4
@InactiveSinceDate DATETIME,5
@TimeZoneAdjustment INT6
AS7
BEGIN8
DECLARE @ApplicationId UNIQUEIDENTIFIER9
SELECT @ApplicationId = NULL10
SELECT @ApplicationId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName11
---查询应用程序ID12
IF (@ApplicationId IS NULL) 13
BEGIN14
SELECT 015
RETURN16
END17

18
IF (@InactiveSinceDate > CONVERT(DATETIME, '17540101', 112) AND @InactiveSinceDate < CONVERT(DATETIME, '99980101', 112))19
--如果停滞以来的时间在系统时间内(目前是不会超过条件的时间的)20
SELECT @InactiveSinceDate = DATEADD(n, -@TimeZoneAdjustment, @InactiveSinceDate)21
22
DELETE23
FROM dbo.aspnet_Profile24
WHERE UserId IN25
( SELECT UserId26
FROM dbo.aspnet_Users u27
WHERE ApplicationId = @ApplicationId28
AND (LastActivityDate <= @InactiveSinceDate)29
AND (30
(@ProfileAuthOptions = 2)31
OR (@ProfileAuthOptions = 0 AND IsAnonymous = 1)32
OR (@ProfileAuthOptions = 1 AND IsAnonymous = 0)33
)34
)35
---删除USERID在这一范围内的记录36
SELECT @@ROWCOUNT37
END