error en la limpieza de historial del agente

03/07/2006 - 14:15 por J.A. García Barceló | Informe spam
Parezco el pupas... esto de cambiar al SQL Server 2005 me está trayendo unos
quebraderos de cabeza

Ahora el trabajo de limpieza de historial del agente (que se ejecuta cada 10
minutos) me saca el siguiente error:

Fecha 03/07/2006 12:20:00
Registro Historial de trabajos (Limpieza de historial del agente:
distribución)

Id. del paso 1
Servidor MYSERVER
Nombre del trabajo Limpieza de historial del agente: distribución
Nombre del paso Ejecutar agente.
Duración 00:05:02
Gravedad de SQL 17
Id. de mensaje de SQL 845
Operador notificado mediante correo electrónico
Operador notificado mediante envío de red
Operador notificado mediante localizador
Reintentos efectuados 0

Mensaje
Ejecutado como usuario: mydomain.com\myaccount. Tiempo de espera agotado
para el tipo de pestillo del búfer 2 de la página (1:3139), Id. de base de
datos 8. [SQLSTATE 42000] (Error 845). Error en el paso.


Además, cuando abro el monitor de réplica e intento expander el servidor en
cuestión (publicador), se me queda permanentemente en (expandiendo...).
Supongo que estará relacionado con ese lock que hay por ahi colgando. He
reiniciado todos los servicios relacionados con SQL server y esto sigue
igual. Sigo recibiendo el correo cada 10 minutos con el siguiente mensaje
(la verdad no es muy descriptivo):

EJECUCIÓN DE TRABAJO 'Limpieza de historial del agente: distribución' se
ejecutó en 03/07/2006 a las 14:00:01
DURACIÓN: 0 horas, 5 minutos, 2 segundos
ESTADO: Error
MENSAJES: Error en el trabajo. El trabajo fue invocado por Programar 13
(Programación del Agente de réplica.). El último paso ejecutado fue 1
(Ejecutar agente.).


Cualquier ayuda es bienvenida (y mucho).

Gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/

Preguntas similare

Leer las respuestas

#11 J.A. García Barceló
03/07/2006 - 21:02 | Informe spam
ESTOY DESESPERADO

Pensaba deshabilitar la replicacion y volverla a aplicar de nuevo (he
guardado los scripts para volver a recrear las publicaciones). Pero ahora no
me deja desactivar la publicación. Cuando intento hacer un exec
sp_dropdistributiondb me dice que:

Mens 21122, Nivel 16, Estado 1, Procedimiento sp_dropdistributiondb, Línea
124
No se puede quitar la base de datos de distribución 'distribución' porque
está en uso.

Y ahi estoy... con todas las publicaciones quitadas, ya no se está
replicando nada a ningun sitio, el sistema en produccion parado (tengo toda
la noche para arreglar el desastre) y no puedo quitar la bd distribution
para volver a crear todo de nuevo.

Necesito ayuda, paciencia y buenas dosis de café... menuda noche me espera.


J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:
mmm, es muy extraño!! ´podes poner contadores en el monitor de sistemas
para ver como esta el CPU, disco y memoria? que tenes en ese servidor
ademas de SQL?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el mensaje
news:
Están identificados: no son personas es el agente de replicación
intentando replicar transacciones a los suscriptores. Hacer un kill no
soluciona nada porque cuando se renicia el agente sigue por donde se
había quedado y se vuelve a bloquear.


J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:
Hola, sin ningua duda que el problema esta con los bloqueos, porque no
identificas quienes son y averiguas quien corre ese proceso para que lo
cancele.
La otra opcion mas drastica es ver los loqueos y hacerles un kill a esos
procesos, de todas maneras hay q ver porque se esta generando y
solucionar las aplicaciones que lo estan haciendo


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el mensaje
news:%23dqQi%
Sí, lo primero que hice fue deshabilitar el job para no recibir mas
correos y no liar mas el tema. Si lo ejecuto a mano ( EXEC
dbo.sp_MShistory_cleanup @history_retention = 48 ) desde el Manager
Studio (MS) obtengo el error que antes cité:

Mens 845, Nivel 17, Estado 1, Procedimiento sp_MShistory_cleanup, Línea
65
Tiempo de espera agotado para el tipo de pestillo del búfer 2 de la
página (1:3139), Id. de base de datos 8.

Y sí, los bloqueos los ví a través del MS. Aparte de verlos no se que
hacer más con ellos.

Si ejecuto exec sp_repltrans veo que tengo 67 transaciones que aun no
han sido distribuidas a los suscriptores.
Lo de los 90000 registros de msrepl_commands será porque no se está
ejecutando bien la limpieza de historial del agente... precisamente lo
que he deshabilitado y que se encarga de borrar los registros de
transacciones que SI se distribuyeron correctamente a los suscriptores.

Ver http://msdn2.microsoft.com/es-es/li...86242.aspx para
sp_repltrans
y http://msdn2.microsoft.com/es-es/li...78611.aspx para
msrepl_commands

A pesar de toda esta información no se que hacer con ella, ni como
solucionar el problema.

J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:%
Hola, has visto por el MS los bloqueos? empecemos por deshabilitar
este job


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el
mensaje news:%
Sí claro SP1 instalado. Básicamente el trabajo contiene una única
tarea:

EXEC dbo.sp_MShistory_cleanup @history_retention = 48

Si la ejecuto yo a mano desde una nueva conexión, despues de un
tiempo de ejecución de 5:00 minutos obtengo:

Mens 845, Nivel 17, Estado 1, Procedimiento sp_MShistory_cleanup,
Línea 65
Tiempo de espera agotado para el tipo de pestillo del búfer 2 de la
página (1:3139), Id. de base de datos 8.

La BD 8 es la de distribución, normalmente se llama 'distribution',
pero en mi sistema, por eso de ser en castellano se llama
'distribución'. El hecho de tener una tilde no debería ser un
problema porque ya lleva 2 meses instalada y hasta ahora no me había
surgido este problema.

Además si arranco el monitor de actividad (dentro de administración),
dentro de 'información del proceso' veo que hay unos 10 procesos
bloqueados por el proceso 210. De este proceso 210, si abro sus
detalles obtengo:

sp_MSadd_snapshot_history @perfmon_increment = 0, @agent_id = 17,
@runstatus = 1,
@comments = 'Iniciando agente.'

Estos datos son despues de reiniciar el servidor. Ya probé con
reiniciar los servicios relacionados con SQL y ahora tb probé
reiniciando el servidor pero todo sigue igual.

¿Podría ser algún comando esperando en la cola de replicación que
entra en un bloqueo con algún otro y que, por mas que reincie el
servicio, al estar en la cola, vuelva a bloquearse todo al volver a
arrancar el agente? Si fuera posible eso, ¿cómo puedo comprobarlo y,
lo más importante, corregirlo?

Un saludo y gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:
Hola, nos puedes pasar que esta haciendo ese trabajo? el codigo en
si. Tienes el Service pack 1 no?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el
mensaje news:
Parezco el pupas... esto de cambiar al SQL Server 2005 me está
trayendo unos quebraderos de cabeza

Ahora el trabajo de limpieza de historial del agente (que se
ejecuta cada 10 minutos) me saca el siguiente error:

Fecha 03/07/2006 12:20:00
Registro Historial de trabajos (Limpieza de historial del agente:
distribución)

Id. del paso 1
Servidor MYSERVER
Nombre del trabajo Limpieza de historial del agente: distribución
Nombre del paso Ejecutar agente.
Duración 00:05:02
Gravedad de SQL 17
Id. de mensaje de SQL 845
Operador notificado mediante correo electrónico
Operador notificado mediante envío de red
Operador notificado mediante localizador
Reintentos efectuados 0

Mensaje
Ejecutado como usuario: mydomain.com\myaccount. Tiempo de espera
agotado para el tipo de pestillo del búfer 2 de la página (1:3139),
Id. de base de datos 8. [SQLSTATE 42000] (Error 845). Error en el
paso.


Además, cuando abro el monitor de réplica e intento expander el
servidor en cuestión (publicador), se me queda permanentemente en
(expandiendo...). Supongo que estará relacionado con ese lock que
hay por ahi colgando. He reiniciado todos los servicios
relacionados con SQL server y esto sigue igual. Sigo recibiendo el
correo cada 10 minutos con el siguiente mensaje (la verdad no es
muy descriptivo):

EJECUCIÓN DE TRABAJO 'Limpieza de historial del agente:
distribución' se ejecutó en 03/07/2006 a las 14:00:01
DURACIÓN: 0 horas, 5 minutos, 2 segundos
ESTADO: Error
MENSAJES: Error en el trabajo. El trabajo fue invocado por
Programar 13 (Programación del Agente de réplica.). El último paso
ejecutado fue 1 (Ejecutar agente.).


Cualquier ayuda es bienvenida (y mucho).

Gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/































Respuesta Responder a este mensaje
#12 qwalgrande
04/07/2006 - 07:53 | Informe spam
Hola.

Ante todo, mucha calma y paciencia. De uno que ha pasado muchas noches
pegándose con replicación, lo primero y más importante es mantener la cabeza
fría y tener muy seguro que vamos a resolver el problema, de una forma o de
otra, pero seguro que eres capaz de hacerlo. Y no estás solo, aquí estamos
para echarte un cable.

Por lo que has descrito hasta ahora, tenemos dos problemas:
- El distribution cleanup se bloquea.
- El log reader te da timeout.

Que haya bloqueos es lo normal, tienes un "usuario" que lee (los agentes de
distribución), uno que inserta (el log reader) y otro que borra (el
distribution cleanup). Dado que están en un aprieto y los tres no parecen
ponerse de acuerdo, vamos a echarles una mano para que salgan del paso.

Bien, previendo que el distribution cleanup se te bloqueará o por el log
reader o por alguno de los agentes de suscripción, y si no tienes problemas
de espacio en disco (vigila donde tengas la base de datos de distribución y
sobre todo el log de las bases de datos publicadas), vamos a comenzas por
enviar los datos, es decir, por el log reader. Así que, de momento, sigue
con el distribution cleanup deshabilitado. Como digo, si no tienes problemas
de espacio en disco, es un inconveniente menor que resolveremos más
adelante.

Modifica las propiedades del perfil del agente (crea uno si es preciso) para
que las transacciones pasen de poco en poco (de diez en diez transacciones o
incluso menos) y con un time out de muchos minutos (quince por ejemplo).
Muchas veces, una sola transacción (aunque muy grande) me ha tumbado una
réplica, provocándome un tapón enorme. Con ello, conseguiremos reducir lo
máximo posible la latencia, y nuestras bases de datos estarán sincronizadas.
Recuerda parar y arrancar el log reader para que se tome el nuevo perfil que
definas.

Cuando hayamos pasado por el log reader, hay que hacer lo mismo con los
suscriptores, es decir, modificar el perfil para que pasen de pocos en
pocos. Lo normal es que le cueste más a los agentes de distribución que al
log reader, porque tienen que leer las transacciones de las tablas de
transacciones y comandos pendientes, mandar los datos por la red y luego
aplicarlos en el suscriptor. Así que si han de pasar las transacciones de
una en una y con un time out de veinte minutos, pues que así sea. Yo tengo
una máxima en replicación: Los comandos siempre tienen que pasar, como sea.
Luego vemos cómo solventar lo demás.

Llegados a este punto ya tendremos los datos en los suscriptores y la
latencia será pequeña o nula. Detén tanto el log reader como los
suscriptores.

El distribution cleanup se configura en las propiedades del distribuidor,
como sabrás. Tienes dos procesos de limpieza, uno de transacciones y otro de
histórico de replicación. El gordo normalmente es el primero, aunque creo
que también el segundo te está dando lata. Modifica las propiedades del
distribuidor para que borre poco a poco. Es decir, si está reteniendo las
transacciones de las últimas 72 horas, trata de que borre las transacciones
anteriores a 150 horas (lo cambias, ejecutas el job, esperas un poco, si no
termina y no hay bloqueos, lo paras, le das un valor mayor, por ejemplo 200
y vuelves a probar), luego 125 y así hasta que te quedes con las últmas 24 ó
36 horas. Recuerda que son dos jobs, limpieza de histórico y limpieza de
transacciones.

Después de esto, reconfiguras todo como gustes.

En fin, espero que te sirva de ayuda, si no es así, no dudes en volver a
preguntar, hay más mecanismos, seguro que salimos de esta.

Alberto López Grande (qwalgrande)


"J.A. García Barceló" escribió en el mensaje
news:O$
Mas información:

Desde que deshabilité el trabajo programado, en lugar de recibir correos
con el mensaje que antes cité, recibo otros con el siguiente mensaje:

FECHA/HORA: 03/07/2006 18:44:46

DESCRIPCIÓN: Réplica: Subsistema de lectura de registro de transacciones
de réplica: error en el agente MYSERVER-mydb-2. El proceso no pudo
ejecutar 'sp_repldone/sp_replcounters' en 'MYSERVER'.


COMENTARIO: (Ninguno)

EJECUCIÓN DE TRABAJO: (Ninguno)


El trabajo en cuestión contiene los siguientes 3 pasos:
1: sp_MSadd_logreader_history @perfmon_increment = 0, @agent_id = 2,
@runstatus = 1,
@comments = 'Iniciando agente.'
2: -Publisher [MYSERVER] -PublisherDB [mydb] -Distributor
[MYSERVER] -DistributorSecurityMode 1 -Continuous
3: sp_MSdetect_nonlogged_shutdown @subsystem = 'LogReader', @agent_id = 2


No se si ha sido buena idea lo de deshabilitar el job inicial.






J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:%
Hola, has visto por el MS los bloqueos? empecemos por deshabilitar este
job


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el mensaje
news:%
Sí claro SP1 instalado. Básicamente el trabajo contiene una única tarea:

EXEC dbo.sp_MShistory_cleanup @history_retention = 48

Si la ejecuto yo a mano desde una nueva conexión, despues de un tiempo
de ejecución de 5:00 minutos obtengo:

Mens 845, Nivel 17, Estado 1, Procedimiento sp_MShistory_cleanup, Línea
65
Tiempo de espera agotado para el tipo de pestillo del búfer 2 de la
página (1:3139), Id. de base de datos 8.

La BD 8 es la de distribución, normalmente se llama 'distribution', pero
en mi sistema, por eso de ser en castellano se llama 'distribución'. El
hecho de tener una tilde no debería ser un problema porque ya lleva 2
meses instalada y hasta ahora no me había surgido este problema.

Además si arranco el monitor de actividad (dentro de administración),
dentro de 'información del proceso' veo que hay unos 10 procesos
bloqueados por el proceso 210. De este proceso 210, si abro sus detalles
obtengo:

sp_MSadd_snapshot_history @perfmon_increment = 0, @agent_id = 17,
@runstatus = 1,
@comments = 'Iniciando agente.'

Estos datos son despues de reiniciar el servidor. Ya probé con reiniciar
los servicios relacionados con SQL y ahora tb probé reiniciando el
servidor pero todo sigue igual.

¿Podría ser algún comando esperando en la cola de replicación que entra
en un bloqueo con algún otro y que, por mas que reincie el servicio, al
estar en la cola, vuelva a bloquearse todo al volver a arrancar el
agente? Si fuera posible eso, ¿cómo puedo comprobarlo y, lo más
importante, corregirlo?

Un saludo y gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:
Hola, nos puedes pasar que esta haciendo ese trabajo? el codigo en si.
Tienes el Service pack 1 no?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el
mensaje news:
Parezco el pupas... esto de cambiar al SQL Server 2005 me está
trayendo unos quebraderos de cabeza

Ahora el trabajo de limpieza de historial del agente (que se ejecuta
cada 10 minutos) me saca el siguiente error:

Fecha 03/07/2006 12:20:00
Registro Historial de trabajos (Limpieza de historial del agente:
distribución)

Id. del paso 1
Servidor MYSERVER
Nombre del trabajo Limpieza de historial del agente: distribución
Nombre del paso Ejecutar agente.
Duración 00:05:02
Gravedad de SQL 17
Id. de mensaje de SQL 845
Operador notificado mediante correo electrónico
Operador notificado mediante envío de red
Operador notificado mediante localizador
Reintentos efectuados 0

Mensaje
Ejecutado como usuario: mydomain.com\myaccount. Tiempo de espera
agotado para el tipo de pestillo del búfer 2 de la página (1:3139),
Id. de base de datos 8. [SQLSTATE 42000] (Error 845). Error en el
paso.


Además, cuando abro el monitor de réplica e intento expander el
servidor en cuestión (publicador), se me queda permanentemente en
(expandiendo...). Supongo que estará relacionado con ese lock que hay
por ahi colgando. He reiniciado todos los servicios relacionados con
SQL server y esto sigue igual. Sigo recibiendo el correo cada 10
minutos con el siguiente mensaje (la verdad no es muy descriptivo):

EJECUCIÓN DE TRABAJO 'Limpieza de historial del agente: distribución'
se ejecutó en 03/07/2006 a las 14:00:01
DURACIÓN: 0 horas, 5 minutos, 2 segundos
ESTADO: Error
MENSAJES: Error en el trabajo. El trabajo fue invocado por Programar
13 (Programación del Agente de réplica.). El último paso ejecutado fue
1 (Ejecutar agente.).


Cualquier ayuda es bienvenida (y mucho).

Gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/



















Respuesta Responder a este mensaje
#13 J.A. García Barceló
04/07/2006 - 09:53 | Informe spam
Muchas gracias a todos por vuestra ayuda. También a qwalgrande por tu
explicación tan detallada. Me la voy a guardar para futuras referencias por
si alguna vez me encuentro con tener que depurar la replicación.

Al final opté por eliminar completamente la replicación del servidor y
volverla a poner en marcha, distribuidor, publicador, publicaciones... etc.
Por los valores que retornaba exec sp_repltrans antes de quitar todo, puede
que se hayan perdido unas 90 transacciones (menos mal que esto no es un
banco ni las transacciones eran bancarias).

Ahora he puesto la replicación transaccional con actualizaciones inmediatas
(en lugar de en cola). Si surge cualquier problema, prefiero que los pocos
usuarios que tengo me den la lata a que sigan trabajando creyendo que todo
va bien ... se sigan encolando transacciones y luego me toque a mi
solucionar todo sin saber donde estaba el origen del problema.

J.A. García Barceló
http://jagbarcelo.blogspot.com/


"qwalgrande" escribió en el mensaje
news:
Hola.

Ante todo, mucha calma y paciencia. De uno que ha pasado muchas noches
pegándose con replicación, lo primero y más importante es mantener la
cabeza fría y tener muy seguro que vamos a resolver el problema, de una
forma o de otra, pero seguro que eres capaz de hacerlo. Y no estás solo,
aquí estamos para echarte un cable.

Por lo que has descrito hasta ahora, tenemos dos problemas:
- El distribution cleanup se bloquea.
- El log reader te da timeout.

Que haya bloqueos es lo normal, tienes un "usuario" que lee (los agentes
de distribución), uno que inserta (el log reader) y otro que borra (el
distribution cleanup). Dado que están en un aprieto y los tres no parecen
ponerse de acuerdo, vamos a echarles una mano para que salgan del paso.

Bien, previendo que el distribution cleanup se te bloqueará o por el log
reader o por alguno de los agentes de suscripción, y si no tienes
problemas de espacio en disco (vigila donde tengas la base de datos de
distribución y sobre todo el log de las bases de datos publicadas), vamos
a comenzas por enviar los datos, es decir, por el log reader. Así que, de
momento, sigue con el distribution cleanup deshabilitado. Como digo, si no
tienes problemas de espacio en disco, es un inconveniente menor que
resolveremos más adelante.

Modifica las propiedades del perfil del agente (crea uno si es preciso)
para que las transacciones pasen de poco en poco (de diez en diez
transacciones o incluso menos) y con un time out de muchos minutos (quince
por ejemplo). Muchas veces, una sola transacción (aunque muy grande) me ha
tumbado una réplica, provocándome un tapón enorme. Con ello, conseguiremos
reducir lo máximo posible la latencia, y nuestras bases de datos estarán
sincronizadas. Recuerda parar y arrancar el log reader para que se tome el
nuevo perfil que definas.

Cuando hayamos pasado por el log reader, hay que hacer lo mismo con los
suscriptores, es decir, modificar el perfil para que pasen de pocos en
pocos. Lo normal es que le cueste más a los agentes de distribución que al
log reader, porque tienen que leer las transacciones de las tablas de
transacciones y comandos pendientes, mandar los datos por la red y luego
aplicarlos en el suscriptor. Así que si han de pasar las transacciones de
una en una y con un time out de veinte minutos, pues que así sea. Yo tengo
una máxima en replicación: Los comandos siempre tienen que pasar, como
sea. Luego vemos cómo solventar lo demás.

Llegados a este punto ya tendremos los datos en los suscriptores y la
latencia será pequeña o nula. Detén tanto el log reader como los
suscriptores.

El distribution cleanup se configura en las propiedades del distribuidor,
como sabrás. Tienes dos procesos de limpieza, uno de transacciones y otro
de histórico de replicación. El gordo normalmente es el primero, aunque
creo que también el segundo te está dando lata. Modifica las propiedades
del distribuidor para que borre poco a poco. Es decir, si está reteniendo
las transacciones de las últimas 72 horas, trata de que borre las
transacciones anteriores a 150 horas (lo cambias, ejecutas el job, esperas
un poco, si no termina y no hay bloqueos, lo paras, le das un valor mayor,
por ejemplo 200 y vuelves a probar), luego 125 y así hasta que te quedes
con las últmas 24 ó 36 horas. Recuerda que son dos jobs, limpieza de
histórico y limpieza de transacciones.

Después de esto, reconfiguras todo como gustes.

En fin, espero que te sirva de ayuda, si no es así, no dudes en volver a
preguntar, hay más mecanismos, seguro que salimos de esta.

Alberto López Grande (qwalgrande)


"J.A. García Barceló" escribió en el mensaje
news:O$
Mas información:

Desde que deshabilité el trabajo programado, en lugar de recibir correos
con el mensaje que antes cité, recibo otros con el siguiente mensaje:

FECHA/HORA: 03/07/2006 18:44:46

DESCRIPCIÓN: Réplica: Subsistema de lectura de registro de transacciones
de réplica: error en el agente MYSERVER-mydb-2. El proceso no pudo
ejecutar 'sp_repldone/sp_replcounters' en 'MYSERVER'.


COMENTARIO: (Ninguno)

EJECUCIÓN DE TRABAJO: (Ninguno)


El trabajo en cuestión contiene los siguientes 3 pasos:
1: sp_MSadd_logreader_history @perfmon_increment = 0, @agent_id = 2,
@runstatus = 1,
@comments = 'Iniciando agente.'
2: -Publisher [MYSERVER] -PublisherDB [mydb] -Distributor
[MYSERVER] -DistributorSecurityMode 1 -Continuous
3: sp_MSdetect_nonlogged_shutdown @subsystem = 'LogReader', @agent_id = 2


No se si ha sido buena idea lo de deshabilitar el job inicial.






J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:%
Hola, has visto por el MS los bloqueos? empecemos por deshabilitar este
job


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el mensaje
news:%
Sí claro SP1 instalado. Básicamente el trabajo contiene una única
tarea:

EXEC dbo.sp_MShistory_cleanup @history_retention = 48

Si la ejecuto yo a mano desde una nueva conexión, despues de un tiempo
de ejecución de 5:00 minutos obtengo:

Mens 845, Nivel 17, Estado 1, Procedimiento sp_MShistory_cleanup, Línea
65
Tiempo de espera agotado para el tipo de pestillo del búfer 2 de la
página (1:3139), Id. de base de datos 8.

La BD 8 es la de distribución, normalmente se llama 'distribution',
pero en mi sistema, por eso de ser en castellano se llama
'distribución'. El hecho de tener una tilde no debería ser un problema
porque ya lleva 2 meses instalada y hasta ahora no me había surgido
este problema.

Además si arranco el monitor de actividad (dentro de administración),
dentro de 'información del proceso' veo que hay unos 10 procesos
bloqueados por el proceso 210. De este proceso 210, si abro sus
detalles obtengo:

sp_MSadd_snapshot_history @perfmon_increment = 0, @agent_id = 17,
@runstatus = 1,
@comments = 'Iniciando agente.'

Estos datos son despues de reiniciar el servidor. Ya probé con
reiniciar los servicios relacionados con SQL y ahora tb probé
reiniciando el servidor pero todo sigue igual.

¿Podría ser algún comando esperando en la cola de replicación que entra
en un bloqueo con algún otro y que, por mas que reincie el servicio, al
estar en la cola, vuelva a bloquearse todo al volver a arrancar el
agente? Si fuera posible eso, ¿cómo puedo comprobarlo y, lo más
importante, corregirlo?

Un saludo y gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Maxi" escribió en el mensaje
news:
Hola, nos puedes pasar que esta haciendo ese trabajo? el codigo en si.
Tienes el Service pack 1 no?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"J.A. García Barceló" escribió en el
mensaje news:
Parezco el pupas... esto de cambiar al SQL Server 2005 me está
trayendo unos quebraderos de cabeza

Ahora el trabajo de limpieza de historial del agente (que se ejecuta
cada 10 minutos) me saca el siguiente error:

Fecha 03/07/2006 12:20:00
Registro Historial de trabajos (Limpieza de historial del agente:
distribución)

Id. del paso 1
Servidor MYSERVER
Nombre del trabajo Limpieza de historial del agente: distribución
Nombre del paso Ejecutar agente.
Duración 00:05:02
Gravedad de SQL 17
Id. de mensaje de SQL 845
Operador notificado mediante correo electrónico
Operador notificado mediante envío de red
Operador notificado mediante localizador
Reintentos efectuados 0

Mensaje
Ejecutado como usuario: mydomain.com\myaccount. Tiempo de espera
agotado para el tipo de pestillo del búfer 2 de la página (1:3139),
Id. de base de datos 8. [SQLSTATE 42000] (Error 845). Error en el
paso.


Además, cuando abro el monitor de réplica e intento expander el
servidor en cuestión (publicador), se me queda permanentemente en
(expandiendo...). Supongo que estará relacionado con ese lock que hay
por ahi colgando. He reiniciado todos los servicios relacionados con
SQL server y esto sigue igual. Sigo recibiendo el correo cada 10
minutos con el siguiente mensaje (la verdad no es muy descriptivo):

EJECUCIÓN DE TRABAJO 'Limpieza de historial del agente: distribución'
se ejecutó en 03/07/2006 a las 14:00:01
DURACIÓN: 0 horas, 5 minutos, 2 segundos
ESTADO: Error
MENSAJES: Error en el trabajo. El trabajo fue invocado por Programar
13 (Programación del Agente de réplica.). El último paso ejecutado
fue 1 (Ejecutar agente.).


Cualquier ayuda es bienvenida (y mucho).

Gracias.


J.A. García Barceló
http://jagbarcelo.blogspot.com/























email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida