USE [test] GO /****** Object: StoredProcedure [PROJECT].[autofix_user] Script Date: 12/06/2012 15:25:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <zhaorb> -- Create date: <Create Date,> -- Description: <Description,> -- ============================================= ALTER PROCEDURE [PROJECT].[autofix_user] AS DECLARE @cur1 CURSOR DECLARE @name varchar(64) DECLARE @sid varchar(64) SET @cur1=CURSOR FOR select UserName = name,UserSID = sid from sysusers where issqluser = 1 and (sid is not null and sid <> 0x0) and (len(sid) <= 16) and suser_sname(sid) is null order by name OPEN @cur1 FETCH NEXT FROM @cur1 INTO @name,@sid WHILE(@@FETCH_STATUS=0) BEGIN EXEC sp_change_users_login 'AUTO_FIX',@name print 'fixed'+@name FETCH NEXT FROM @cur1 INTO @name,@sid END CLOSE @cur1 DEALLOCATE @cur1