Changing the name of a SQL Server Machine

After cloning a Microsoft SQL 2000 Server into a virtual machine and renaming the server, the scheduled Jobs no longer worked. Essentially, the reason is that the jobs were created while using a server with a different server name. The SQL Server will act as if the job originated on a master server, and will not allow changes to that job definition. Microsoft suggests in a KB to rename the server back to the original name, delete the job(s), and rename the server to the new name, however, there is an easier method, use the Query Analyzer.

To determine the name of the server.

SELECT @@servername

Is the name returned the correct servername?

If NO, use the following commands.

sp_dropserver <'name_returned'>

then run the following command to rename the server.
sp_addserver <'correct_servername'>, 'local'

Restart MSSQLSERVER for changes to take effect.

If YES, proceed here…
Check the originating_server column in msdb..sysjobs:

SELECT *
FROM msdb..sysjobs

Verify if all jobs have the correct server name for originating_server.

If NO, update this value with the correct server name by running following script

USE msdb
GO
DECLARE @srv sysname
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname)
UPDATE sysjobs SET originating_server = @srv

or …

USE msdb
GO
DECLARE @srv sysname
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname)
UPDATE sysjobs SET originating_server = @srv
WHERE originating_server = '<wrong_servername>'

Tested and works with Microsft SQL 2000 Server, but should work with other versions.

Source(s)
http://blog.sqlauthority.com/2006/12/20/sql-server-fix-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/
http://support.microsoft.com/?id=281642
http://www.karaszi.com/SQLServer/info_change_server_name.asp