Avatar billede dougheffernan Nybegynder
24. marts 2006 - 09:33 Der er 7 kommentarer og
1 løsning

Trigger som køres hver time

Jeg ved at triggers kan reagere på f.eks. indsættelser/sletninger af poster i en tabel, men kan man sætte en trigger til at køre hver time?
Sagen er den at jeg har et program der skriver i en database hver halve time, men sommetider stopper programmet og vi får INGEN besked om det! Derfor havde det været rart med en mail hvis data er ældre end Now - 1 time.

Men KAN det lade sig gøre?
Avatar billede fsconsult.dk Nybegynder
24. marts 2006 - 09:38 #1
nej, det kan ikke lade sig gøre ...

men du KAN lave en stored procedure, eller et SQL script, som du sætter MS SQL Agent til at udføre hver time ...  ;-)
Avatar billede fsconsult.dk Nybegynder
24. marts 2006 - 09:39 #2
du kan også sætte MS SQL Agent til at starte dit program hver halve time, og sende dig en mail, hvis det fejler ..
Avatar billede dougheffernan Nybegynder
24. marts 2006 - 09:41 #3
aaaaah, se, DET kan jeg bruge til noget! Forslat nr. 1 er lige i øjet!
(så mangler jeg bare at finde ud af hvordan man schedulerer MS SQL Agent'en til det...synes dog også vi til tider oplever at Agent Service'n går ned...)
Avatar billede dougheffernan Nybegynder
24. marts 2006 - 09:45 #4
Nå, det er bare ligesom alle andre job i SQL Server Enterprise Manager'en
Avatar billede dougheffernan Nybegynder
24. marts 2006 - 09:48 #5
Kan man lave et script i Query Analyser og på en eller anden måde få det "konverteret" til en Stored Procedure som jobbet kan afvikle?
Avatar billede fsconsult.dk Nybegynder
24. marts 2006 - 09:50 #6
du kan enten oprette det som en stored procedure, eller bare lade MS SQL Agent afvikle dit .sql script direkte ...  den kan afvikle en del forskellige ting ...
Avatar billede fsconsult.dk Nybegynder
24. marts 2006 - 09:50 #7
Bruger ikke MS SQL, men Agent er dog den del jeg savner mest  ;-)
Avatar billede dougheffernan Nybegynder
24. marts 2006 - 10:09 #8
:)
Er dog løbet ind i følgende problem (lidt off topic, but still):

Når jeg prøver følgende får jeg en fejl (Klokkeslæt er af datatypen datetime)

-- Create a job MyJob that has two schedules
BEGIN TRANSACTION
  DECLARE @JobID BINARY(16)
IF (SELECT COUNT(*) FROM [PlcLog-Roenne].dbo.aflæsninger WHERE Klokkeslæt < CONVERT(CHAR(10),GETDATE(),110)  -1) < 1
-- END
COMMIT TRANSACTION

Fejlen:
Syntax error converting the varchar value '03-24-2006' to a column of data type int.

Har prøvet med forskellige CONVERT-parametre, men uden held. Hvad gør jeg forkert?
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



IT-JOB

Billetkontoret A/S

.NET Full Stack Developer

Udviklings- og Forenklingsstyrelsen

Systemejer/Application Manager til SAP-installationer

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager