SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдЕрдирд╛рде рдбреЗрдЯрд╛ рдЫреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рдХрд╛рд▓реЗрдВ
рдЕрдирд╛рде рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝реЗ рдмрд┐рдирд╛ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ
рд╕рдВрджрд░реНрдн
рд▓реЙрдЧрд┐рди рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЕрдирд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрди рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХреНрд╕реЗрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред
рдпрд╣ рдХрд╛рдлреА рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдорд┐рд▓реА рд╡рд┐рднрд┐рдиреНрди рд╕реВрдЪрдирд╛рдУрдВ рд╕реЗ рд▓реИрд╕ рд╣реЛрдХрд░ рд╣рдо рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд╛рде рдЖрдПред
рдЗрд╕рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдореЗрд░рд╛ рд╕рдордп рдмрдЪрд╛рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИредSQL
DECLARE @UserName SysName='dfgsfdg'--Add Domain if Windows UserSET NOCOUNT ONCREATE TABLE #UserTable(UserName sysname,GroupName sysname,LoginName sysname NULL,DefDBName sysname NULL,DefSchemaName sysname NULL,UserID smallint,SID smallint)CREATE TABLE #Databases(DATABASE_NAME sysname,DATABASE_SIZE INT, REMARKS varchar(254))INSERT INTO #Databases EXEC sp_databasesDECLARE @DBName sysnameDECLARE c1 CURSOR FOR (SELECT DATABASE_NAME FROM #Databases)open c1fetch next from c1 into @DBNameWHILE @@FETCH_STATUS= 0BEGINPRINT @DBNameEXEC ('USE '+ @DBName +' INSERT INTO #UserTable EXEC sp_helpuser') IF (SELECT COUNT(*)FROM #UserTable WHERE UserName=@UserName)>0 BEGIN PRINT'Removing '''+@UserName +''' FROM '+@DBName EXEC ('USE '+ @DBName +' EXEC sp_dropuser '''+@UserName +'''') ENDDELETE FROM #UserTable--ClearTablefetch next from c1 into @DBNameENDCLOSE C1deallocate c1PRINT 'Revoking Login'IF CHARINDEX(@UserName,'\')>1 BEGINEXEC ('EXEC sp_revokelogin '''+ @UserName +'''')--Check string for domain info, assume windows if '/' foundENDIF CHARINDEX(@UserName,'\')=0 AND EXISTS(SELECT * FROM sys.server_principals WHERE name =@UserName) BEGIN--Check if SQL LoginEXEC ('DROP LOGIN ['+ @UserName +']')ENDDROP TABLE #UserTableDROP TABLE #Databases