Vraag : Het Manuscript van de Latentie van de replicatie - SQL 2005

Hallo Deskundigen,
I am met een eenvoudig manuscript (lidstaten SQL 2005) proberen op de proppen komen om de latentie van mijn geval replication.
The te controleren:
There is een publicatiegegevensbestand genoemd PubDB en een replica van PubDB geroepen/>I behoefte ReplDB.
If het verschil tussen PubDb en ReplDB meer dan 90 min is een e-mailalarm een/>Please zou moeten verzenden email.

Thanks,
RICUser

te verstrekken
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
" notpretty "
--Dit loopt van PubDB

GEBRUIK PubDB

selecteer hoogste 1 lastupdate

van TABLE1 (NOLOCK)

orde door lastupdate desc 

 

/*
Volgende doet het zelfde in herhaalde ReplDB via Verbonden Server.Would niet het zij het beter hier OPENQUERY moet gebruiken, zodat kan ik de wenk (van NOLOCK gebruiken)?
*/

selecteer hoogste 1 lastupdate

van [REM_SERVER]. [ReplDB] .dbo.TABLE1

orde door lastupdate desc 

--nu zullen de twee resultaten als dat kijken (enkel een voorbeeld)

--PubDB
2010-08-21 03:30: 000

--ReplDB
2010-08-21 01:30: 000

--Nu zou de vergelijking moeten volgen, en als PubDB minus --ReplDB >90 min. zou een e-mail [email protected] moeten meedelen

Antwoord : Het Manuscript van de Latentie van de replicatie - SQL 2005

Als ik het goed begrijp, moet u enkel twee datetime waarden aftrekken en het is gemakkelijk.

De post die SP stuurt wordt beschreven op vele plaatsen, b.v. http://www.sqlteam.com/article/sending-smtp-mail-using-a-stored-procedure of http://classicasp.aspfaq.com/email/how-do-i-send-e-mail-from-sql-server.html
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
--Dit loopt van PubDB

VERKLAAR @PubTime datetime, @ReplTime datetime

GEBRUIK PubDB

PLAATS @PubTime = (uitgezochte hoogste 1 lastupdate van de orde TABLE1 (van NOLOCK) door lastupdate desc) 


/*
Volgende doet het zelfde in herhaalde ReplDB via Verbonden Server.Would niet het zij het beter  hier OPENQUERY moet gebruiken, zodat kan ik de wenk (van NOLOCK gebruiken)?
*/

REEKS @ReplTime = 
 (uitgezochte hoogste 1 lastupdate van [REM_SERVER]. [ReplDB] orde .dbo.TABLE1 door lastupdate desc)


--nu zullen de twee resultaten als dat (enkel een voorbeeld) kijken

--PubDB
2010-08-21 03:30: 000

--ReplDB
2010-08-21 01:30: 000

--Nu zou de vergelijking moeten volgen,   en als  PubDB minus --ReplDB >90 min. zou een e-mail [email protected] moeten meedelen

ALS DATEDIFF (minuut, @ReplTime, @PubTime) > 90
  EXEC sp_SMTPMailā€¦.
Andere oplossingen  
 
programming4us programming4us