|
noamg
Posting Yak Master
215 Posts |
Posted - 2007-05-16 : 04:28:02
|
| Why I get this error:"Server: Msg 16917, Level 16, State 2, Procedure sp_delete_job_references, Line 41Cursor is not open."DECLARE @NotifySource VARCHAR(128), @Problem INT, @ERROR INT, @ErrMessage VARCHAR(500) DECLARE @ServerName VARCHAR(30) SET @NotifySource = 'Shadow: Proc ' + OBJECT_NAME( @@PROCID ) SET @Problem = 0 DECLARE @JobID BINARY(16), @ReturnCode INT, @jobName NVARCHAR(100) SET @ReturnCode = 0 SET @jobName = N'Migrate_CifsEvent_' + 'ShadowServerName' IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'Migration') < 1 EXECUTE msdb.dbo.sp_add_category @name = N'Migration' SELECT @JobID = job_id FROM msdb.dbo.sysjobs WHERE [name] = @jobName IF EXISTS ( SELECT * FROM msdb..sysjobservers WHERE (job_id = @JobID) AND (server_id <> 0) ) BEGIN RAISERROR (N'Unable to import job ''Migrate_CifsEvent_[ShadowDB]'' since there is already a multi-server job with this name.', 16, 1) SET @Problem = 1 RETURN END IF @JobID IS NOT NULL BEGIN EXECUTE msdb.dbo.sp_delete_job @job_name = @jobName SET @JobID = NULL END EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT, @job_name = @jobName, @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'Migration', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0 SET @ERROR = @@ERROR IF @ERROR <> 0 OR @ReturnCode <> 0 BEGIN EXEC spNotification @Source = @NotifySource, @Action = 1000, @Param = 0, @message = 'Error: msdb.dbo.sp_add_job FAIL' SET @Problem = 1 END EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'CopyTable', @command = N'EXEC Migration_StageII_CifEventStep1', @database_name = N'vrnsShadowDB', -- DON'T PUT [...] @server = NULL, @database_user_name = N'sa', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2 SET @ERROR = @@ERROR IF @ERROR <> 0 OR @ReturnCode <> 0 BEGIN EXEC spNotification @Source = @NotifySource, @Action = 1000, @Param = 0, @message = 'Error: msdb.dbo.sp_add_jobstep 1 FAIL' SET @Problem = 1 END EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 2, @step_name = N'Calculate Statistics', @command = N'EXEC spCalcEventStats ', @database_name = N'vrnsShadowDB', -- DON'T PUT [ ] @server = NULL, @database_user_name = N'sa', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2 SET @ERROR = @@ERROR IF @ERROR <> 0 OR @ReturnCode <> 0 BEGIN EXEC spNotification @Source = @NotifySource, @Action = 1000, @Param = 0, @message = 'Error: msdb.dbo.sp_add_jobstep 2 FAIL' SET @Problem = 1 END EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1 SET @ERROR = @@ERROR IF @ERROR <> 0 OR @ReturnCode <> 0 BEGIN EXEC spNotification @Source = @NotifySource, @Action = 1000, @Param = 0, @message = 'Error: msdb.dbo.sp_update_job FAIL' SET @Problem = 1 END EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Between2_7', @enabled = 1, @freq_type = 4, @active_start_date = 20070502, @active_start_time = 20000, @freq_interval = 1, @freq_subday_type = 4, @freq_subday_interval = 5, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 70000 SET @ERROR = @@ERROR IF @ERROR <> 0 OR @ReturnCode <> 0 BEGIN EXEC spNotification @Source = @NotifySource, @Action = 1000, @Param = 0, @message = 'Error: msdb.dbo.sp_add_jobschedule FAIL' SET @Problem = 1 END SET @ServerName = CAST( SERVERPROPERTY( 'ServerName') AS VARCHAR(30)) EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver /* @job_id = @JobID, */ @job_name = @jobName , @server_name = @ServerName SET @ERROR = @@ERROR IF @ERROR <> 0 OR @ReturnCode <> 0 BEGIN EXEC spNotification @Source = @NotifySource, @Action = 1000, @Param = 0, @message = 'Error: msdb.dbo.sp_add_jobserver FAIL' SET @Problem = 1 ENDIF @@TRANCOUNT > 0 COMMITNoam Graizer |
|