The question came up regarding the scheduling of SQL Server jobs and whether multiple instances of a job could run at the same time. So for example if I have a job that is scheduled to run every 15 minutes and for some reason the job runs 30 minutes, will a new instance of the job be started so now I will have 2 instances of the job running at the same time? The answer is no. SQL Server will not allow multiple instances of a job to run at any given time (See the note). I did some testing and the behavior of the SQL Server Agent is this; the Agent will run the job, if the job runs longer than the interval the Agent will wait the interval after the previous job had completed before running the job again, if it runs less than the interval it will allow the interval to completely pass (From the time the job was started) before running it again. For example if you have a job that is scheduled to run every 15 minutes the activity might look something like this:

01:00 PM - Agent runs the job

01:45 PM - Job stops after running 45 minutes

02:00 PM - Agent runs the job after waiting 15 minutes from when the job stopped

02:14 PM - Job stops running after 14 minutes

02:15 PM - Agent runs the job after waiting 15 minutes from when the job started

This could be problematic if the job runs every 5 hours and you are expecting the job to run like clockwork:

12:00 PM - Agent runs the job

05:01 PM - Job stops running after 5 hours and 1 minute

10:00 PM - Agent runs the job after waiting 5 hours from when the job stopped

This essentially skips the 5:00 PM instance of the job because the 12:00 PM instance ran a minute longer than the interval. In most cases this will not be a problem but could throw you off if you are expecting it to be run at that time.