I was trying to get SQL Agent working in the September CTP of SQL 2005, and I found that it was a little more tricky than I had expected. In SQL 2000 the Agent is very easy to simply schedule jobs and get everything working. So I did some digging into what's involved and came up with this from Books Online (the greatest resource for SQL Server). Here's what it had to say...
To perform its functions, SQL Server Agent must be configured to use the credentials of an account that is a member of the sysadmin fixed server role in SQL Server. The account must have the following Windows permissions:
- Adjust memory quotas for a process
- Act as part of the operating system
- Bypass traverse checking
- Log on as a batch job
- Log on as a service
- Replace a process level token
To verify that each of these required Windows permissions is set
-
Click Start, click Control Panel, Administrative Tools, and Local Security Policy.
-
Expand the Local Policies folder, and then click the User Rights Assignment folder.
-
Repeat the following steps for each permission:
- Right-click a permission (such as Log on as a service), and then click Properties.
- In the properties dialog box (for example Log on as a service Properties), verify that the account under which SQL Server Agent runs is listed.
- If it is not listed, click Add User or Group, enter the account under which SQL Server Agent runs, and then click OK
Typically, the account selected for the SQL Server Agent is a domain account created for that purpose and has tightly controlled access permissions. It is not necessary to use a domain account, but if you use an account on the local computer, SQL Server Agent will not have permission to access resources on other computers. It is common for SQL Server to need permission on other computers, for instance when it creates a database backup and stores the file in a location on another computer.