Öncelikle bu hata sınırlı bir ölçütte veritabanı sunan sunucularda karşımıza çıkması mümkün olan bir hatadır. Eğer ki girdiğimiz verinin büyüklüğü bu kadar olmuyacağından emin olduktan sonra, aşağıdaki kodu ms sql server management aracılıyla çalıştırıp, sitemize tekrardan hatasız giriş yapabiliriz. Son olarak belirtmek istediğimi unsur ise, sitemize sqlserver membership provider 'ın aktif kullanılmış olması gerekmektedir.
DECLARE cr_Sil CURSOR FOR select UserID from aspnet_Users where (isAnonymous = 1) OPEN cr_Sil FETCH NEXT FROM cr_Sil WHILE @@FETCH_STATUS =0 BEGIN --WHILE BEGIN delete from aspnet_Profile WHERE UserID IN ( select top(100) UserID from aspnet_Users where (isAnonymous = 1) ) delete from aspnet_users where userID IN ( select top(100) UserID from aspnet_Users where (isAnonymous = 1) ) --delete from aspnet_UsersInRoles WHERE UserID IN --( select UserID from aspnet_Users where --(isAnonymous = 1) ) --GO --delete from aspnet_PersonalizationPerUser WHERE UserID IN --( select UserID from aspnet_Users where --(isAnonymous = 1) ) --GO FETCH NEXT FROM cr_Sil END --–WHILE END CLOSE cr_Sil DEALLOCATE cr_Sil
DECLARE cr_Sil CURSOR FOR
select UserID from aspnet_Users where (isAnonymous = 1)
OPEN cr_Sil
FETCH NEXT FROM cr_Sil
WHILE @@FETCH_STATUS =0
BEGIN--WHILE BEGIN
delete from aspnet_Profile WHERE UserID IN
( select top(100) UserID from aspnet_Users where
(isAnonymous = 1) )
delete from aspnet_users where userID IN
( select top(100) UserID from aspnet_Users where
(isAnonymous = 1) )
-- delete from aspnet_UsersInRoles WHERE UserID IN
--( select UserID from aspnet_Users where
--(isAnonymous = 1) )
--GO
--delete from aspnet_PersonalizationPerUser WHERE UserID IN
--( select UserID from aspnet_Users where
--(isAnonymous = 1) )
--GO
FETCH NEXT FROM cr_Sil
END --WHILE END
CLOSE cr_Sil
DEALLOCATE cr_Sil