DetailPage-MSS-KB

기술 자료

기술 자료: 970014 - 마지막 검토: 2009년 7월 21일 화요일 - 수정: 1.1

 
Microsoft은 다운로드 가능한 파일로 Microsoft SQL Server 2008 수정 프로그램을 배포합니다. 수정 누적되는 형태이므로 핫픽스가 모두 각 새 릴리스에 포함되어 있으며 이전 SQL Server 2008 포함된 모든 보안 수정 프로그램 릴리스의 수정.

현상

Microsoft SQL Server 2008의 데이터 수집기 기능을 사용하도록 설정한 후 관리 데이터 웨어하우스 데이터베이스 크기가 매우 커질 및 디스크 공간이 소모될 수 있습니다.

또한 다음과 같은 쿼리를 실행하는 경우, snapshots.notable_query_plan 또는 snapshots.notable_query_text 테이블에 고아 행이 여러 개 찾기:
SELECT COUNT(*)
FROM snapshots.notable_query_plan AS qp 
        WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qp.[sql_handle] AND qs.plan_handle = qp.plan_handle 
                AND qs.plan_generation_num = qp.plan_generation_num 
                AND qs.statement_start_offset = qp.statement_start_offset 
                AND qs.statement_end_offset = qp.statement_end_offset 
                AND qs.creation_time = qp.creation_time);
SELECT COUNT(*)
FROM snapshots.notable_query_text AS qt
WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qt.[sql_handle]);

원인

일반 삭제 프로세스를 특정 스냅샷 ID에 해당하는 데이터를 삭제합니다. 그러나 쿼리 계획 행과 쿼리 텍스트 행을 특정 스냅샷 ID가 일치하지 않습니다. 따라서 이러한 행은 제네릭 삭제 프로세스에 의해 삭제되지 않습니다.

해결 방법

SQL Server 2008

중요한 SQL Server 2008 릴리스 버전을 실행하는 경우 이 수정 프로그램을 사용해야 합니다.

이 문제점에 대한 수정 프로그램은 먼저 누적 업데이트 6 릴리스되었습니다. SQL Server 2008이 누적 업데이트 패키지를 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
971490  (http://support.microsoft.com/kb/971490/ ) SQL Server 2008 누적 업데이트 패키지를 6
참고 빌드는 누적되는 형태이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 릴리스 이전 SQL Server 2008 포함된 모든 보안 수정 프로그램을 수정합니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
956909  (http://support.microsoft.com/kb/956909/ ) SQL Server 2008 은 SQL Server 2008 릴리스된 후에 발표된 빌드합니다.

SQL Server 2008 서비스 팩 1

중요한 SQL Server 2008 서비스 팩 1을 실행하는 경우 이 수정 프로그램을 사용해야 합니다.

이 문제점에 대한 수정 프로그램은 먼저 SQL Server 2008 서비스 팩 1에 대한 누적 업데이트 4에서 에서 릴리스되었습니다. 이 누적 업데이트 패키지에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
973602  (http://support.microsoft.com/kb/973602/LN/ ) SQL Server 2008 서비스 팩 1에 대한 누적 업데이트 패키지를 4
참고 빌드는 누적되는 형태이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 릴리스 이전 SQL Server 2008 포함된 모든 보안 수정 프로그램을 수정합니다. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
970365  (http://support.microsoft.com/kb/970365/LN/ ) SQL Server 2008 은 SQL Server 2008 서비스 팩 1 릴리스된 후에 발표된 빌드합니다.
Microsoft SQL Server 2008 특정 SQL Server 서비스 팩 핫픽스를 만들어집니다. SQL Server 2008 서비스 팩 1 설치에 SQL Server 2008 서비스 팩 1 핫픽스를 적용해야 합니다. 기본적으로 SQL Server 서비스 팩에 제공된 모든 핫픽스는 다음 SQL Server 서비스 팩이 포함되어 있습니다.

해결 과정

To work around this problem, use the following scripts in the Management Data Warehouse database to delete these orphan rows:
-- Purge snapshots.notable_query_plan table 
DECLARE @delete_batch_size bigint;
    DECLARE @rows_affected int;
    SET @delete_batch_size = 500;
    SET @rows_affected = @delete_batch_size;
    WHILE (@rows_affected = @delete_batch_size)
    BEGIN
        DELETE TOP (@delete_batch_size) snapshots.notable_query_plan 
        FROM snapshots.notable_query_plan AS qp 
        WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qp.[sql_handle] AND qs.plan_handle = qp.plan_handle 
                AND qs.plan_generation_num = qp.plan_generation_num 
                AND qs.statement_start_offset = qp.statement_start_offset 
                AND qs.statement_end_offset = qp.statement_end_offset 
                AND qs.creation_time = qp.creation_time);
        SET @rows_affected = @@ROWCOUNT;
        RAISERROR ('Deleted %d orphaned rows from snapshots.notable_query_plan', 0, 1, @rows_affected) WITH NOWAIT;
    END;

    -- Purge snapshots.notable_query_text table
    SET @rows_affected = @delete_batch_size;
    WHILE (@rows_affected = @delete_batch_size)
    BEGIN
        DELETE TOP (@delete_batch_size) snapshots.notable_query_text 
        FROM snapshots.notable_query_text AS qt
        WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qt.[sql_handle]);
        SET @rows_affected = @@ROWCOUNT;
        RAISERROR ('Deleted %d orphaned rows from snapshots.notable_query_text', 0, 1, @rows_affected) WITH NOWAIT;
    END;

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

참조

SQL Server 증분 서비스 모델에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
935897  (http://support.microsoft.com/kb/935897/ ) 보고된 문제에 대한 핫픽스를 제공하는 SQL Server 팀으로부터 증분 서비스 모델을 사용합니다


SQL Server 업데이트를 명명 스키마에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
822499  (http://support.microsoft.com/kb/822499/ ) 새 명명 스키마에 Microsoft SQL Server 소프트웨어 업데이트 패키지에 대한


소프트웨어 업데이트 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684  (http://support.microsoft.com/kb/824684/ ) Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
키워드: 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB970014 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store