Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

마이크로소프트 SQL 서버 쿼리 저장소

Microsoft® SQL Server® 쿼리 저장소는 이름에서 알 수 있듯이 실행된 쿼리, 쿼리 런타임 실행 통계 및 실행 계획의 데이터베이스 기록을 캡처하는 저장소와 같습니다. 데이터가 디스크에 저장되기 때문에 문제 해결을 위해 언제든지 쿼리 저장소 데이터를 검색할 수 있으며 SQL Server를 다시 시작해도 데이터에 영향을 주지 않습니다. SQL Server 2016에 도입되었으며 이후의 모든 버전에서 사용할 수 있는 쿼리 저장소를 사용하여 쿼리 계획 변경으로 인한 성능 문제를 해결하세요.

소개

성능 문제 해결에 유용한 기준 데이터 분석을 찾을 수 있지만 쿼리 저장소가 도입될 때까지 해당 정보는 기본적으로 SQL 서버에서 사용할 수 없었습니다. 데이터베이스에 대해 쿼리 저장소가 활성화된 경우 실행 계획 및 런타임 통계와 함께 실행된 쿼리에 대한 정보를 유지합니다. 데이터베이스 수준에서 활성화되며 모든 사용자의 데이터베이스와 MSDB 시스템 데이터베이스에 대해 활성화할 수 있습니다. 쿼리 저장소 관련 정보 및 메타데이터는 데이터베이스 자체 내의 내부 테이블에 저장됩니다. 표준 데이터베이스 백업에는 필요한 모든 정보가 있기 때문에 별도의 쿼리 저장소 백업을 관리할 필요가 없습니다. 쿼리 저장소 데이터를 보려면 View Database State가 있어야 합니다. 권한, 그리고 DB_Owner가 있어야 합니다. 계획을 강제하거나 취소할 수 있는 권리. 이 데이터는 관리 스튜디오와 T-SQL을 통해 볼 수 있습니다.

쿼리 저장소 설정

데이터베이스에 대한 쿼리 저장소를 활성화하려면 다음 단계를 수행하십시오.

  1. 데이터베이스 -> 속성으로 이동을 마우스 오른쪽 버튼으로 클릭합니다. .
  2. 페이지 선택 아래 , 쿼리 저장소 선택을 선택합니다. .
  3. 일반 섹션, 작업 모드(요청됨) 변경 Off에서 Read-Write .
  4. 다른 필드는 작업 모드(요청됨)로 둡니다. 드롭다운 상자를 미리 채워진 기본값으로 설정합니다.
  5. 확인을 클릭합니다. 데이터베이스 속성 상자에서 선택한 데이터베이스에 대한 쿼리 저장소를 활성화합니다.

다음 코드를 사용하여 T-SQL로 쿼리 저장소를 활성화할 수 있습니다.

ALTER DATABASE [DB_Name] SET QUERY_STORE = ON;

쿼리 저장소의 다양한 구성 옵션

다음 목록에는 일부 쿼리 저장소 옵션에 대한 설명이 포함되어 있습니다.

  • 작동 모드(요청됨) 세 가지 값이 있습니다. Off , Read Only , 및 Read Write . 쿼리 저장소의 모드가 Read로 설정된 경우 , 새로운 실행 계획이나 쿼리 런타임 통계가 수집되지 않습니다. 이 모드는 쿼리 저장소와 관련된 읽기 전용 작업입니다. Read Write 모드로 변경 쿼리 저장소가 실행된 쿼리, 해당 쿼리에 사용되는 실행 계획 및 선택한 데이터베이스에서 실행되는 해당 쿼리에 대한 런타임 통계를 수집할 수 있습니다.

  • 데이터 플러시 간격(분) 수집된 실행 계획 및 쿼리 런타임 통계가 메모리에서 디스크로 플러시되는 빈도를 설정할 수 있습니다. 기본적으로 15분으로 설정되어 있습니다.

  • 통계 수집 간격 쿼리 저장소 내에서 사용해야 하는 쿼리 런타임 통계의 집계 간격을 정의합니다. 기본적으로 60분으로 설정되어 있습니다.

  • 최대 크기(MB) 쿼리 저장소의 최대 크기를 구성하는 데 사용됩니다. 기본적으로 100MB로 설정됩니다. 쿼리 저장소의 데이터는 SQL Server 쿼리 저장소가 활성화된 데이터베이스에 저장됩니다. 여기에 구성된 크기에 따라 쿼리 저장소가 최대 크기에 도달한 후 작업 모드가 Read Only으로 전환됩니다. 자동으로 모드.

  • 캡처 모드 QueryStore에서 캡처할 쿼리 유형을 선택하는 데 도움이 됩니다. 기본 옵션은 All입니다. , 실행된 모든 쿼리를 저장합니다. 이 옵션이 auto로 설정된 경우 , 쿼리 저장소는 우선 순위에 따라 어떤 쿼리 캡처를 분류하려고 시도하고 자주 실행되지 않는 쿼리와 기타 임시 쿼리를 무시하려고 합니다.

  • 부실 쿼리 임계값(일) 데이터가 쿼리 저장소에 유지되는 기간을 정의하는 데 사용됩니다. 이 모드의 기본값은 30일입니다.

쿼리 저장소 보고서

쿼리 저장소에는 다음 보고서가 포함됩니다.

  • 회귀된 쿼리 :실행 메트릭이 최근에 퇴보했거나 더 나빠진 쿼리를 정확히 찾아냅니다.
  • 전체 리소스 소비 :모든 실행 메트릭에 대한 데이터베이스의 총 리소스 소비를 분석합니다.
  • 최고 리소스 소비 쿼리 :데이터베이스 리소스 소비에 가장 큰 영향을 미치는 쿼리입니다.
  • 강제 계획이 있는 쿼리 :실행 계획이 적용된 모든 쿼리를 보여주는 내장 보고서
  • 변이가 높은 검색어 :이 보고서는 가장 빈번한 매개변수화 문제가 있는 쿼리를 보여줍니다.
  • 추적 검색어 :가장 중요한 쿼리의 실행을 실시간으로 추적합니다.
마이크로소프트 SQL 서버 쿼리 저장소

쿼리 저장소로 계획 강제 실행

계획 회귀로 인해 어제 제대로 작동하던 쿼리를 실행하는 데 너무 오래 걸리거나 너무 많은 리소스를 소비하거나 오늘 시간이 초과될 수 있습니다. 기본적으로 SQL Server는 쿼리에 대해서만 최신 실행 계획을 유지합니다. 스키마, 통계 또는 인덱스가 변경되면 쿼리 최적화 프로그램에서 사용하는 쿼리 실행 계획이 변경될 수 있습니다. 계획 캐시 메모리의 압력으로 인해 계획이 삭제될 수도 있습니다.

쿼리 저장소는 모니터링되는 각 데이터베이스 내에서 시간에 따라 집계된 쿼리 계획 및 통계 정보를 저장합니다. 계획 캐시와 달리 쿼리 저장소는 쿼리당 여러 계획을 유지하고 계획당 연결된 통계와 함께 쿼리 계획 변경 기록을 유지할 수 있습니다. 다양한 실행 계획 중에서 선택하여 실행 계획을 강제 실행할 수 있습니다. 그런 다음 쿼리 최적화 프로그램은 예정된 쿼리 실행에 대해서만 이 강제 실행 계획을 사용합니다.

쿼리 저장소 -> 상위 리소스 소비 쿼리 열기 보고서는 리소스를 많이 사용하는 쿼리를 나열합니다. 조사할 쿼리를 선택합니다.

마이크로소프트 SQL 서버 쿼리 저장소

계획 위로 마우스를 가져갑니다. 관련 통계를 볼 수 있습니다.

마이크로소프트 SQL 서버 쿼리 저장소

다양한 요금제를 비교해 보겠습니다.

플랜 216 세부정보:

마이크로소프트 SQL 서버 쿼리 저장소

계획 195 세부사항:

마이크로소프트 SQL 서버 쿼리 저장소

계획 216의 평균 기간은 더 짧으므로 이 계획을 추가 실행하는 데 사용할 수 있습니다. 강제 계획을 클릭합니다. "쿼리 42에 대해 계획 216을 강제 실행하시겠습니까?"라는 메시지가 포함된 확인 화면을 보려면

마이크로소프트 SQL 서버 쿼리 저장소

를 클릭합니다. . 계획이 강제 실행되면 다음 스크린샷과 같이 확인 표시로 강조 표시됩니다. 앞으로 이 계획은 쿼리 옵티마이저에서 실행에 사용됩니다.

마이크로소프트 SQL 서버 쿼리 저장소

쿼리 저장소 모범 사례

  • 최신 SQL Server Management Studio를 사용하여 최신 기능 및 개선 사항을 확인하십시오.

  • 쿼리 저장소 데이터 수집을 확인하고 모니터링합니다.

  • 최적 검색어 설정 캡처 모드로 이동하고 필요에 따라 쿼리 저장소 구성 옵션을 다시 방문하여 조정하십시오.

  • 매개변수화되지 않은 쿼리를 사용하지 마십시오.

  • 강제 계획의 상태를 정기적으로 확인하십시오.

결론

쿼리 저장소는 SQL Server 2016에 도입된 유용한 기능입니다. 튜닝 성능 향상은 모든 DBA(데이터베이스 관리자)에게 필요한 핵심 기술 중 하나이므로 쿼리 저장소를 구성하고 사용하는 방법을 배워야 합니다. 쿼리 저장소를 사용하여 성능 변경 사항을 추적할 수도 있습니다. 실행 계획을 비교하여 쿼리 성능 저하 문제를 해결합니다. 모든 쿼리에 대해 쿼리 계획을 강제 실행할 수 있습니다. 이것은 계획 캐시에 저장된 것을 재정의하므로 성능 이점을 제공합니다. 쿼리 저장소는 쿼리 실행 통계 및 나중에 볼 계획을 캡처하고 저장하는 데 사용되기 때문에 SQLServer 성능에 큰 영향을 미치지 않습니다.

피드백 탭을 사용하여 의견을 남기거나 질문하십시오.

전문가 관리, 관리 및 구성으로 환경 최적화

Rackspace의 애플리케이션 서비스(RAS) 전문가는 광범위한 애플리케이션 포트폴리오에서 다음과 같은 전문적이고 관리되는 서비스를 제공합니다.

  • 전자상거래 및 디지털 경험 플랫폼
  • 전사적 자원 관리(ERP)
  • 비즈니스 인텔리전스
  • Salesforce CRM(고객 관계 관리)
  • 데이터베이스
  • 이메일 호스팅 및 생산성

우리는 다음을 제공합니다:

  • 편향 없는 전문성 :즉각적인 가치를 제공하는 기능에 중점을 두고 현대화 여정을 간소화하고 안내합니다.
  • 광신적인 경험 ™:프로세스를 먼저 결합합니다. 기술 두 번째.®전담 기술 지원을 통해 포괄적인 솔루션을 제공하는 접근 방식.
  • 타의 추종을 불허하는 포트폴리오 :광범위한 클라우드 경험을 적용하여 올바른 클라우드에서 올바른 기술을 선택하고 배포할 수 있도록 지원합니다.
  • 민첩한 전달 :귀하의 여정에서 귀하를 만나고 귀하의 성공에 맞춰 귀하의 성공을 맞춥니다.

시작하려면 지금 채팅하세요.