DetailPage-MSS-KB

기술 자료

기술 자료: 975915 - 마지막 검토: 2009년 11월 16일 월요일 - 수정: 1.1

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

현상

다음 시나리오를 고려하십시오.
  • 데이터 수집기가 있습니다.
  • 데이터 수집기가 실행되면 아래에 중형 또는 오랫동안 작업량, 산술 오버플로 오류, 인덱스 다시 작성 및 통계를 업데이트하는 것과 같은 아주 큰 데이터베이스에서 데이터베이스 유지 관리 작업을 다음과 같이 발생할 수 있습니다. 이 산술 오버플로 오류가 sys.dm_exec_query_stats 단계의 스냅샷 수집 동안 일시적으로 발생합니다.
메시지: SSIS 오류 코드 DTS_E_OLEDBERROR입니다. OLE DB 오류가 발생했습니다. 오류 코드: 0x80040E57.
OLE DB 레코드를 사용할 수 있습니다. 원본: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E57 설명: 데이터 형식 int라는 식 변환 산술 오버플로 오류".

2 데이터 수집기 로깅 수준을 높일 경우 (예를 들어, 사용자가 실행할 경우 "exec sp_syscollector_update_collection_set @ collection_set_id <collectionsetid>=, @ logging_level = 2" 문을), 다음과 같은 오류 메시지가 반환됩니다:
<시간 날짜 > SEQ - 캡처 및 쿼리 통계 및 쿼리 계획을 분석하고 텍스트, 오류, 6569,,,, SSIS 오류 코드 DTS_E_OLEDBERROR. OLE DB 오류가 발생했습니다. 오류 코드: 0x80040E57. <nl/> 하는 OLE DB 레코드를 사용할 수 있습니다. 원본: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E57 설명: 데이터 형식 int라는 식 변환 산술 오버플로 오류".,, < 날짜 시간 >,, < 날짜 시간 >,,,, OnError, < 날짜 시간 >,-1071636471 QueryActivityUpload, 오류, 6569,,,, SSIS 오류 코드 DTS_E_OLEDBERROR. OLE DB 오류가 발생했습니다. 오류 코드: 0x80040E57. <nl/> 하는 OLE DB 레코드를 사용할 수 있습니다. 원본: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E57 설명: 데이터 형식 int라는 식 변환 산술 오버플로 오류".,, < 날짜 시간 >,, < 날짜 시간 >,,,, OnError,-1071636471

<시간 날짜 > DFT - 만들기 관심 쿼리 업로드 배치, 오류, 6569,,, "ODS - dm_exec_query_stats 현재 스냅샷 Get" 구성 요소 (16412) pre-execute 단계 실패 및 반환된 오류 코드 0xC0202009.,, < 날짜 시간 >,, < 날짜 시간 >,,,, OnError,-1073450982

<시간 날짜 > SEQ - 캡처 및 쿼리 통계를 분석하고 쿼리 계획 및 텍스트, 오류, 6569,,,, 구성 "ODS - dm_exec_query_stats 현재 스냅샷 Get" (16412) pre-execute 단계 실패 및 반환된 오류 코드 0xC0202009.,, < 날짜 시간 >,, < 날짜 시간 >,,,, OnError,-1073450982

<시간 날짜 >, QueryActivityUpload, 오류, 6569,,, "ODS - dm_exec_query_stats 현재 스냅샷 Get" 구성 요소 (16412) pre-execute 단계 실패 및 반환된 오류 코드 0xC0202009.,, < 날짜 시간 >,, < 날짜 시간 >,,,, OnError,-1073450982


이 시나리오에서 SQL Server가 실행한 다음 문을 산술 오버플로 오류가 발생합니다. @ p1
SET NOCOUNT ON
DECLARE @p1 datetime
SET @p1 = GETDATE()

SELECT 
    [sql_handle],
    statement_start_offset,
    statement_end_offset,
    -- Use ISNULL here and in other columns to handle in-progress queries that are not yet in sys.dm_exec_query_stats.  
    -- These values only come from sys.dm_exec_query_stats. If the plan does not show up in sys.dm_exec_query_stats 
    -- (first execution of a still-in-progress query, visible in sys.dm_exec_requests), these values will be NULL. 
    MAX (plan_generation_num) AS plan_generation_num,
    plan_handle,
    MIN (creation_time) AS creation_time, 
    MAX (last_execution_time) AS last_execution_time,
    SUM (execution_count) AS execution_count,
    SUM (total_worker_time) AS total_worker_time,
    MIN (min_worker_time) AS min_worker_time,           -- NULLable
    MAX (max_worker_time) AS max_worker_time,
    SUM (total_physical_reads) AS total_physical_reads,
    MIN (min_physical_reads) AS min_physical_reads,     -- NULLable
    MAX (max_physical_reads) AS max_physical_reads,
    SUM (total_logical_writes) AS total_logical_writes,
    MIN (min_logical_writes) AS min_logical_writes,     -- NULLable
    MAX (max_logical_writes) AS max_logical_writes,
    SUM (total_logical_reads) AS total_logical_reads,
    MIN (min_logical_reads) AS min_logical_reads,       -- NULLable
    MAX (max_logical_reads) AS max_logical_reads,
    SUM (total_clr_time) AS total_clr_time,
    MIN (min_clr_time) AS min_clr_time,                 -- NULLable
    MAX (max_clr_time) AS max_clr_time,
    SUM (total_elapsed_time) AS total_elapsed_time,
    MIN (min_elapsed_time) AS min_elapsed_time,         -- NULLable
    MAX (max_elapsed_time) AS max_elapsed_time,
    @p1 AS collection_time
FROM
(
    SELECT  
        [sql_handle],
        statement_start_offset,
        statement_end_offset,
        plan_generation_num,
        plan_handle,
        creation_time,
        last_execution_time,
        execution_count,
        total_worker_time,
        min_worker_time,
        max_worker_time,
        total_physical_reads,
        min_physical_reads,
        max_physical_reads,
        total_logical_writes,
        min_logical_writes,
        max_logical_writes,
        total_logical_reads,
        min_logical_reads,
        max_logical_reads,
        total_clr_time,
        min_clr_time,
        max_clr_time,
        total_elapsed_time,
        min_elapsed_time,
        max_elapsed_time 
    FROM sys.dm_exec_query_stats AS q
    -- Temporary workaround for VSTS #91422.  This should be removed if/when sys.dm_exec_query_stats reflects in-progress queries. 
    UNION ALL 
    SELECT 
        r.[sql_handle],
        r.statement_start_offset,
        r.statement_end_offset,
        ISNULL (qs.plan_generation_num, 0) AS plan_generation_num,
        r.plan_handle,
        ISNULL (qs.creation_time, r.start_time) AS creation_time,
        r.start_time AS last_execution_time,
        1 AS execution_count,
        -- dm_exec_requests shows CPU time as ms, while dm_exec_query_stats 
        -- uses microseconds.  Convert ms to us. 
        r.cpu_time * 1000 AS total_worker_time,
        qs.min_worker_time,     -- min should not be influenced by in-progress queries
        r.cpu_time * 1000 AS max_worker_time,
        r.reads AS total_physical_reads,
        qs.min_physical_reads,  -- min should not be influenced by in-progress queries
        r.reads AS max_physical_reads,
        r.writes AS total_logical_writes,
        qs.min_logical_writes,  -- min should not be influenced by in-progress queries
        r.writes AS max_logical_writes,
        r.logical_reads AS total_logical_reads,
        qs.min_logical_reads,   -- min should not be influenced by in-progress queries
        r.logical_reads AS max_logical_reads,
        qs.total_clr_time,      -- CLR time is not available in dm_exec_requests
        qs.min_clr_time,        -- CLR time is not available in dm_exec_requests
        qs.max_clr_time,        -- CLR time is not available in dm_exec_requests
        -- dm_exec_requests shows elapsed time as ms, while dm_exec_query_stats 
        -- uses microseconds.  Convert ms to us. 
        r.total_elapsed_time * 1000 AS total_elapsed_time,
        qs.min_elapsed_time,    -- min should not be influenced by in-progress queries
        r.total_elapsed_time * 1000 AS max_elapsed_time
    FROM sys.dm_exec_requests AS r 
    LEFT OUTER JOIN sys.dm_exec_query_stats AS qs ON r.plan_handle = qs.plan_handle AND r.statement_start_offset = qs.statement_start_offset 
        AND r.statement_end_offset = qs.statement_end_offset 
    WHERE r.sql_handle IS NOT NULL 
) AS query_stats 
OUTER APPLY sys.dm_exec_sql_text (sql_handle) AS sql
GROUP BY [sql_handle], plan_handle, statement_start_offset, statement_end_offset 
ORDER BY [sql_handle], plan_handle, statement_start_offset, statement_end_offset
수동으로 이 문을 실행하면 있으므로, 다음과 같은 오류 메시지가 나타날 수도 있습니다:
메시지 8115, 수준 16, 상태 2,
산술 오버플로 오류가 식을 int 데이터 형식 변환

해결 방법

이 문제점에 대한 수정 프로그램은 먼저 SQL Server 2008 서비스 팩 1에 대한 누적 업데이트 5에 에서 릴리스되었습니다. 이 누적 업데이트 패키지에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
975977  (http://support.microsoft.com/kb/975977/LN/ ) SQL Server 2008 서비스 팩 1에 대한 누적 업데이트 패키지 5
참고 빌드는 누적되는 형태이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 릴리스 이전 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 서비스 팩이 포함되어 있습니다.

현재 상태

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 kbexpertiseadvanced kbsurveynew kbqfe kbfix KB975915 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store
소기업이 아닙니까?
다음에서 팔로우하십시오.