We always recommend using one job (or job chain) with multiple orders. The advantages are that the jobs (e.g. job chains):
- can be independent of the parameter values - only "what the job does" is implemented;
- are more or less generic, meaning that what a job does is determined by the order parameters;
- can be easily transported between different environments (e.g. dev, test, prod);
- can be more easily changed or modified if needed.
To give an example: consider the case of 700 Servers, with 5 housekeeping jobs (e.g. backup, clean up, etc.) on each server.
*If you create jobs for this situation, you need 700* 5 = 3500 jobs, which would be more or less identical. The only difference between the jobs would be the parameters (or constants, hard coded in the jobs).
- Using the order approach, you would need 5 jobs and one job chain. An order would be needed for each server, which would contain the parameters for all 5 jobs in the chain. This approach would decrease the complexitiy of the scheduling and greatly simplify making changes to the jobs.