And these have been those annoying jobs that are, apparently, undeletable and unwanted maintenance jobs.
Job #1
A rather ancient backup job, or, rather, the remnants thereof, sitting in SQL 2005 Agent but with no maintenance plan behind it, no subplan schedule within it, and generally going 'Ha Ha' in a manner eerily reminiscent of Nelson Muntz. Assuming that the following error message can be translated as 'Ha Ha!'.
The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id". The conflict occurred in database "msdb", table "dbo.sysmaintplan_subplans", column 'job_id'.The statement has been terminated. (Microsoft SQL Server, Error: 547)
First, I had a look in the sysjobs table
SELECT *
FROM msdb.dbo.sysjobs
WHERE name like 'plan name%'
This gave me the ID for the job, and then I was able to run the following against the sysmaintplan_subplans table
SELECT *
FROM sysmaintplan_subplans
WHERE job_id = '28B010B4-5FCD-4802-8405-808E2C9EA352'
(to confirm that I was looking at the correct job)
DELETE sysmaintplan_subplans
WHERE job_id = '28B010B4-5FCD-4802-8405-808E2C9EA352'
Then I was able to delete the job via Job Activity Monitor.
Job #2
This was sitting on a SQL 2000 SP4 box, which had been created in the time honoured fashion: take an image of the original server and rename it. You get the most infuriating error
Error 14274: Cannot add, update, or delete a job (or its steps or schedules) that originated from an MSX server. The job was not saved.
For this one to be fixed, you need to restart SQL. First, find out what the name of the original server was by running
SELECT @@SERVERNAME
Then, rename it with the correct name
sp_dropserver 'OldServerName'
sp_addserver 'CorrectServerName', 'local'
Then, restart SQL. I got lucky. No-one was using the Server.
Run the following
UPDATE msdb..sysjobs
SET originating_server = 'CorrectServerName'
WHERE originating_server = 'OldServerName'
Bob's your Uncle, Charlie's your Aunt, and it should now be possible to delete the recalcitrant job.
This is a known problem that was introduced in SQL 2000 SP3, and has apparently persisted. Grrrr.
(This week i 'ave mostly been.... ref)
Friday, 23 October 2009
This morning, I 'ave been mostly deleting old SQL Agent Jobs
Labels:
Error,
Error 14274,
Error 547,
SERVERNAME,
SP3,
SQL 2000,
SQL 2005
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment