SQL Server 2000 error 14274: cannot add, update, or delete a job

Questa mattina ho dovuto attivare una nuova procedura su un server con Microsoft SQL 2000 SP4 che era fermo da tempo.
Ho riattivato il SQL Server Agent e ho deciso di eliminare i vecchi processi che oramai erano inutili ed inutilizzati da tempo.

Nel tentativo di eliminarli SQL mi visualizzava una dialog box con il messaggio:
Error 14274: Cannot add, update, or delete a job (or its steps or schedules) that originated from an MSX server.

Ho scoperto che il problema nasce da fatto che il server (come nome macchina) era stato rinominato, ma non era stata rinominata anche la istanza di SQL.

Quindi i processi presenti erano ancora agganciati ad un nome di server non più esistente e quindi non erano cancellabili.

Ciò è osservabile avviando Query analyzer, collegandosi al server e digitando:

SELECT @@servername

e verificando se il nome del server corrisponde a quello attuale. Ovviamente non dovrebbe corrispondere.

Quindi è necessario modificare il nome dell’istanza utilizando questi 2 comandi in successione:
exec sp_dropserver <‘wrong_servername’>

e qindi:

exec sp_addserver <‘correct_servername’>, ‘local’

A questo punto è possibile verificare il nome di istanza collegata a ciascuno dei job presenti con il comando:

SELECT * FROM msdb..sysjobs

e correggere i nomi errati con il comando:

USE msdb
GO
UPDATE sysjobs SET originating_server = <‘correct_servername’> WHERE originating_server = <‘wrong_servername’>

A questo punto è possibile passare alla eliminazione/modifica dei job presenti.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: