SQL Server 2005에서 특정 데이터베이스 유지 관리 작업 또는 일반 트랜잭션 작업을 수행한 후 쿼리 성능이 저하될 수 있습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 917828 - 이 문서가 적용되는 제품 보기.
# 버그: 329155 (SQLBUDT)
모두 확대 | 모두 축소

현상

Microsoft SQL Server 2005 특정 데이터베이스 유지 관리 작업 또는 일반 트랜잭션 작업을 수행한 후 쿼리 성능의 단축을 발생할 수 있습니다. 예를 들어, 데이터베이스 백업을 복원한 후 쿼리 성능이 갑자기 저하됩니다를 알 수 있습니다.

이 문제가 발생하면 SQL Server 2005 서비스 팩 2를 시작하여 사용하면 SQL Server 오류 로그에 다음과 같은 메시지를 확인할 수 있습니다.
일부 인하여 계획 캐시에 일부인 개체 ' 계획 ' cachestore 데이터베이스 유지 관리 또는 작업을 다시 2006-10-15 06:03:29.330 cachestore 플러시 중 4 occurrence(s)를 spid59 SQL Server 발생했습니다.
일부 인하여 계획 캐시에 일부인 ' SQL 계획 ' cachestore 데이터베이스 유지 관리 또는 작업을 다시 2006-10-15 06:03:29.420 cachestore 플러시 중 4 occurrence(s)를 spid59 SQL Server 발생했습니다.
2006-10-15 일부 인하여 ' 바운드 트리 ' cachestore 계획 캐시에 일부인 데이터베이스 유지 관리 또는 작업을 다시 06:03:29.420 cachestore 플러시 중 4 occurrence(s) spid59 SQL Server 발생했습니다.
그러나 DBCC FREEPROCCACHE 명령 또는 프로시저 캐시를 플러시하려면 DBCC FREESYSTEMCACHE 명령을 실행할 수 있습니다. 이러한 명령 중 하나를 실행하여 프로시저 캐시가 플러시된 경우 SQL Server 오류 로그에 다음과 유사한 메시지가 나타납니다.
2006-12-14 11:37:03.57 spid53 SQL Server 1 occurrence(s) cachestore ' DBCC FREEPROCCACHE ' 또는 ' DBCC FREESYSTEMCACHE ' 작업 인하여 계획 캐시에 일부인 ' SQL 계획 ' cachestore에 대한 플러시 중 발생했습니다.
2006-12-14 11:37:03.57 spid53 SQL Server 1 occurrence(s) cachestore ' DBCC FREEPROCCACHE ' 또는 ' DBCC FREESYSTEMCACHE ' 작업 인하여 ' 바운드 트리 ' cachestore 계획 캐시에 일부인 플러시 중 발생했습니다.
따라서 이 문서에서 설명하는 문제 문제가 발생하는지 확인하려면 SQL Server 오류 로그를 검사할 수 있습니다.

참고 Microsoft SQL Server 2008 에서는 이 문제가 발생하지 않습니다.

원인

특정 데이터베이스 유지 관리 작업 또는 일반 트랜잭션 작업에 전체 프로시저 캐시를 지우기 때문에 이 문제가 발생합니다.

현재 상태

이것은 의도적으로 설계된 동작입니다.

추가 정보

다음 시나리오에서 특정 데이터베이스 수준 작업을 수행할 때 전체 프로시저 캐시는 지워집니다.
  • 데이터베이스를 AUTO_CLOSE 데이터베이스 옵션이 ON으로 설정되어 있습니다. 사용자 연결을 참조하는 또는 데이터베이스를 사용하는 경우 백그라운드 작업을 닫고 아래로 데이터베이스를 자동으로 종료할 시도합니다.
  • 기본 옵션을 가진 데이터베이스에 대해 여러 쿼리를 실행합니다. 그런 다음, 데이터베이스가 삭제됩니다.
  • 원본 데이터베이스에 대한 데이터베이스 스냅숏이 삭제됩니다.

    참고 데이터베이스 스냅숏을 Microsoft SQL Server 2005 Enterprise Edition 사용할 수 있습니다.
  • 오프라인 또는 온라인 데이터베이스 상태를 변경합니다.
  • 데이터베이스의 트랜잭션 로그를 성공적으로 다시.
  • 데이터베이스 백업을 복원합니다.
  • DBCC CHECKDB 문을 실행하십시오.

    참고 SQL Server 2005 이외의 SQL Server 2005 SP2 이전 버전만 해당됩니다. SQL Server 2005 SP2 이상을 설치한 후에는 DBCC CHECKDB 문을 실행할 때 전체 프로시저 캐시가 플러시됩니다지 않습니다.
  • 데이터베이스를 분리합니다.
  • ALTER DATABASE 문을 실행할 때 다음 옵션 중 하나를 지정할 수 있습니다.
    • 오프라인
    • 온라인
    • 기본 파일 그룹 수정
    • MODIFY_NAME
    • 파일 그룹 READ_WRITE 수정
    • 한 부씩 인쇄
    • 파일 그룹 READ_ONLY 수정
    • READ_ONLY
    • READ_WRITE
  • 다음 서버 옵션 중 하나를 RECONFIGURE 문에 의해 변경된 경우 전체 프로시저 캐시를 지워집니다.
    • DB 소유권 체인 교차
    • 메모리 (KB) 인덱스 만들기
    • 원격 쿼리 제한 시간 (s)
    • 사용자 옵션
    • 최대 텍스트 복제 크기 (B)
    • 병렬 처리의 비용 임계값
    • 최대 병렬 처리 수준
    • (KB) 쿼리 당 최소 메모리
    • 쿼리 대기 (s)
    • 최소 서버 메모리 (MB)
    • 최대 서버 메모리 (MB)
    • 쿼리 관리자 비용 제한
    참고 실제 값은 변경되지 않는 경우 또는 최대 서버 메모리 서버 옵션의 새 값이 0으로 설정된 경우 프로시저 캐시를 지우지 않습니다.
이 문제가 발생하면 SQL Server 2005 성능 카운터에서 데이터를 수집하도록 성능 모니터를 사용할 때 다음 값 변경 내용을 확인합니다.
  • 성능 개체: 프로세스
    카운터: % 프로세서 시간
    인스턴스: sqlservr

    이 카운터의 값을 인해 증가된 CPU 작업이 늘어납니다. 이 문제가 발생할 경우 전체 프로시저 캐시에 기본적으로 선택이 취소되어 있습니다. 따라서 후속 요청은 캐시할 새 계획을 생성해야 합니다. 이 동작은 CPU 작업이 약간 증가할 수 있습니다.
  • 성능 개체: SQLServer:Plan 캐시
    카운터: 캐시 개체 개수
    인스턴스: _Total

    성능 개체: SQLServer:Plan 캐시
    카운터: 캐시 페이지
    인스턴스: _Total

    이러한 카운터의 값이 갑자기 줄일 수 있습니다.

    참고 SQL Server 2005의 명명된 인스턴스를 InstanceName MSSQL $ 성능 개체는 명명된: 캐시 계획.
  • 성능 개체: SQLServer:SQL 통계
    카운터: SQLCompilations/초

    이 문제가 발생한 후 이 카운터 값이 현저하게 증가할 수 있습니다.

    참고 SQL Server 2005의 명명된 인스턴스를 InstanceName MSSQL $ 성능 개체는 명명된: SQL 통계.
SP:CacheRemove 이벤트를 사용하여 SQL 프로필러 추적 캡처 경우에는 이 문제가 발생하면 다음 TextData 열에 값을 함께 이 이벤트가 생성됩니다 확인할 수 있습니다:
"전체 프로시저 캐시 플러시된"

속성

기술 자료: 917828 - 마지막 검토: 2009년 2월 17일 화요일 - 수정: 7.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
키워드:?
kbmt kbsql2005engine kbexpertiseadvanced kbtshoot kbprb KB917828 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com