Typically, I run SQL Server Agent jobs in the same account as your application, accessing the database.
If this account is too limited in its permissions (which can be useful!), I would create a separate account for this application and all its SQL jobs (if possible) and run all the SQL jobs in this account.
You can run each step under a different account, but I would not use it at all (it is just very difficult to understand and understand what is performed under which account). Use it only if you need to perform a particularly sensitive step that requires a bunch of additional permissions, and these permissions are available only for a specific system account or something else.
The account running the Windows Server Agent service does not really affect how your work steps are performed.
So, it comes down to really two accounts:
To start the SQL Server Agent service, you need one account - this is the Windows account on your computer / server, which must have sufficient permissions to start the service, start and stop it - or use the LocalSystem, Network Service or any other Windows account with which you must start services with
The other account will be an account to run your SQL Server Agent actions, which is usually a SQL Server account (which can be based on a Windows account) and it needs enough privileges in SQL Server to do its job, for example, it needs access to objects database and all. I would strive to have only one account for each application that runs SQL Server jobs — making life a lot easier!
Mark
PS: To configure the user to complete this step, you need to use the "Advanced" page in the task step properties dialog box and select the user from the pop-up window:
alt text http://i31.tinypic.com/zjdqh3.jpg
source share