Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE @VersionInt Int;
- SELECT @VersionInt = CONVERT(Int, SUBSTRING(CONVERT(varchar(32), SERVERPROPERTY('ProductVersion')), 0, CHARINDEX('.', CONVERT(varchar(32), SERVERPROPERTY('ProductVersion')))));
- DECLARE @UserName VARCHAR(20), @EndDate DATETIME, @Password VARCHAR(2)
- DECLARE SortLogins CURSOR FAST_FORWARD LOCAL FOR SELECT RTRIM(USER_NAME) AS USER_NAME, END_DATE FROM Employees ORDER BY USER_NAME ASC
- OPEN SortLogins
- FETCH NEXT FROM SortLogins INTO @UserName, @EndDate
- WHILE @@FETCH_STATUS = 0
- BEGIN
- IF @EndDate IS NULL
- BEGIN
- --Create login if it does not exist
- IF NOT EXISTS (SELECT * FROM master..syslogins WHERE name = @UserName)
- BEGIN
- SET @Password = LOWER((SELECT SUBSTRING(@UserName, 1, 1) + SUBSTRING(@UserName, LEN(@UserName), 1)))
- IF @VersionInt > 8
- EXEC('CREATE LOGIN [' + @UserName + '] WITH PASSWORD=''' + @Password + ''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF')
- ELSE
- EXEC('sp_addlogin ''' + @UserName + ''', ''' + @Password + '''')
- PRINT 'Added login: ' + @UserName
- END
- --Now re-add the user
- IF EXISTS (SELECT * FROM sysusers WHERE name = @UserName)
- BEGIN
- EXEC sp_change_users_login 'Update_One', @UserName, @UserName;
- PRINT 'Linked user and login: ' + @UserName
- END
- ELSE BEGIN
- IF @VersionInt > 8
- EXEC('CREATE USER [' + @UserName + '] FOR LOGIN [' + @UserName + ']')
- ELSE
- EXEC('sp_adduser ''' + @UserName + '''')
- PRINT 'Added user: ' + @UserName
- END;
- END
- FETCH NEXT FROM SortLogins INTO @UserName, @EndDate
- END
- CLOSE SortLogins
- DEALLOCATE SortLogins
- PRINT '==============================='
- EXEC asp_ResetPermissions
Add Comment
Please, Sign In to add comment