Avatar billede skovborg Nybegynder
07. december 2004 - 13:24 Der er 6 kommentarer og
1 løsning

sql server agent job retunere succes eller failure

hej kloge
Jeg vil meget gerne lave et job på min sql server 7 database der retunere enten success eller failure.
Det i sig selv er jo ret nemt, men jeg vil selv bestemme hvad der er succes og hvad der failure og derved bestemme om jeg skal gå til næste skridt eller springe et step over.
F.eks. et job der har tre steps.
Step 1:
declare @count int
select @count=count(*) from tabel1 where antal=1
if @count>1
begin
retuner success
--og gå til næste step
end
else
begin
retuner failur
-- og gå til sidste skridt
end

step 2
update tabel set antal=0
--og gør et eller andet mere..

step 3
insert into en eller anden tabel

Mvh
Morten skovborg
Avatar billede ldanielsen Nybegynder
07. december 2004 - 13:30 #1
Bruger du DTS?
Avatar billede skovborg Nybegynder
07. december 2004 - 13:38 #2
ja, men det er jobbet der skal springe rundt ikke dts pakken
Avatar billede ldanielsen Nybegynder
07. december 2004 - 14:26 #3
Det du efterlyser kan jo netop laves i DTS, hvor du kan bestemme hvad der skal ske ved Success, Failure og Complete.

Jeg bruger sjældent flere steps i mine Jobs, jeg laver det hele i DTS.

I din specielle situation kunne du hente @Count over i en global variabel, og så slutte af i en ActiveX task. I den kan du nemlig selv bestemme om der skal være Success eller Failure, ved at (i VBScript) at returnere DTSTaskExecResult_Success eller DTSTaskExecResult_Failure
Avatar billede janus_007 Nybegynder
07. december 2004 - 19:28 #4
Jo den slags kan nu også klares i et job!

I hvert jobstep kan du jo lave en raiserror og vha. jobindstillingen på jobsteppet (onFailure/ onSucces osv.) kan du bestemme om den skal fortsætte til næste step eller hvad du nu end har lyst til.

Jeg har lavet meget af den slags logik indbygget i jobs fordi den normale errorhandling i t-sql ikke fungerer specielt godt, så bare spørg løs :O)

Du skal bare lige være opmærksom på at jobbet sikkert siger noget med at blabla.. det jobstep kan ikke nås osv..., det er jo klart, hvis du har en mængde jobsteps som jobbet kun kan komme til vha. succes/failure styring og det skal du altså bare ignorere!
Avatar billede zapzap Nybegynder
11. januar 2005 - 13:51 #5
Du kan jo også bare lægge hele blokken af trin i en stored-proc, og så afvikle SP'en som job?
Avatar billede skovborg Nybegynder
13. januar 2005 - 17:58 #6
jeg vil meget gerne have det sådan at når jobbet springer et step over skal selve jobbet ikke stå som om det har fejl.
problemet med stored-proc er at jeg ikke ved hvormange gange jobbet skal gentages før det stopper.
altså
Step 1.
gør et eller andet
step 2.
se om der er arbejde til at udføre step 1 igen hvis ja goto step 1
step 3
opdater en eller anden tabel.

Med venlig hilsen
Morten skovborg
Avatar billede skovborg Nybegynder
18. december 2007 - 10:59 #7
intet brugbart...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester