Quitar datos de aplicación obsoletos

La existencia de un gran volumen de datos en una base de datos de aplicaciones de Microsoft SQL Server Notification Services puede afectar al rendimiento de dos maneras. Primero, las tablas grandes pueden perjudicar el rendimiento de las consultas. En segundo lugar, cuando el tamaño de los archivos de datos crece demasiado, SQL Server podría aumentar automáticamente dicho tamaño, lo cual consume recursos del sistema.

Notification Services utiliza un proceso denominado vacuuming para quitar datos obsoletos de las bases de datos de aplicación. Vacuuming es un proceso que se ejecuta automáticamente para cada aplicación según una programación definida en la definición de la aplicación.

Al definir una aplicación, especifique la antigüedad de retención de datos de la aplicación y la programación de vacuuming. La antigüedad de retención de datos es la antigüedad mínima que deben tener los datos de notificaciones y eventos para poder quitarlos. Por ejemplo, una antigüedad de un día de retención especifica que no se pueden quitar datos hasta que al menos haya transcurrido un día. La programación de vacuuming especifica una o más horas de inicio y duraciones para vacuuming. Para obtener más información, vea Configurar la supresión de datos.

Los datos se eliminan por cuantos, que significa que todos los eventos y las notificaciones que se procesan durante un cuanto se quitan como una unidad.

Cuando se estén ejecutando aplicaciones, compruebe que el proceso de vacuuming se ejecuta de forma programada. Si se está ejecutando vacuuming, pero la aplicación requiere una configuración diferente de vacuuming, puede modificar vacuuming editando la definición de aplicación y actualizando la aplicación para efectuar los cambios. Si es necesario, puede ejecutar el proceso de vacuuming manualmente.

Comprobar que el proceso de vacuuming se está ejecutando

Para cada aplicación, debe comprobar periódicamente que vacuuming se ejecuta en el momento programado. Si se acumulan grandes cantidades de datos en la base de datos de aplicación, el rendimiento de la aplicación podría disminuir y la base de datos se podría quedar sin espacio libre en disco. Notification Services proporciona procedimientos almacenados y contadores de rendimiento para supervisar aplicaciones, que puede utilizar para supervisar el proceso de vacuuming.

  • El procedimiento almacenado NSSnapshotApplications devuelve datos acerca de cuándo se ejecutó el proceso de vacuuming por última vez y cuántas filas de eventos y notificaciones se quitaron.
  • NS$instanceName: Vacuumer, este objeto de rendimiento proporciona contadores de rendimiento que son relevantes para el procesamiento de Vacuumer. Supervise los contadores proporcionados por este objeto para determinar si se agota el tiempo de espera del componente Vacuumer y para determinar el número de cuantos que se han suprimido o que se van a suprimir.

Vacuuming quita notificaciones sólo si se han entregado o si no existe ningún reintento adicional. Vacuuming sólo quita eventos que se han procesado. Vacuuming sólo quita cuantos si se han quitado las notificaciones y los eventos asociados. Si aún no se han quitado los datos que esperaba que se quitaran, es probable que haya un elemento de datos dependiente que no puede eliminarse.

Modificar la programación de Vacuumer

Para ajustar la programación de vacuuming para una aplicación de Notification Services, debe editar la definición de la aplicación y, después, actualizar la aplicación para efectuar los cambios en la base de datos de aplicación. Para obtener más información acerca de la definición de una programación de vacuuming, vea Configurar la supresión de datos.

ms166387.note(es-es,SQL.90).gifImportante:
Si modifica la programación de vacuuming, debe configurar la programación de forma que el proceso de vacuuming se ejecute en momentos de poca actividad del sistema. Vacuuming consume recursos del sistema y podría reducir el rendimiento de las aplicaciones cuando está en ejecución.

Ejecutar vacuuming manualmente

En general, es mejor permitir que se ejecute Vacuumer de forma programada. Si vacuuming provoca una disminución del rendimiento del sistema o si no quita suficientes datos, cambie la programación en la definición de aplicación y después actualice la aplicación. Ejecute vacuuming manualmente sólo si determina que no se ha ejecutado vacuuming de forma programada y necesita quitar datos por motivos de espacio o rendimiento.

ms166387.note(es-es,SQL.90).gifImportante:
No ejecute Vacuumer manualmente si éste se está ejecutando o si está programado para ejecutarse. Se podrían producir errores de aplicación, y los datos obsoletos se mantendrían intactos. Busque en la definición de aplicación para determinar la programación de vacuuming. Si la definición de aplicación no contiene una programación de vacuuming, la aplicación no quita automáticamente los datos obsoletos.

Utilice el procedimiento almacenado NSVacuum, que se encuentra en la base de datos de aplicación, para ejecutar vacuuming manualmente. Para obtener más información, vea NSVacuum (Transact-SQL).

Vea también

Conceptos

Configurar la supresión de datos
Actualizar una aplicación

Otros recursos

Vacuum Element (ADF)
NSVacuum (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005