Textausgaben in Auftragsausführung unterdrücken

16/09/2008 - 09:48 von Alexander Mueller | Report spam
Hallo

In einigen SPs hab eich viele Print-Statements, die den Verlauf
dokumentieren sollen.
Wenn diese SPs als Job automatisiert ausgeführt werden, hàtte ich gerne,
dass die Print-Statemnts nicht ausgegebn werden, weil sie sonst den Log
aufblàhen.
Es sollen nur echte Fehler-Meldungen gelogt werden.

Gibt es dafür einen Weg, ausser die Statemnest auszukommentieren,
z.B. eine Session-Variable oder eine Eigenschaft des Jobs?

MfG,
Alex
 

Lesen sie die antworten

#1 Elmar Boye
16/09/2008 - 12:06 | Warnen spam
Hallo Alexander,

Alexander Mueller schrieb:
In einigen SPs hab eich viele Print-Statements, die den Verlauf
dokumentieren sollen.
Wenn diese SPs als Job automatisiert ausgeführt werden, hàtte ich gerne,
dass die Print-Statemnts nicht ausgegebn werden, weil sie sonst den Log
aufblàhen.
Es sollen nur echte Fehler-Meldungen gelogt werden.

Gibt es dafür einen Weg, ausser die Statemnest auszukommentieren,
z.B. eine Session-Variable oder eine Eigenschaft des Jobs?



Nein.

Anstatt die PRINT Anweisungen auszukommentieren, könntest Du
jedoch eine bedingte Ausgabe einführen. Sind sie (wie meist
bei mir) nur für Entwicklungszwecke gedacht, eignet sich eine
Variable am Anfang der Prozedur.

CREATE PROC dbo.EineProzedur AS ...

DECLARE @debug_print bit
SET @debug_print = 1

IF @debug_print = 1 PRINT 'Anfang der Prozedur'
...

Das Setzen der Variable kann man auch von der Existenz eines
Objekts (Tabelle) oder dem ausführendem Konto (wenn als Job
ein anderes Konto verwendet wird) abhàngig machen uam.

Gruß Elmar

Ähnliche fragen