Back to OIM Explorer

dbo.ADS_TUADSMachine

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on ADSMachine. Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7; Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7; Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 24; References QBM_PDBQueueInsert_Bulk

Source: sandbox-db sys.sql_modules

Source size: 3.933 characters

Interpretation

  • Database trigger. Treat parent table and enqueue/object-layer calls as the main relation points.
  • DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.

Relations

  • Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7
  • Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7
  • Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 24
  • References QBM_PDBQueueInsert_Bulk
  • Trigger parent table: ADSMachine

Typed Edges

  • queues DBQueue task ADS_ZADSMachineInADSGroup at line 7 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7
  • queues DBQueue task ADS_ZADSMachineInADSGroup at line 24 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 24
  • trigger on table ADSMachine Trigger parent table: ADSMachine
  • references source dbo.QBM_FCVElementToObjectKey1 source text reference
  • references source dbo.QBM_FGIBitPatternXOrigin source text reference
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QBM_PDBQueueInsert_Bulk source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference

Complete Source

SQL182 lines
1CREATE trigger ADS_TUADSMachine2  ON ADSMachine FOR3UPDATE NOT FOR Replication4AS5BEGIN6  DECLARE @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|',7  0)8  DECLARE @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|',9  1)10  DECLARE @XUser nvarchar(64) = object_name(@@procid)11  DECLARE @Xdate datetime = getutcdate()12  BEGIN TRY13    IF EXISTS(14      SELECT TOP 1 115      FROM inserted)16    GOTO start17    IF EXISTS(18      SELECT TOP 1 119      FROM deleted)20    GOTO start21    RETURN start:22    DECLARE @GenProcID varchar(38)23    SELECT @GenProcID = dbo.QBM_FGISessionContext('')24    IF25    UPDATE(UID_ADSGroupPrimary)26    BEGIN27      DECLARE @DBQueueElements_01 QBM_YDBQueueRaw28      INSERT INTO @DBQueueElements_01(object,29      subobject,30      genprocid)31      SELECT32        x.uid,33        NULL,34        @GenProcID35      FROM(36      SELECT a.UID_ADSMachine AS uid37      FROM ADSMachine a38      JOIN deleted d39        ON a.UID_ADSMachine = d.UID_ADSMachine40      WHERE41        isnull(d.UID_ADSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, '')) AS x42      EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup',43        @DBQueueElements_0144      IF EXISTS(45        SELECT TOP 1 146        FROM deleted d47        JOIN ADSMachine a48          ON d.UID_ADSMachine = a.UID_ADSMachine49        WHERE50          isnull(d.UID_aDSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, ''))51      BEGIN52        IF dbo.QBM_FGISessionContext('Fullsync') = ''53        BEGIN54          UPDATE ADSMachineInADSGroup55          SET XOrigin = aig.XOrigin | @QBM_BitPatternXOrigin_Direct,56          XIsInEffect = 1,57          XDateUpdated = @Xdate,58          XUserUpdated = @XUser59          FROM deleted d60          JOIN ADSMachineInADSGroup aig61            ON d.UID_ADSMachine = aig.UID_ADSMachine AND d.UID_ADSGroupPrimary = aig.UID_ADSGroup62          WHERE63            aig.XIsInEffect = 064        END65        ELSE66        BEGIN67          UPDATE ADSMachineInADSGroup68          SET XOrigin = aig.XOrigin & @QBM_BitPatternXOrigin_Direct_inv,69          XDateUpdated = @Xdate,70          XUserUpdated = @XUser71          FROM deleted d72          JOIN ADSMachineInADSGroup aig73            ON d.UID_ADSMachine = aig.UID_ADSMachine AND d.UID_ADSGroupPrimary = aig.UID_ADSGroup74          WHERE75            aig.XIsInEffect = 0 AND aig.XOrigin & @QBM_BitPatternXOrigin_Direct > 076        END77      END78    END79    IF80    UPDATE(ObjectSID)81    BEGIN82      IF EXISTS(83        SELECT TOP 1 184        FROM ADSMachine x85        JOIN deleted d86          ON x.uid_ADSMachine= d.uid_ADSMachine87        WHERE88          isnull(d.ObjectSID, N '') <> isnull(x.ObjectSID, N ''))89      BEGIN90        INSERT INTO ADSOtherSID(UID_ADSOtherSID,91        ObjectSID,92        DistinguishedName,93        canonicalName,94        Ident_ADSOtherSID,95        XDateInserted,96        XDateUpdated,97        XUserInserted,98        XUserUpdated,99        XObjectKey)100        SELECT101          x.UID_ADSOtherSID,102          x.ObjectSID,103          x.DistinguishedName,104          x.canonicalName,105          x.Ident_ADSOtherSID,106          x.XDateInserted,107          x.XDateUpdated,108          x.XUserInserted,109          x.XUserUpdated,110          dbo.QBM_FCVElementToObjectKey1('ADSOtherSID',111          'UID_ADSOtherSID',112          x.UID_ADSOtherSID)113        FROM(114        SELECT115          newid() AS UID_ADSOtherSID,116          d.ObjectSID,117          d.DistinguishedName,118          d.canonicalName,119          d.cn AS Ident_ADSOtherSID,120          d.XDateInserted,121          d.XDateUpdated,122          d.XUserInserted,123          d.XUserUpdated124        FROM ADSMachine x125        JOIN deleted d126          ON x.uid_ADSMachine= d.uid_ADSMachine127        WHERE128          d.ObjectSID > ' ' AND isnull(d.ObjectSID, N '') <> isnull(x.ObjectSID, N '') AND NOT EXISTS(129        SELECT TOP 1 1130        FROM ADSOtherSID x131        WHERE132          x.ObjectSID = d.ObjectSID)) AS x133      END134      IF EXISTS(135        SELECT TOP 1 1136        FROM ADSOtherSID a137        JOIN inserted d138          ON a.ObjectSID = d.ObjectSID)139      BEGIN140        DELETE ADSOtherSID141        WHERE142          objectSID IN(143        SELECT x.ObjectSID144        FROM ADSMachine x145        JOIN deleted d146          ON x.uid_ADSMachine = d.uid_ADSMachine147        WHERE148          isnull(x.ObjectSID, N '') <> isnull(d.ObjectSID, N '')) AND UID_ADSOtherSID NOT LIKE 'ADS-%'149      END150    END151    IF152    UPDATE(UID_Hardware)153    BEGIN154      DECLARE @DBQueueElements_02 QBM_YDBQueueRaw155      INSERT INTO @DBQueueElements_02(object,156      subobject,157      genprocid)158      SELECT159        x.uid,160        NULL,161        @GenProcID162      FROM(163      SELECT d.UID_ADSMachine AS uid164      FROM deleted d165      JOIN ADSMachine m166        ON d.UID_ADSMachine = m.UID_ADSMachine167      WHERE168        isnull(d.UID_Hardware, '') <> isnull(m.UID_Hardware, '')) AS x169      EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup',170        @DBQueueElements_02171    END172  END TRY173  BEGIN CATCH174    EXEC QBM_PSessionErrorAdd DEFAULT175    RAISERROR('',176    18,177    1)178      WITH NOWAIT179  END CATCH180  ende:181  RETURN182END
Open raw exported source
SQL ยท Raw27 lines
1create   trigger ADS_TUADSMachine on ADSMachine  for Update not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin2('|Direct|', 0)  declare @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 1)  declare @XUser nvarchar(64) = object_name3(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted)4 goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_ADSGroupPrimary) begin declare5 @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_ADSMachine6 as uid from ADSMachine a join deleted d on a.UID_ADSMachine = d.UID_ADSMachine where isnull(d.UID_ADSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary7, '') ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01  if exists (select top 1 1 from deleted d join ADSMachine a8 on d.UID_ADSMachine = a.UID_ADSMachine where isnull(d.UID_aDSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, '') ) begin if dbo.QBM_FGISessionContext9 ('Fullsync') = '' begin update ADSMachineInADSGroup set XOrigin = aig.XOrigin | @QBM_BitPatternXOrigin_Direct , XIsInEffect = 1  , XDateUpdated = @Xdate10 , XUserUpdated = @XUser from deleted d join ADSMachineInADSGroup aig on d.UID_ADSMachine = aig.UID_ADSMachine and d.UID_ADSGroupPrimary = aig.UID_ADSGroup11 where aig.XIsInEffect = 0 end else begin  update ADSMachineInADSGroup set XOrigin = aig.XOrigin & @QBM_BitPatternXOrigin_Direct_inv  , XDateUpdated = 12@Xdate , XUserUpdated = @XUser from deleted d join ADSMachineInADSGroup aig on d.UID_ADSMachine = aig.UID_ADSMachine and d.UID_ADSGroupPrimary = aig.UID_ADSGroup13 where aig.XIsInEffect = 0 and aig.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 end end  end if update(ObjectSID) begin  if exists (select top 1 1 from 14ADSMachine x join deleted d on x.uid_ADSMachine= d.uid_ADSMachine where isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') ) begin insert into ADSOtherSID15 (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey16) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, x.Ident_ADSOtherSID , x.XDateInserted, x.XDateUpdated, x.XUserInserted,17 x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID', x.UID_ADSOtherSID) from ( select newid() as UID_ADSOtherSID, d.ObjectSID18 , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted, d.XDateUpdated, d.XUserInserted, d.XUserUpdated from ADSMachine x19 join deleted d on x.uid_ADSMachine= d.uid_ADSMachine where d.ObjectSID > ' ' and isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') and not exists (select20 top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end   if exists (select top 1 1 from ADSOtherSID a join inserted d on a.ObjectSID 21= d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select x.ObjectSID from ADSMachine x join deleted d on x.uid_ADSMachine = d.uid_ADSMachine22 where isnull(x.ObjectSID, N'') <> isnull(d.ObjectSID, N'') ) and UID_ADSOtherSID not like 'ADS-%' end  end  if update(UID_Hardware) begin declare @DBQueueElements_0223 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ADSMachine as uid from24 deleted d join ADSMachine m on d.UID_ADSMachine = m.UID_ADSMachine where isnull(d.UID_Hardware, '') <> isnull(m.UID_Hardware, '') ) as x exec QBM_PDBQueueInsert_Bulk25 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_02 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH26 ende: return end 27