Unable to delete SQL Server 2008 R2 login

If you have many jobs and do not know which job is owned by this login, this query will tell you the name of jobs owned by them:

SELECT j.name
FROM msdb.dbo.sysjobs AS j
INNER JOIN sys.syslogins AS l ON j.owner_sid = l.sid
WHERE l.name = 'loginYouWantToDelete'

Once you have found the job, you can delete it using: sp_delete_job: (From MSDN)

EXEC msdb.dbo.sp_delete_job
    @job_name = N'JobToDelete';

You need to set the owner of the jobs to a different login. If you look at the properties of the jobs you will see who the owner is for them. All you have to do is change that to another login.

Here is the T-SQL to change the owner of the job:

use msdb
go

exec sp_update_job @job_name= 'Your Job Name', 
@owner_login_name= 'Your New Job Owner'
go

As for the database users that are mapped to the login you are trying to drop, if you want to keep the database users and their security context just do this to them:

alter user YourDbUser 
with login = TheLoginThatYouWantTheUserToBeMappedTo