SQL Server (T-SQL) - Czyszczenie tabel dodanych przez Membership Provider-a
Notatka zawierająca fragmentu kodu SQL pozwalającego na wyczyszczenie tabel w bazie, dostarczonych przez Membership Provider-a.
Jak usunąć wszystkie rekordy z tabel Membership Provider-a?
Ostatnio musiałem wyczyścić wszystkie wpisy w bazie danych, dodane przez Membership Providera. Tak jak można było się spodziewać, przez wzgląd na klucze zewnętrzne, nie było to znowu takie proste zadanie. Aby pozbyć się zbędnych danych z interesującej mnie tabeli, należało najpierw wyczyścić odpowiadające im wpisy w innych, powiązanych tabelach.Bardzo pomocny okazał się fragment kodu SQL (znaleziony tutaj), który czyści tabele dostarczone przesz Membershipa, w odpowiedniej kolejności, tak by fakt ich powiązań nie stanowił problemu.
DELETE FROM aspnet_Paths
DELETE FROM aspnet_PersonalizationAllUsers
DELETE FROM aspnet_UsersInRoles
DELETE FROM aspnet_Roles
DELETE FROM aspnet_Users
DELETE FROM aspnet_Applications
DELETE FROM aspnet_PersonalizationPerUser
DELETE FROM aspnet_Profile
DELETE FROM aspnet_SchemaVersions
DELETE FROM aspnet_WebEvent_Events
Oczywiście usunięcie danych tym sposobem jest procesem nieodwracalnym i należy mieć to na uwadze. Ponadto jak widzimy, są tutaj wyszczególnione wszystkie tabele Membership Provider-a, a nie zawsze ze wszystkich się korzysta, należy więc zakomentować te wersy kwerendy, które odnoszą się tabel nieistniejących w konkretnej bazie danych. Można również ograniczyć zakres działania tych zapytań nakładając na nie warunki logiczne, tak by nie czyściły wszystkich rekordów, a jedynie interesujący nas fragment.
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!