증상
Microsoft SQL Server 2016에서 rpc_starting 또는 rpc_completed 이벤트를 캡처하고 수집 문 또는 데이터 스트림을 사용할 수 없는 경우 (Xevents 세션에 대 한 collect_statement 또는 Collect_data_stream 매개 변수 를 설정 하지 않았거나 Sql 프로필러에서 텍스트 데이터 또는 이진 데이터 매개 변수 를 설정한 경우)에는 확장 이벤트 세션이 나 sql 프로필러 추적이 생성 된다고 가정 합니다. 세션 중에 Sql server 활동 관련 매개 변수 (TVPs) 가 캡처되는 경우 sql server의 메모리 사용이 필요한 것 보다 훨씬 커질 수 있습니다. 이로 인해 심각한 감속이 발생할 수 있으며, 극단적인 경우 SQL Server 메모리가 소모 되 고, 진행 중인 작업에 대해 다음과 같은 하드 오류 701 메시지가 나타납니다.
' Default ' 리소스 풀에 시스템 메모리가 부족 하 여이 쿼리를 실행할 수 없습니다.
기록 DBCC MEMORYSTATUS 또는 query sys.dm_os_memory_clerks를 사용 하는 경우 OBJECTSTORE_LBSS 메모리 클럭을 통해 큰 메모리 사용량을 보여 주는 것을 확인할 수 있습니다.
해결 방법
문 또는 데이터 스트림을 수집 하도록 구성 되지 않은 확장 이벤트 세션 또는 프로파일러 추적에는 TVP 재료가이 해결 방법으로 주소가 지정 되므로 여전히 대용량 메모리 버퍼가 필요 합니다.
참고확장 이벤트 세션 또는 SQL 프로필러 추적이 문 또는 데이터/이진 스트림을 수집 하도록 구성 되어 있고이 세션 중에 TVPs 관련 된 Sql server 활동 을 캡처하는 경우 ,이 경우에는 메모리 소비가 적용 되어 추적 내의 TVP 스트림을 처리 하는 데 필요 하며 완전히 예상 되는 것 처럼 sql server의 메모리 사용량도 증가 합니다.
따라서 많이 사용 되는 SQL Server 인스턴스의 이벤트와 데이터 필드 (숫자 또는 크기에서) TVP 기반 활동의 이전에 언급 된 조합과 함께 영구 세션 또는 추적을 실행 하지 않는 것이 좋습니다.
SQL Server 용 서비스 팩:
이 수정은 SQL Server 2016 서비스 팩 2 에 포함 되어 있습니다.
기록TVP에서 추적 되는 행의 수를 제한 하는 다른 해결 방법에 대 한 자세한 내용은 KB 4468102을 참조 하세요.
SQL Server 2016 빌드 정보
각각의 SQL Server 2016 새 빌드에는 이전 빌드에 있던 모든 핫픽스와 보안 수정 사항이 포함 되어 있습니다. SQL Server 2016에 대 한 최신 빌드를 설치 하는 것이 좋습니다.
상태
Microsoft는 이 문제가 "적용 대상" 절에 나열된 Microsoft 제품에서 발생하는 문제로 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.