Solved

SQL Server 2008 job fails when deleting records in Linked Server

Posted on 2014-03-10
3
755 Views
Last Modified: 2016-02-10
Hi all.

I have a SQL Server 2008 SSIS package that deletes records from a table in a Linked Server. The linked server (myServerB) is SQL Server 2000.

When I run the package from Integration Services it completes with no errors and deletes the records from the table on the linked server. But when I create a new job from SQL Server Agent and then click on "Start Job at Step..." it fails with the following error:

Executed as user: DOMAIN\ServerName$. Code: 0xC002F210

Delete permission denied on object 'table', database 'mydb', owner 'dbo'. Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).

I know the sql task works because when I run the package from Integration Services it completes successfully and deletes the records from the table, but when I try to execute the package from jobs in SQL Server Agent it fails. I have the owner as DOMAIN\administrator, why is it executing as DOMAIN\ServerName$?

How can I get the job to run the package successfully?

Thank you in advance.
0
Comment
Question by:printmedia
  • 2
3 Comments
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39917884
>I know the sql task works
this is due to the difference that when you RUN the package from SSIS interactively, the run takes YOUR credentials;
while when the package is run in a JOB, sql server takes the credentials of the sql server agent, by default.

you can specify the "Run AS" in the sql server job's step to solve this for just this task, or to change the sql server agent's default startup login to a login that will have the permissions as needed.
0
 

Author Comment

by:printmedia
ID: 39917914
Thank you for your reply.

I'm in the Job Step but it does not let me choose a "Run As" user it defaults to: "SQL Server Agent Service Account".
0
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 39917918
then you need to create some "sql agent proxy" first:
http://technet.microsoft.com/en-us/library/ms189064%28v=sql.105%29.aspx
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question