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.
Is the name returned the correct servername?
If NO, use the following commands.
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
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.