dbo.QBM_PCustomSQLPropagate
Stored ProcedureSQL_STORED_PROCEDURESandbox DB
Interpretation
- Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QBM_FCVDatetimeToString source text reference
- references source dbo.QBM_FGIObjectIsDropable source text reference
- references source dbo.QBM_FSQObjectComment source text reference
- references source dbo.QBM_PCustomSQLPropagate_Cont source text reference
- references source dbo.QBM_PDatabasePrepare source text reference
- references source dbo.QBM_PDatabasePrepareCheck1 source text reference
- references source dbo.QBM_PExecuteSQLWithRetry_LLP source text reference
- references source dbo.QBM_PFunctionDrop source text reference
- references source dbo.QBM_PProcedureDrop source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.QBM_PSQLCreate source text reference
- references source dbo.QBM_PTriggerDrop source text reference
- references source dbo.QBM_PViewBuild source text reference
- references source dbo.QBM_PViewDrop source text reference
References
- dbo.QBM_FCVDatetimeToString
- dbo.QBM_FGIObjectIsDropable
- dbo.QBM_FSQObjectComment
- dbo.QBM_PCustomSQLPropagate_Cont
- dbo.QBM_PDatabasePrepare
- dbo.QBM_PDatabasePrepareCheck1
- dbo.QBM_PExecuteSQLWithRetry_LLP
- dbo.QBM_PFunctionDrop
- dbo.QBM_PProcedureDrop
- dbo.QBM_PSessionErrorAdd
- dbo.QBM_PSQLCreate
- dbo.QBM_PTriggerDrop
- dbo.QBM_PViewBuild
- dbo.QBM_PViewDrop
Referenced By
Complete Source
1CREATE PROCEDURE QBM_PCustomSQLPropagate(2 @ModuleToRestore varchar(3) = 'CCC',3 @OnlyPropagateEmptyXTouched BIT = 04)5AS6BEGIN7 DECLARE @CurrentDeadlock_priority int8 DECLARE @ScriptName nvarchar(64)9 DECLARE @ScriptType nvarchar(1)10 DECLARE @initialContent nvarchar(max)11 DECLARE @UID_QBMCustomSQL varchar(38)12 DECLARE @DebugSwitch int = 013 DECLARE @Anzahl int14 DECLARE @work TABLE(UID_QBMCustomSQL varchar(38) collate database_default,15 ScriptName nvarchar(64) collate database_default,16 ScriptType nvarchar(1) collate database_default,17 SortOrder int,18 Scriptcode nvarchar(max))19 DECLARE @nogo QBM_YParameterList20 DECLARE @ErrorBuffer QBM_YSessionError21 SET XACT_ABORT OFF22 BEGIN TRY23 SET nocount24 ON25 SET quoted_identifier26 ON27 SELECT TOP 1 @CurrentDeadlock_priority = s.deadlock_priority28 FROM sys.dm_exec_sessions s29 WHERE30 s.session_id = @@spid31 SELECT32 @CurrentDeadlock_priority = isnull(@CurrentDeadlock_priority,33 0)34 SET deadlock_priority 835 INSERT INTO @nogo(Parameter1)36 VALUES('QBM_FGIObjectIsDropable'),37 ('QBM_PCustomSQLPropagate_Cont'),38 ('QBM_PCustomSQLPropagate'),39 ('QBM_PViewDrop'),40 ('QBM_PFunctionDrop'),41 ('QBM_PProcedureDrop'),42 ('QBM_PTriggerDrop'),43 ('QBM_FSQObjectComment'),44 ('QBM_PExecuteSQLWithRetry_LLP')45 SELECT @ScriptType = N 'U'46 DELETE @work47 INSERT INTO @work(UID_QBMCustomSQL,48 ScriptName,49 ScriptType,50 SortOrder)51 SELECT52 s.UID_QBMCustomSQL,53 s.ScriptName,54 s.ScriptType,55 s.SortOrder56 FROM QBMCustomSQL s57 WHERE58 ScriptType = @ScriptType AND59 LEFT(s.UID_QBMCustomSQL,60 4) = @ModuleToRestore + '-' AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched,61 '')) = ''))62 SELECT @anzahl = @@ROWCOUNT63 IF @DebugSwitch > 064 BEGIN65 print 'Anzahl U geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())66 END67 WHILE EXISTS(68 SELECT TOP 1 169 FROM @work)70 BEGIN71 SELECT72 TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,73 @ScriptName = w.ScriptName,74 @ScriptType = w.ScriptType75 FROM @work w76 ORDER BY w.SortOrder77 EXEC QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL,78 @ScriptName79 DELETE @work80 WHERE81 UID_QBMCustomSQL = @UID_QBMCustomSQL82 UPDATE QBMCustomSQL83 SET XTouched = 'I'84 FROM QBMCustomSQL c85 WHERE86 c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'87 END88 SELECT @ScriptType = N 'C'89 DELETE @work90 INSERT INTO @work(UID_QBMCustomSQL,91 ScriptName,92 ScriptType,93 SortOrder)94 SELECT95 s.UID_QBMCustomSQL,96 s.ScriptName,97 s.ScriptType,98 s.SortOrder99 FROM QBMCustomSQL s100 WHERE101 ScriptType = @ScriptType AND102 LEFT(s.UID_QBMCustomSQL,103 4) = @ModuleToRestore + '-' AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched,104 '')) = ''))105 SELECT @anzahl = @@ROWCOUNT106 IF @DebugSwitch > 0107 BEGIN108 print 'Anzahl C geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())109 END110 WHILE EXISTS(111 SELECT TOP 1 1112 FROM @work)113 BEGIN114 SELECT115 TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,116 @ScriptName = w.ScriptName,117 @ScriptType = w.ScriptType118 FROM @work w119 ORDER BY w.SortOrder120 EXEC QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL,121 @ScriptName122 DELETE @work123 WHERE124 UID_QBMCustomSQL = @UID_QBMCustomSQL125 UPDATE QBMCustomSQL126 SET XTouched = 'I'127 FROM QBMCustomSQL c128 WHERE129 c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'130 END131 SELECT @ScriptType = N 'I'132 DELETE @work133 INSERT INTO @work(UID_QBMCustomSQL,134 ScriptName,135 ScriptType,136 SortOrder)137 SELECT138 s.UID_QBMCustomSQL,139 s.ScriptName,140 s.ScriptType,141 s.SortOrder142 FROM QBMCustomSQL s143 WHERE144 ScriptType = @ScriptType AND145 LEFT(s.UID_QBMCustomSQL,146 4) = @ModuleToRestore + '-' AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched,147 '')) = ''))148 SELECT @anzahl = @@ROWCOUNT149 IF @DebugSwitch > 0150 BEGIN151 print 'Anzahl I geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())152 END153 WHILE EXISTS(154 SELECT TOP 1 1155 FROM @work)156 BEGIN157 SELECT158 TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,159 @ScriptName = w.ScriptName,160 @ScriptType = w.ScriptType161 FROM @work w162 ORDER BY w.SortOrder163 EXEC QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL,164 @ScriptName165 DELETE @work166 WHERE167 UID_QBMCustomSQL = @UID_QBMCustomSQL168 UPDATE QBMCustomSQL169 SET XTouched = 'I'170 FROM QBMCustomSQL c171 WHERE172 c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'173 END174 IF @DebugSwitch > 0175 BEGIN176 print 'start QBM_PViewBuild ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())177 END178 IF @ModuleToRestore = 'CCC'179 BEGIN180 EXEC QBM_PViewBuild181 END182 IF @DebugSwitch > 0183 BEGIN184 print 'ende QBM_PViewBuild' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())185 END186 DELETE @work187 INSERT INTO @work(UID_QBMCustomSQL,188 ScriptName,189 ScriptType,190 SortOrder,191 Scriptcode)192 SELECT193 s.UID_QBMCustomSQL,194 s.ScriptName,195 CASE196 WHEN s.ScriptType = N 'V' THEN197 N 'V'198 ELSE N 'F'199 END,200 s.SortOrder,201 s.Scriptcode202 FROM QBMCustomSQL s203 LEFT204 OUTER205 JOIN @nogo n206 ON s.ScriptName = n.Parameter1207 WHERE208 ScriptType IN(N 'N',209 N 'F',210 N 'V') AND211 LEFT(s.UID_QBMCustomSQL,212 4) = @ModuleToRestore + '-' AND n.Parameter1 IS NULL AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched213 , '')) = ''))214 SELECT @anzahl = @@ROWCOUNT215 IF @DebugSwitch > 0216 BEGIN217 print 'Anzahl V/F geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())218 END219 WHILE EXISTS(220 SELECT TOP 1 1221 FROM @work)222 BEGIN223 SELECT224 TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,225 @ScriptName = w.ScriptName,226 @ScriptType = w.ScriptType,227 @initialContent = w.Scriptcode228 FROM @work w229 ORDER BY w.SortOrder230 EXEC QBM_PSQLCreate @ScriptName,231 @ScriptType,232 @initialContent,233 @UnComment = 0,234 @Unformat = 0235 DELETE @work236 WHERE237 UID_QBMCustomSQL = @UID_QBMCustomSQL238 UPDATE QBMCustomSQL239 SET XTouched = 'I'240 FROM QBMCustomSQL c241 WHERE242 c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'243 END244 DELETE @work245 INSERT INTO @work(UID_QBMCustomSQL,246 ScriptName,247 ScriptType,248 SortOrder,249 Scriptcode)250 SELECT251 s.UID_QBMCustomSQL,252 s.ScriptName,253 s.ScriptType,254 s.SortOrder,255 s.Scriptcode256 FROM QBMCustomSQL s257 LEFT258 OUTER259 JOIN @nogo n260 ON s.ScriptName = n.Parameter1261 WHERE262 ScriptType IN(N 'P',263 N 'T') AND264 LEFT(s.UID_QBMCustomSQL,265 4) = @ModuleToRestore + '-' AND n.Parameter1 IS NULL AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched266 , '')) = ''))267 SELECT @anzahl = @@ROWCOUNT268 IF @DebugSwitch > 0269 BEGIN270 print 'Anzahl P/T geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())271 END272 WHILE EXISTS(273 SELECT TOP 1 1274 FROM @work)275 BEGIN276 SELECT277 TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,278 @ScriptName = w.ScriptName,279 @ScriptType = w.ScriptType,280 @initialContent = w.Scriptcode281 FROM @work w282 ORDER BY w.SortOrder283 EXEC QBM_PSQLCreate @ScriptName,284 @ScriptType,285 @initialContent,286 @UnComment = 0,287 @Unformat = 0288 DELETE @work289 WHERE290 UID_QBMCustomSQL = @UID_QBMCustomSQL291 UPDATE QBMCustomSQL292 SET XTouched = 'I'293 FROM QBMCustomSQL c294 WHERE295 c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'296 END297 IF @ModuleToRestore = 'CCC'298 BEGIN299 IF @DebugSwitch > 0300 BEGIN301 print 'start QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())302 END303 EXEC QBM_PDatabasePrepareCheck1304 IF @DebugSwitch > 0305 BEGIN306 print 'ende QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())307 END308 END309 END TRY310 BEGIN CATCH311 DECLARE @ErrorMessage nvarchar(4000) = error_message()312 DELETE @ErrorBuffer313 INSERT INTO @ErrorBuffer(ErrorMessage,314 ErrorSeverity,315 ErrorState,316 ErrorNumber,317 ProcedureName,318 ProcedureLine,319 MessageDate,320 GenProcID,321 RepeatCounter,322 IsReThrow,323 SourceCode)324 SELECT325 @ErrorMessage,326 ERROR_SEVERITY(),327 ERROR_STATE(),328 ERROR_NUMBER(),329 ERROR_PROCEDURE(),330 ERROR_LINE(),331 GETUTCDATE(),332 NULL,333 0,334 0,335 @ScriptName336 EXEC QBM_PSessionErrorAdd @ErrorBuffer337 RAISERROR(@ErrorMessage,338 18,339 1)340 WITH NOWAIT341 END CATCH342 endLabel:343 SET deadlock_priority @CurrentDeadlock_priority344 RETURN345END
Open raw exported source
1 create procedure QBM_PCustomSQLPropagate (@ModuleToRestore varchar(3) = 'CCC' , @OnlyPropagateEmptyXTouched bit = 0 ) as begin declare @CurrentDeadlock_priority2 int declare @ScriptName nvarchar(64) declare @ScriptType nvarchar(1) declare @initialContent nvarchar(max) declare @UID_QBMCustomSQL varchar(38) declare3 @DebugSwitch int = 0 declare @Anzahl int declare @work table ( UID_QBMCustomSQL varchar(38) collate database_default , ScriptName nvarchar(64) collate4 database_default , ScriptType nvarchar(1) collate database_default , SortOrder int , Scriptcode nvarchar(max) ) declare @nogo QBM_YParameterList declare5 @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY set nocount on set quoted_identifier on select top 1 @CurrentDeadlock_priority = s.deadlock_priority6 FROM sys.dm_exec_sessions s where s.session_id = @@spid select @CurrentDeadlock_priority = isnull(@CurrentDeadlock_priority, 0) set deadlock_priority 78 insert into @nogo(Parameter1) values ('QBM_FGIObjectIsDropable') , ('QBM_PCustomSQLPropagate_Cont') , ('QBM_PCustomSQLPropagate') , ('QBM_PViewDrop')8 , ('QBM_PFunctionDrop') , ('QBM_PProcedureDrop') , ('QBM_PTriggerDrop') , ('QBM_FSQObjectComment') , ('QBM_PExecuteSQLWithRetry_LLP') select @ScriptType9 = N'U' delete @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, 10s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and ( @OnlyPropagateEmptyXTouched11 = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) ) select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl U geladen '12 + str(@anzahl)+ ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL13 , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName14 delete @work where UID_QBMCustomSQL = @UID_QBMCustomSQL update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL15 and trim(isnull(c.XTouched,'')) <> 'I' END select @ScriptType = N'C' delete @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder16) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 174) = @ModuleToRestore + '-' and ( @OnlyPropagateEmptyXTouched = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) ) select18 @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl C geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists19 (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work20 w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName delete @work where UID_QBMCustomSQL = @UID_QBMCustomSQL update21 QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL and trim(isnull(c.XTouched,'')) <> 'I' END select 22@ScriptType = N'I' delete @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType23, s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and ( @OnlyPropagateEmptyXTouched24 = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) ) select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl I geladen '25 + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL26 , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName27 delete @work where UID_QBMCustomSQL = @UID_QBMCustomSQL update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL28 and trim(isnull(c.XTouched,'')) <> 'I' END if @DebugSwitch > 0 begin print 'start QBM_PViewBuild ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end 29if @ModuleToRestore = 'CCC' begin exec QBM_PViewBuild end if @DebugSwitch > 0 begin print 'ende QBM_PViewBuild' + dbo.QBM_FCVDatetimeToString(GETUTCDATE30()) end delete @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder, Scriptcode) select s.UID_QBMCustomSQL, s.ScriptName, case31 when s.ScriptType = N'V' then N'V' else N'F' end, s.SortOrder, s.Scriptcode from QBMCustomSQL s left outer join @nogo n on s.ScriptName = n.Parameter132 where ScriptType in (N'N', N'F', N'V') and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and n.Parameter1 is null and ( @OnlyPropagateEmptyXTouched33 = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) ) select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl V/F geladen '34 + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL35 , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType , @initialContent = w.Scriptcode from @work w order by w.SortOrder exec QBM_PSQLCreate @ScriptName36, @ScriptType, @initialContent, @UnComment = 0, @Unformat = 0 delete @work where UID_QBMCustomSQL = @UID_QBMCustomSQL update QBMCustomSQL set XTouched37 = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL and trim(isnull(c.XTouched,'')) <> 'I' END delete @work insert into @work(UID_QBMCustomSQL38, ScriptName, ScriptType, SortOrder, Scriptcode) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, s.SortOrder, s.Scriptcode from QBMCustomSQL s 39left outer join @nogo n on s.ScriptName = n.Parameter1 where ScriptType in ( N'P', N'T') and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and40 n.Parameter1 is null and ( @OnlyPropagateEmptyXTouched = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) ) select @anzahl41 = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl P/T geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select42 top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType , @initialContent43 = w.Scriptcode from @work w order by w.SortOrder exec QBM_PSQLCreate @ScriptName, @ScriptType, @initialContent, @UnComment = 0, @Unformat = 0 delete44 @work where UID_QBMCustomSQL = @UID_QBMCustomSQL update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL45 and trim(isnull(c.XTouched,'')) <> 'I' END if @ModuleToRestore = 'CCC' begin if @DebugSwitch > 0 begin print 'start QBM_PDatabasePrepareCheck1' + 46dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end exec QBM_PDatabasePrepareCheck1 if @DebugSwitch > 0 begin print 'ende QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString47(GETUTCDATE()) end end END TRY BEGIN CATCH declare @ErrorMessage nvarchar(4000) = error_message() delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage48, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @ErrorMessage49,ERROR_SEVERITY(), ERROR_STATE(), ERROR_NUMBER() , ERROR_PROCEDURE() , ERROR_LINE(), GETUTCDATE() , null, 0, 0, @ScriptName exec QBM_PSessionErrorAdd @ErrorBuffer50 RAISERROR (@ErrorMessage, 18, 1) WITH NOWAIT END CATCH endLabel: set deadlock_priority @CurrentDeadlock_priority return end 51