다음을 통해 공유


사용되지 않는 응용 프로그램 데이터 제거

Microsoft SQL Server Notification Services 응용 프로그램 데이터베이스에 많은 양의 데이터가 포함되어 있으면 두 가지 측면에서 성능 저하를 가져올 수 있습니다. 먼저 테이블 크기가 커져 쿼리 성능이 저하될 수 있습니다. 둘째로 데이터 파일이 커지면 SQL Server는 자동으로 파일 크기를 늘리며 그 결과 시스템 리소스를 소비하게 됩니다.

Notification Services는 데이터 제거(vacuuming) 프로세스를 사용하여 응용 프로그램 데이터베이스에서 사용되지 않는 데이터를 제거합니다. 데이터 제거는 응용 프로그램 정의에 지정된 일정에 따라 각 응용 프로그램에 대해 자동으로 실행되는 프로세스입니다.

응용 프로그램을 정의할 때는 응용 프로그램 데이터의 보존 기간과 데이터 제거 일정을 지정해야 합니다. 데이터 보존 기간은 이벤트 및 알림 데이터를 제거할 수 있는 최소 기간입니다. 예를 들어 보존 기간이 1일이면 하루 이상 경과된 데이터만 제거할 수 있습니다. 데이터 제거 일정에는 데이터 제거에 대한 하나 이상의 시작 시간과 기간이 지정됩니다. 자세한 내용은 데이터 제거 구성을 참조하십시오.

데이터는 퀀텀 단위로 제거됩니다. 즉, 한 퀀텀 중에 처리된 모든 이벤트 및 알림이 하나의 단위로 제거됩니다.

응용 프로그램이 실행될 때는 데이터 제거 프로세스가 일정대로 실행되어야 합니다. 데이터 제거가 실행되고 있는데 응용 프로그램이 다른 데이터 제거 구성을 필요로 하면 응용 프로그램 정의를 편집하고 변경 내용이 적용되도록 응용 프로그램을 업데이트하여 데이터 제거를 수정할 수 있습니다. 필요에 따라 데이터 제거를 수동으로 실행할 수 있습니다.

데이터 제거가 실행 중인지 확인

모든 응용 프로그램에 대해 데이터 제거가 일정대로 실행되는지 정기적으로 확인해야 합니다. 응용 프로그램 데이터베이스에 많은 양의 데이터가 누적되면 응용 프로그램 성능이 저하될 수 있으며 데이터베이스의 디스크 공간이 부족해질 수 있습니다. Notification Services에서는 응용 프로그램 모니터링을 위한 저장 프로시저와 성능 카운터를 제공합니다. 이러한 기능은 데이터 제거 작업 모니터링에도 사용할 수 있습니다.

  • NSSnapshotApplications 저장 프로시저는 데이터 제거 프로세스가 마지막으로 실행된 시기와 제거된 이벤트 및 알림 행의 수에 대한 데이터를 반환합니다.
  • NS$instanceName: Vacuumer 성능 개체는 데이터 제거 프로세스(vacuumer)와 관련된 성능 카운터를 제공합니다. 이 개체에서 제공하는 카운터를 모니터링하여 데이터 제거 프로세스 구성 요소의 시간이 초과되는지 여부, 데이터가 제거된 퀀텀 수 또는 데이터를 제거할 준비가 된 퀀텀 수를 결정합니다.

알림이 이미 배달되었거나 해당 알림 배달이 추가로 다시 시도되지 않은 경우에만 데이터 제거 작업을 통해 알림이 제거됩니다. 또한 이미 처리된 이벤트만 데이터 제거 작업을 통해 제거됩니다. 뿐만 아니라 퀀텀과 관련된 알림 및 이벤트가 제거된 경우에만 데이터 제거 작업을 통해 해당 퀀텀이 제거됩니다. 제거하려던 데이터가 제거되지 않은 경우에는 아직 제거할 수 없는 종속 데이터가 있을 수 있습니다.

데이터 제거 일정 수정

Notification Services 응용 프로그램에 대한 데이터 제거 일정을 조정하려면 응용 프로그램 정의를 편집한 후 응용 프로그램을 업데이트하여 응용 프로그램 데이터베이스에 변경 내용을 적용해야 합니다. 데이터 제거 일정을 정의하는 방법은 데이터 제거 구성을 참조하십시오.

ms166387.note(ko-kr,SQL.90).gif중요:
데이터 제거 일정을 수정하는 경우 시스템 활동이 적은 시간에 데이터 제거가 실행되도록 일정을 구성합니다. 데이터 제거 작업은 시스템 리소스를 소모하므로 데이터 제거 프로세스가 실행되는 동안에는 응용 프로그램 성능이 저하될 수 있습니다.

수동으로 데이터 제거 실행

일반적으로는 일정에 따라 데이터 제거 프로세스(vacuumer)를 실행하는 것이 가장 좋습니다. 데이터 제거 작업이 시스템 성능을 저하시키거나 충분한 데이터를 제거하지 못하면 응용 프로그램 정의에서 일정을 변경한 후 응용 프로그램을 업데이트합니다. 데이터 제거가 일정대로 실행되지 않고 공간 또는 성능상의 이유로 데이터를 제거해야 할 경우에만 데이터 제거를 수동으로 실행하십시오.

ms166387.note(ko-kr,SQL.90).gif중요:
데이터 제거 프로세스가 실행 중이거나 실행될 예정인 경우에는 데이터 제거 프로세스를 수동으로 실행하지 마십시오. 사용되지 않는 데이터가 남아 있게 되어 응용 프로그램 오류가 발생할 수 있기 때문입니다. 데이터 제거 일정을 검토하려면 응용 프로그램 정의를 확인하십시오. 응용 프로그램 정의에 데이터 제거 일정이 포함되어 있지 않으면 응용 프로그램에서는 사용되지 않는 데이터를 자동으로 제거하지 않습니다.

응용 프로그램 데이터베이스에 있는 NSVacuum 저장 프로시저를 사용하여 데이터 제거를 수동으로 실행합니다. 자세한 내용은 NSVacuum(Transact-SQL)을 참조하십시오.

참고 항목

개념

데이터 제거 구성
응용 프로그램 업데이트

관련 자료

Vacuum Element (ADF)
NSVacuum(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기