Cuestión : Escritura del estado latente de la réplica - SQL 2005

Hola expertos,
I que intenta subir con una escritura simple (ms SQL 2005) para comprobar el estado latente de mi caso de replication.
The: el
There es una base de datos de la publicación llamada PubDB y una reproducción de la necesidad llamada PubDB de ReplDB.
I de preguntar una tabla en TABLE1 llamado PubDB, columna LastUpdate, después hace iguales en el ReplDB y compara los dos valores (las dos fechas resultantes). el
If la diferencia entre PubDb y ReplDB es más de el minuto 90 una alarma del email debe enviar un email.
Please siente libre de construir sobre los recortes de código proporcionados o de proporcionar un solution.

Thanks,

del
RICUser class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
class= " del id= " codeSnippet951695 del
--Esto funciona de PubDB

UTILIZAR PubDB

seleccionar el lastupdate de la tapa 1

de TABLE1 (NOLOCK)

orden por el desc del lastupdate 

 

/*
¿El siguiente hace iguales en el ReplDB replegado vía Server.Would ligado no que sea sea mejor aquí utilizar OPENQUERY, así que puedo utilizar la indirecta (NOLOCK)?
*

seleccionar el lastupdate de la tapa 1

de [REM_SERVER]. [ReplDB] .dbo.TABLE1

orden por el desc del lastupdate 

--ahora los dos resultados parecerán ése (apenas un ejemplo)

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

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

--Ahora la comparación debe seguir, y si PubDB menos --ReplDB >90 Min. un email debe notificar [email protected]
class= del

Respuesta : Escritura del estado latente de la réplica - SQL 2005

Si lo entiendo bien, usted apenas necesita restar dos valores datetime y es fácil.

El correo que envía el SP se describe en muchos lugares, e.g. http://www.sqlteam.com/article/sending-smtp-mail-using-a-stored-procedure o 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:
--Esto funciona de PubDB

DECLARAR la fecha y hora del @PubTime, fecha y hora del @ReplTime

UTILIZAR PubDB

FIJAR el @PubTime = (el lastupdate selecto de la tapa 1 de la orden TABLE1 (NOLOCK) por el desc del lastupdate) 


/*
¿El siguiente hace iguales en el ReplDB replegado vía Server.Would ligado no que sea sea  mejor aquí utilizar OPENQUERY, así que puedo utilizar la indirecta (NOLOCK)?
*

FIJAR el @ReplTime = 
 (lastupdate selecto de la tapa 1 de [REM_SERVER]. [ReplDB] orden .dbo.TABLE1 por el desc del lastupdate)


--ahora los dos resultados parecerán ése (apenas un ejemplo)

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

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

--Ahora la comparación debe seguir,   y si  PubDB menos --ReplDB >90 Min. un email debe notificar [email protected]

SI DATEDIFF (minuto, @ReplTime, @PubTime) > 90
  sp_SMTPMail de EXEC….
Otras soluciones  
 
programming4us programming4us