Guest User

Untitled

a guest
Sep 30th, 2017
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. DECLARE @VersionInt Int;
  2. SELECT @VersionInt = CONVERT(Int, SUBSTRING(CONVERT(varchar(32), SERVERPROPERTY('ProductVersion')), 0, CHARINDEX('.', CONVERT(varchar(32), SERVERPROPERTY('ProductVersion')))));
  3.  
  4. DECLARE @UserName VARCHAR(20), @EndDate DATETIME, @Password VARCHAR(2)
  5. DECLARE SortLogins CURSOR FAST_FORWARD LOCAL FOR SELECT RTRIM(USER_NAME) AS USER_NAME, END_DATE FROM Employees ORDER BY USER_NAME ASC
  6. OPEN SortLogins
  7. FETCH NEXT FROM SortLogins INTO @UserName, @EndDate
  8. WHILE @@FETCH_STATUS = 0
  9. BEGIN
  10.  
  11. IF @EndDate IS NULL
  12. BEGIN
  13. --Create login if it does not exist
  14. IF NOT EXISTS (SELECT * FROM master..syslogins WHERE name = @UserName)
  15. BEGIN
  16. SET @Password = LOWER((SELECT SUBSTRING(@UserName, 1, 1) + SUBSTRING(@UserName, LEN(@UserName), 1)))
  17. IF @VersionInt > 8
  18. EXEC('CREATE LOGIN [' + @UserName + '] WITH PASSWORD=''' + @Password + ''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF')
  19. ELSE
  20. EXEC('sp_addlogin ''' + @UserName + ''', ''' + @Password + '''')
  21. PRINT 'Added login: ' + @UserName
  22. END
  23.  
  24. --Now re-add the user
  25. IF EXISTS (SELECT * FROM sysusers WHERE name = @UserName)
  26. BEGIN
  27. EXEC sp_change_users_login 'Update_One', @UserName, @UserName;
  28. PRINT 'Linked user and login: ' + @UserName
  29. END
  30. ELSE BEGIN
  31. IF @VersionInt > 8
  32. EXEC('CREATE USER [' + @UserName + '] FOR LOGIN [' + @UserName + ']')
  33. ELSE
  34. EXEC('sp_adduser ''' + @UserName + '''')
  35. PRINT 'Added user: ' + @UserName
  36. END;
  37. END
  38.  
  39. FETCH NEXT FROM SortLogins INTO @UserName, @EndDate
  40. END
  41. CLOSE SortLogins
  42. DEALLOCATE SortLogins
  43. PRINT '==============================='
  44. EXEC asp_ResetPermissions
Add Comment
Please, Sign In to add comment