|
Definitions More Info. | Definition ID | 16.119 | Title | SQL | Category | NOTES | Definition | buyuk tablo sync esitleme-mesaj tablosu | Definition Description | USE [msdb] GO
/****** Object: Job [MessageTransfer_Sync_Job] Script Date: 5/29/2024 4:32:14 PM ******/ BEGIN TRANSACTION DECLARE @ReturnCode INT SELECT @ReturnCode = 0 /****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 5/29/2024 4:32:14 PM ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) BEGIN EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16) EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'MessageTransfer_Sync_Job', @enabled=0, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N'No description available.', @category_name=N'[Uncategorized (Local)]', @owner_login_name=N'KNSVM\sqladmin', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [1] Script Date: 5/29/2024 4:32:14 PM ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'1', @step_id=1, @cmdexec_success_code=0, @on_success_action=3, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'DECLARE @MesajHareketID bigint DECLARE @operation int DECLARE Numara_cursor CURSOR FOR SELECT E.MesajHareketID, E.__$operation FROM [AtlantisDB].[cdc].[dbo_MesajHareketDB_CT] E WITH(NOLOCK) INNER JOIN [Messaging].[dbo].[MessageTransfer] M WITH(NOLOCK) ON E.MesajHareketID = M.Id WHERE E.CDC_IsProcessed_Aktarim = 0 AND E.__$operation IN (1, 4) ORDER BY E.__$start_lsn, E.__$command_id, E.__$seqval, E.__$operation; OPEN Numara_cursor; FETCH NEXT FROM Numara_cursor INTO @MesajHareketID, @operation -- Check @@FETCH_STATUS to see if there are any more rows to fetch. WHILE @@FETCH_STATUS = 0 BEGIN /* DELETE ISLEMI */ IF @operation = 1 BEGIN DELETE FROM [Messaging].[dbo].[MessageTransfer] WHERE Id = @MesajHareketID UPDATE [AtlantisDB].[cdc].[dbo_MesajHareketDB_CT] SET CDC_IsProcessed_Aktarim = 1, CDC_ProcessesDate = GETDATE() WHERE MesajHareketID = @MesajHareketID AND __$operation = 1 AND [CDC_IsProcessed_Aktarim] = 0 PRINT ''DELETE EDILDI'' END /* INSERT ISLEMI */ ELSE IF @operation = 2 BEGIN SET IDENTITY_INSERT [Messaging].[dbo].[MessageTransfer] ON; INSERT INTO [Messaging].[dbo].[MessageTransfer] ( [Id], [MessageId], [CandidateId], [ResumeId], [JobCode], [SendDate], [ReadDate], [CompanyUserId], [CompanyId], [IsDeleted], [IsCompanyDeleted], [ReplyRequired], [AutoReply], [CreationDate], [LastModifyDate] ) SELECT [MesajHareketID], [MesajID], [ALoginID], [RefNumber], [Clientjobrefno], AtlantisDB.dbo.[ConvertDatetime_MertV3]([GonderimTarihi]) as GonderimTarihi, AtlantisDB.dbo.[ConvertDatetime_MertV3]([OkunmaTarihi]) as OkunmaTarihi, [CLoginId], [Postinguser], ISNULL([Silindi], 0), ISNULL([FirmaSilindi], 0), ISNULL([Cevaplasin], 0), ISNULL([OtomatikCevap], 0), [CreationDate], ISNULL( [LastModifyDate], GETDATE() ) FROM [AtlantisDB].[cdc].[dbo_MesajHareketDB_CT] WHERE MesajHareketID = @MesajHareketID AND __$operation = 2 AND [CDC_IsProcessed_Aktarim] = 0 SET IDENTITY_INSERT [Messaging].[dbo].[MessageTransfer] OFF; UPDATE [AtlantisDB].[cdc].[dbo_MesajHareketDB_CT] SET CDC_IsProcessed_Aktarim = 1, CDC_ProcessesDate = GETDATE() WHERE MesajHareketID = @MesajHareketID AND __$operation = 2 AND [CDC_IsProcessed_Aktarim] = 0 PRINT ''INSERT EDILDI'' END
/* UPDATE ISLEMI */ ELSE IF @operation = 4 BEGIN UPDATE U SET U.MessageId = S.MesajID, U.CandidateId = S.ALoginID, U.ResumeId = S.RefNumber, U.JobCode = S.Clientjobrefno, U.SendDate = AtlantisDB.dbo.ConvertDatetime_MertV3(S.GonderimTarihi), U.ReadDate = AtlantisDB.dbo.ConvertDatetime_MertV3(S.OkunmaTarihi), U.CompanyUserId = S.CLoginId, U.CompanyId = S.Postinguser, U.IsDeleted = ISNULL(S.Silindi, 0), U.IsCompanyDeleted = ISNULL(S.FirmaSilindi, 0), U.ReplyRequired = ISNULL(S.Cevaplasin, 0), U.AutoReply = ISNULL(S.OtomatikCevap, 0), U.CreationDate = S.CreationDate, U.LastModifyDate = S.LastModifyDate FROM [Messaging].[dbo].[MessageTransfer] U INNER JOIN [AtlantisDB].[cdc].[dbo_MesajHareketDB_CT] S ON U.[Id] = S.MesajHareketID WHERE S.MesajHareketID = @MesajHareketID AND S.__$operation = 4 AND S.[__$seqval] = ( SELECT MAX([__$seqval]) FROM cdc.[dbo_MesajHareketDB_CT] WITH(NOLOCK) WHERE MesajHareketID = @MesajHareketID AND __$operation = 4 )
UPDATE [AtlantisDB].[cdc].[dbo_MesajHareketDB_CT] SET CDC_IsProcessed_Aktarim = 1, CDC_ProcessesDate = GETDATE() WHERE MesajHareketID = @MesajHareketID AND __$operation = 4 AND [CDC_IsProcessed_Aktarim] = 0 PRINT ''UPDATE EDILDI'' END FETCH NEXT FROM Numara_cursor INTO @MesajHareketID, @operation END CLOSE Numara_cursor; DEALLOCATE Numara_cursor; ', @database_name=N'AtlantisDB', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [2_Insert] Script Date: 5/29/2024 4:32:14 PM ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'2_Insert', @step_id=2, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'DECLARE @maxid BIGINT SELECT @maxid = ISNULL(MAX(Id), 0) FROM [Messaging].[dbo].[MessageTransfer] WITH(NOLOCK) SET IDENTITY_INSERT [Messaging].[dbo].[MessageTransfer] ON; INSERT INTO [Messaging].[dbo].[MessageTransfer] ([Id], [MessageId], [CandidateId], [ResumeId], [JobCode], [SendDate], [ReadDate], [CompanyUserId], [CompanyId], [IsDeleted], [IsCompanyDeleted], [ReplyRequired], [AutoReply], [CreationDate], [LastModifyDate]) SELECT TOP 10000 [MesajHareketID] ,[MesajID] ,[ALoginID] ,[RefNumber] ,[Clientjobrefno] ,AtlantisDB.dbo.[ConvertDatetime_MertV3]([GonderimTarihi]) as GonderimTarihi ,AtlantisDB.dbo.[ConvertDatetime_MertV3]([OkunmaTarihi]) as OkunmaTarihi ,[CLoginId] ,[Postinguser] ,ISNULL([Silindi],0) ,ISNULL([FirmaSilindi],0) ,ISNULL([Cevaplasin],0) ,ISNULL([OtomatikCevap],0) ,ISNULL([CreationDate],GETDATE()) ,ISNULL([LastModifyDate],GETDATE()) FROM [AtlantisDB].[dbo].[MesajHareketDB] WITH(NOLOCK) WHERE [MesajID] IN (SELECT Id FROM Messaging.dbo.[Message]) AND [MesajHareketID] > @maxid ORDER BY [MesajHareketID] SET IDENTITY_INSERT [Messaging].[dbo].[MessageTransfer] OFF; ', @database_name=N'AtlantisDB', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'5', @enabled=1, @freq_type=4, @freq_interval=1, @freq_subday_type=4, @freq_subday_interval=5, @freq_relative_interval=0, @freq_recurrence_factor=0, @active_start_date=20240429, @active_end_date=99991231, @active_start_time=0, @active_end_time=235959, @schedule_uid=N'1f5470de-1d56-40e7-9014-f0de2b75b873' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback COMMIT TRANSACTION GOTO EndSave QuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave: GO
| RecordBy | cunay | Record Date | 08-02-2025 18:32:04 | Düzenle |  | Kopyala |  | Sil |  | |
|
|