• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 365
  • Last Modified:

SQL Job WaitTime

Hi all
I have an Sql Job that executes every 5 mins.
The data source A, that feeds  table B, that SQL job works on has sporadic nature,
Some time the transaction arrive in sequence sometimes not.

how can I control the SQL Job to wait for 1 mins during the execution,
and what is the side effect,

Thanks
Regards
0
ZURINET
Asked:
ZURINET
  • 4
  • 3
2 Solutions
 
lozzamooreCommented:
If you want the SQL job to explicity wait for 1min, you can add this to the script/stored proc:

WAITFOR DELAY '00:01:00.000'

However, I'm not convinced this is the best approach.

Could you post a little more background detail on the specific sequence problem you have please?

Thanks,

L
0
 
slam69Commented:
hmm have posted same comment 3 times now not sure what is happening......

if its a two step process you are exectuting in one script, consider separating out the scripts into 2 steps within an sql qgent job.

if its more complicated than that then consider using an SSIS package which gives you greater control of teh data flow
0
 
ZURINETAuthor Commented:
New Record
TransactionID      Done      Type      TransactionID      ProductID      ValidFrom                  ValidUntil

210857            0      PREIS      220000000065ws0p      8208      2011-01-31 00:00:00.000            2011-06-30 00:00:00.000
210846            0      PREIS      220000000065ws25      8208      2011-07-01 00:00:00.000            2099-12-31 00:00:00.000


Existing Record needed update
TransactionID      Done      Type      TransactionID      ProductID                      ValidFrom                                   ValidUntil
210837            0      PREIS      220000000065ws0p      8208      2011-01-31 00:00:00.000            2011-12-31 00:00:00.000


I need to update recordd 210857 and Insert record 210846 with a rule that the validity date (from and until) should not cross over between two records
in the destination DB

The problem is if record 210857 is delayed as the New Record info id shows,
The It cannot be processed because the date will cross each other.
Hence I need a way to tell the transaction to wait with the insert of 210846 until 201857 Arrives.
0
Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

 
ZURINETAuthor Commented:
typo error TransactionID = fk_TransactionID (210857),
0
 
ZURINETAuthor Commented:
Hi slam69

I am using 2 Jobs/Scripts at the moment..
The issue is can I schedule the second job to run after 2 mins of the first one .. I mean in sync..

Regards
0
 
lozzamooreCommented:
Well it looks like you need to introduce a sequence field (or previoustranid field), otherwise how will the later transaction know that there is one preceding it?

Otherwise, there are features built into SQL Replication or SQL Broker services that will guarantee transactional order into the data transfer.

L
0
 
lozzamooreCommented:
If you add a PrevTranId record, then you can do an EXISTS check for this record, and a loop that WAITFOR a period of time before a retry.

This runs the risk of an endless loop, so perhaps a max cycle of 5 re-tries, before it stops and fails the insert...

L
0
 
ZURINETAuthor Commented:
I used Triger to solve the problem
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now