• Or this - doesn't drop users who own a schema

    declare @sql nvarchar(max)

    set @sql = ''

    SELECT @sql = @sql+

    '

    print ''Dropping '+name+'''

    execute master.dbo.sp_revokedbaccess '''+name+'''

    '

    FROM

    sys.database_principals

    WHERE type <> 'R'

    AND NOT EXISTS

    (

    SELECT 1

    FROM sys.schemas s

    WHERE s.principal_id = dp.principal_id

    )

    ORDER BY name

    execute (@sql)

    .. yes I know it was a couple of months back but I am using it today.