CREATE TABLE #Staging( UserId CHAR(15), UserName VARCHAR(35), . . . )
BULK INSERT #StagingFROM '\\Share\Folder\FileName.xls'WITH( BATCHSIZE = 15000, CHECK_CONSTRAINTS, DATAFILETYPE = 'native', ROWS_PER_BATCH = 15000, , ,)
DECLARE @UserID CHAR(15), @UserName VARCHAR(35), ......DECLARE Users CURSOR LOCAL FAST_FORWARD FOR SELECT UserId, UserName ..... FROM #StagingOPEN UsersFETCH NEXT FROM Users INTO @UserID, @UserName, .....WHILE @@FETCH_STATUS = 0 BEGIN --Create login DECLARE @Login NVARCHAR(100) = 'CREATE LOGIN '+@UserID+' FROM WINDOWS;' BEGIN TRY EXEC sp_executesql @Login END TRY BEGIN CATCH RAISERROR('There was an error creating login for user %s',16,1,@UserID) END CATCH --Grant Acccess to DB SELECT @Login = 'USE GivenDatabase CREATE USER '++@UserID+' FOR LOGIN '+@UserID BEGIN TRY EXEC sp_executesql @Login END TRY BEGIN CATCH RAISERROR('There was an error linking login for user %s to database GivenDatabase',16,1,@UserID) END CATCH FETCH NEXT FROM Users INTO @UserID, @UserName, ..... ENDCLOSE UsersDEALLOCATE UsersDROP TABLE #Staging