Seems like I found a working solution with the help of a cursor:
DECLARE @UserId AS uniqueidentifier;
DECLARE @RoleId AS uniqueidentifier;
DECLARE @UserCursor as CURSOR;
SET @UserCursor = CURSOR FOR
SELECT u.UserId
FROM dbo.aspnet_Users u
INNER JOIN dbo.aspnet_UsersInRoles r
ON u.UserId = r.UserId
WHERE r.RoleId NOT IN
(SELECT RoleID
FROM dbo.aspnet_Roles
WHERE RoleName = 'MyRoleName')
SET @RoleId = (
SELECT RoleId
FROM dbo.aspnet_Roles
WHERE RoleName = 'RoleNameToBeGiven'
)
OPEN @UserCursor;
FETCH NEXT FROM @UserCursor INTO @UserId
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT cast(@UserId as VARCHAR (50)) + ' ' + cast(@RoleId as VARCHAR (50));
IF NOT EXISTS (SELECT UserId, RoleId FROM dbo.aspnet_UsersInRoles
WHERE UserId = @UserId AND RoleId = @RoleId)
INSERT INTO dbo.aspnet_UsersInRoles (UserId,RoleId)
VALUES(@UserId,@RoleId);
FETCH NEXT FROM @UserCursor INTO @UserId
END
CLOSE @UserCursor;
DEALLOCATE @UserCursor;