<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Remove anonymous users from ASP.Net Membership tables</title>
	<atom:link href="http://www.sidesofmarch.com/index.php/archive/2008/08/07/remove-anonymous-users-from-aspnet-membership-tables/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sidesofmarch.com/index.php/archive/2008/08/07/remove-anonymous-users-from-aspnet-membership-tables/</link>
	<description>Thoughts on life, liberty, and information technology</description>
	<lastBuildDate>Tue, 24 Jan 2012 10:43:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: notnope</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2008/08/07/remove-anonymous-users-from-aspnet-membership-tables/#comment-877781</link>
		<dc:creator>notnope</dc:creator>
		<pubDate>Wed, 21 Dec 2011 09:53:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=269#comment-877781</guid>
		<description>SQL-PROCEDURE  to remove all anonymous users :

CREATE PROCEDURE dbo.RemoveAnonymousUsers
AS
--temporary table to stock anonymous users ids
CREATE TABLE #AnonymousUsers(
Id uniqueidentifier,
UserName NVARCHAR(256)
)
--get all Anonymous
INSERT INTO #AnonymousUsers SELECT UserId,UserName FROM aspnet_Users where IsAnonymous = &#039;True&#039;

--useless, here only to display anonymous users list (last time you will see them)
SELECT * FROM #AnonymousUsers

DECLARE @UserSystemName uniqueidentifier

	DECLARE cursor_categories CURSOR FOR
		SELECT Id FROM #AnonymousUsers
		
	OPEN cursor_categories
	FETCH cursor_categories INTO @UserSystemName

	WHILE @@FETCH_STATUS = 0
	BEGIN
		--remove time		 
		DELETE FROM aspnet_Profile WHERE UserId = @UserSystemName
		DELETE FROM aspnet_UsersInRoles WHERE UserId = @UserSystemName
		DELETE FROM aspnet_Membership WHERE UserId = @UserSystemName
		DELETE FROM aspnet_PersonalizationPerUser WHERE UserId = @UserSystemName
		DELETE FROM aspnet_Users WHERE UserId = @UserSystemName
						-------------------------
		FETCH cursor_categories INTO @UserSystemName
		
	END

	

	CLOSE cursor_categories
	DEALLOCATE cursor_categories

RETURN 0</description>
		<content:encoded><![CDATA[<p>SQL-PROCEDURE  to remove all anonymous users :</p>
<p>CREATE PROCEDURE dbo.RemoveAnonymousUsers<br />
AS<br />
&#8211;temporary table to stock anonymous users ids<br />
CREATE TABLE #AnonymousUsers(<br />
Id uniqueidentifier,<br />
UserName NVARCHAR(256)<br />
)<br />
&#8211;get all Anonymous<br />
INSERT INTO #AnonymousUsers SELECT UserId,UserName FROM aspnet_Users where IsAnonymous = &#8216;True&#8217;</p>
<p>&#8211;useless, here only to display anonymous users list (last time you will see them)<br />
SELECT * FROM #AnonymousUsers</p>
<p>DECLARE @UserSystemName uniqueidentifier</p>
<p>	DECLARE cursor_categories CURSOR FOR<br />
		SELECT Id FROM #AnonymousUsers</p>
<p>	OPEN cursor_categories<br />
	FETCH cursor_categories INTO @UserSystemName</p>
<p>	WHILE @@FETCH_STATUS = 0<br />
	BEGIN<br />
		&#8211;remove time<br />
		DELETE FROM aspnet_Profile WHERE UserId = @UserSystemName<br />
		DELETE FROM aspnet_UsersInRoles WHERE UserId = @UserSystemName<br />
		DELETE FROM aspnet_Membership WHERE UserId = @UserSystemName<br />
		DELETE FROM aspnet_PersonalizationPerUser WHERE UserId = @UserSystemName<br />
		DELETE FROM aspnet_Users WHERE UserId = @UserSystemName<br />
						&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
		FETCH cursor_categories INTO @UserSystemName</p>
<p>	END</p>
<p>	CLOSE cursor_categories<br />
	DEALLOCATE cursor_categories</p>
<p>RETURN 0</p>
]]></content:encoded>
	</item>
</channel>
</rss>

