데이터 컬렉션Data Collection

데이터 수집기는 다양한 데이터 집합을 수집하는 SQL Server 2017SQL Server 2017 구성 요소입니다.The Data Collector is a component of SQL Server 2017SQL Server 2017 that collects different sets of data. 데이터 컬렉션은 항상 실행되거나 사용자 정의 일정에 따라 실행됩니다.Data collection either runs constantly or on a user-defined schedule. 데이터 수집기는 관리 데이터 웨어하우스로 알려진 관계형 데이터베이스에 수집한 데이터를 저장합니다.The data collector stores the collected data in a relational database known as the management data warehouse.

데이터 수집기란?What is Data Collector?

데이터 수집기는 SQL Server 2017SQL Server 2017 에서 제공하는 도구와 SQL ServerSQL Server를 위한 데이터 컬렉션 플랫폼의 핵심 구성 요소입니다.The data collector is a core component of the data collection platform for SQL Server 2017SQL Server 2017 and the tools that are provided by SQL ServerSQL Server. 데이터 수집기는 데이터베이스 서버 및 응용 프로그램 전체에서 데이터 컬렉션에 대한 단일 중심점을 제공합니다.The data collector provides one central point for data collection across your database servers and applications. 이 컬렉션 지점을 통해 SQL 추적과 달리 성능 데이터로만 제한되지 않고 다양한 원본으로부터 데이터를 가져올 수 있습니다.This collection point can obtain data from a variety of sources and is not limited to performance data, unlike SQL Trace.

데이터 수집기를 사용하면 사용자의 테스트 및 프로덕션 환경에 맞도록 데이터 컬렉션의 범위를 조정할 수도 있습니다.The data collector enables you to adjust the scope of data collection to suit your test and production environments. 또한 데이터 수집기는 데이터에 다양한 보존 기간을 설정하여 수집 데이터를 관리할 수 있도록 하는 관련 데이터베이스인 데이터 웨어하우스를 사용합니다.The data collector also uses a data warehouse, a relational database that enables you to manage the data that you collect by setting different retention periods for your data.

데이터 수집기는 데이터 컬렉션에 대한 동적 튜닝을 지원하며 API를 통해 확장 가능합니다.The data collector supports dynamic tuning for data collection and is extensible through its API. 자세한 내용은 Data Collector Programming을 참조하세요.For more information, see Data Collector Programming.

다음 그림에서는 데이터 수집기가 SQL Server 2017SQL Server 2017의 데이터 컬렉션 및 데이터 관리를 위한 전반적인 전략에 어떻게 맞추는지를 보여 줍니다.The following illustration shows how the data collector fits in the overall strategy for data collection and data management in SQL Server 2017SQL Server 2017.

데이터 관리에서의 데이터 수집기 역할The Data Collector's Role in Data Management

개념Concepts

데이터 수집기는 SQL ServerSQL Server 에이전트 및 Integration ServicesIntegration Services와 통합되며 둘 다 광범위하게 사용됩니다.The data collector is integrated with SQL ServerSQL Server Agent and Integration ServicesIntegration Services, and uses both extensively. 따라서 데이터 수집기를 사용하려면 먼저 이러한 SQL ServerSQL Server 구성 요소 각각과 관련된 특정 개념을 이해해야 합니다.Before you work with the data collector, you should therefore understand certain concepts related to each of these SQL ServerSQL Server components.

SQL ServerSQL Server 에이전트는 컬렉션 작업을 예약하고 실행하는 데 사용됩니다. Agent is used to schedule and run collection jobs. 다음 개념을 이해해야 합니다.You should understand the following concepts:

  • 작업Job

  • 작업 단계Job step

  • 작업 일정Job schedule

  • 하위 시스템Subsystem

  • 프록시 계정Proxy accounts

    자세한 내용은 관리 태스크 자동화(SQL Server 에이전트)를 참조하세요.For more information, see Automated Administration Tasks (SQL Server Agent).

    Integration ServicesIntegration Services ( SSISSSIS)는 개별 데이터 공급자에서 데이터를 수집하는 패키지를 실행하는 데 사용됩니다. ( SSISSSIS) is used to execute packages that collect data from individual data providers. 다음 SSISSSIS 도구 및 개념에 대해 잘 알고 있어야 합니다.You should be familiar with the following SSISSSIS tools and concepts:

  • SSISSSIS 패키지 package

  • SSISSSIS 패키지 구성 package configuration

    자세한 내용은 Integration Services(SSIS) 패키지를 참조하세요.For more information, see Integration Services (SSIS) Packages.

용어Terminology

대상target
데이터 컬렉션을 지원하는 데이터베이스 엔진Database Engine 버전에서 SQL ServerSQL Server 인스턴스입니다.An instance of the 데이터베이스 엔진Database Engine in an edition of SQL ServerSQL Server that supports Data Collection. 지원되는 버전에 대한 자세한 내용은 SQL Server 2016 버전에서 지원하는 기능의 "관리 효율성" 섹션을 참조하세요.For more information about supported editions, see the "Manageability" section of Features Supported by the Editions of SQL Server 2016.

대상 루트 는 대상 계층의 하위 트리를 정의합니다.A target root defines a subtree in the target hierarchy. 대상 집합 은 대상 루트를 통해 정의된 하위 트리에 필터를 적용하여 생성되는 대상 그룹입니다.A target set is the group of targets that results from applying a filter to a subtree defined by a target root. 대상 루트는 데이터베이스, SQL ServerSQL Server인스턴스 또는 컴퓨터 인스턴스가 될 수 있습니다.A target root can be a database, an instance of SQL ServerSQL Server, or a computer instance.

대상 유형target type
일정한 특징 및 동작을 갖는 대상의 유형입니다.The type of target, which has certain characteristics and behavior. 예를 들어 SQL ServerSQL Server 인스턴스 대상의 특징은 SQL ServerSQL Server 데이터베이스 대상의 특징과 다릅니다.For example, a SQL ServerSQL Server instance target has different characteristics than a SQL ServerSQL Server database target.

데이터 공급자data provider
수집기 형식에 데이터를 제공하는 알려진 데이터 원본으로, 대상 유형별로 고유합니다.A known data source, specific to a target type, that provides data to a collector type.

수집기 형식collector type
데이터를 수집하고 관리 데이터 웨어하우스에 이를 업로드하는 실제 메커니즘을 제공하는 SSISSSIS 패키지에 대한 논리적 래퍼입니다.A logical wrapper around the SSISSSIS packages that provide the actual mechanism for collecting data and uploading it to the management data warehouse.

컬렉션 항목collection item
수집기 형식의 인스턴스입니다.An instance of a collector type. 컬렉션 항목은 컬렉션 빈도 및 입력 속성의 특정 집합을 사용하여 만듭니다.A collection item is created with a specific set of input properties and a collection frequency.

컬렉션 집합collection set
컬렉션 항목 그룹입니다.A group of collection items. 컬렉션 집합은 사용자가 사용자 인터페이스를 통해 상호 작용할 수 있는 데이터 컬렉션 단위입니다.A collection set is a unit of data collection that a user can interact with through the user interface.

컬렉션 모드collection mode
데이터를 수집하고 저장하는 방식입니다.The manner in which the data is collected and stored. 컬렉션 모드는 캐시되거나 캐시되지 않을 수 있습니다.Collection mode can be cached or non-cached. 캐시된 모드는 연속적인 컬렉션을 지원하지만 캐시되지 않은 모드는 요청 시 컬렉션 또는 컬렉션 스냅숏을 위한 것입니다.Cached mode supports continuous collection, whereas non-cached mode is intended for on-demand collection or a collection snapshot.

관리 데이터 웨어하우스management data warehouse
수집되는 데이터를 저장하는 데 사용되는 관계형 데이터베이스입니다.A relational database used to store collected data.

다음 그림에서는 데이터 수집기 구성 요소 간 종속성 및 관계를 보여 줍니다.The following illustration shows the dependencies and relationships between data collector components.

데이터 수집기 함수 종속성Data collector functional dependencies

그림에서와 같이 데이터 공급자는 데이터 수집기 외부에 있으며 정의에 따라 대상과 암시적인 관계에 있습니다.As shown in the illustration, the data provider is external to the data collector and by definition has an implicit relationship with the target. 데이터 공급자는 특정 대상(예: 관계형 엔진 같은 SQL ServerSQL Server 서비스)에 한정되고 SQL ServerSQL Server의 시스템 뷰, 성능 모니터 카운터 및 WMI 공급자와 같은 데이터 수집기에서 사용할 수 있는 데이터를 제공합니다.The data provider is specific to a particular target (for example, a SQL ServerSQL Server service such as the relational engine) and provides data such as system views in SQL ServerSQL Server, Performance Monitor counters, and WMI providers, that can be consumed by the data collector.

수집기 형식은 대상 유형별로 고유하며, 데이터 공급자와 대상 유형의 논리적 연결을 기반으로 합니다.The collector type is specific to a target type, based on the logical association of a data provider to a target type. 수집기 형식은 스키마화된 매개 변수를 사용하여 특정 데이터 공급자에서 데이터를 수집하는 방식을 정의하며 데이터 저장소 스키마를 지정합니다.The collector type defines how data is collected from a specific data provider (by using schematized parameters) and specifies the data storage schema. 수집된 데이터를 저장하려면 데이터 공급자 스키마 및 저장소 스키마가 필요합니다.The data provider schema and storage schema are required in order to store the data that is collected. 또한 수집기 형식은 관리 데이터 웨어하우스의 위치를 제공하며 관리 데이터 웨어하우스는 데이터 컬렉션을 실행하는 컴퓨터에 있을 수도 있고 다른 컴퓨터에 있을 수도 있습니다.The collector type also provides the location of the management data warehouse, which can reside on the computer running data collection or on a different computer.

그림에서와 같이 컬렉션 항목은 수집기 형식에 대한 XML 스키마처럼 입력 매개 변수로 매개 변수가 제공되는 특정 수집기 형식의 인스턴스입니다.A collection item, shown in the illustration, is an instance of a specific collector type, parameterized with input parameters, such as the XML schema for the collector type. 모든 컬렉션 항목은 동일한 대상 루트 또는 빈 대상 루트에서 사용되어야 합니다.All collection items must operate on the same target root or on an empty target root. 이렇게 하면 데이터 수집기가 운영 체제 또는 특정 대상 루트의 여러 수집기 형식(다른 대상 루트의 수집기 형식 제외)을 함께 사용할 수 있습니다.This enables the data collector to combine collector types from the operating system or from a specific target root, but not from different target roots.

컬렉션 항목에는 값의 스냅숏을 만드는 빈도를 결정하는 컬렉션 빈도가 정의되어 있습니다.A collection item has a collection frequency defined that determines how often snapshots of values are taken. 컬렉션 항목은 컬렉션 집합에 대한 빌딩 블록이지만 자체적으로 존재할 수는 없습니다.Although it is a building block for a collection set, a collection item cannot exist on its own.

컬렉션 집합은 서버 인스턴스에 정의 및 배포되며 서로 독립적으로 실행될 수 있습니다.Collection sets are defined and deployed on a server instance and can be run independently of each other. 컬렉션 집합의 일부인 모든 수집기 형식의 대상 유형과 일치하는 대상에 각 컬렉션 집합을 적용할 수 있습니다.Each collection set can be applied to a target that matches the target types of all the collector types that are part of a collection set. 컬렉션 집합은 SQL ServerSQL Server 에이전트 작업으로 실행되며 데이터는 미리 정의된 일정에 따라 관리 데이터 웨어하우스에 업로드됩니다.The collection set is run by a SQL ServerSQL Server Agent job or jobs, and data is uploaded to the management data warehouse on a predefined schedule.

컬렉션 집합 내의 서로 다른 인스턴스에서 수집한 데이터는 모두 같은 일정에 따라 관리 데이터 웨어하우스에 업로드됩니다.All the data collected by different instances within the collection set is uploaded to the management data warehouse on the same schedule. 이 일정은 공유 SQL ServerSQL Server 에이전트 일정으로 정의되며 둘 이상의 컬렉션 집합에 사용될 수 있습니다.This schedule is defined as a shared SQL ServerSQL Server Agent schedule and can be used by more than one collection set. 컬렉션 집합은 단일 엔터티로 설정되거나 해제되지만 컬렉션 항목은 개별적으로 설정하거나 해제할 수 없습니다.A collection set is turned on or turned off as a single entity; collection items cannot be turned on or turned off individually.

컬렉션 집합을 만들거나 업데이트할 때 데이터를 수집하고 관리 데이터 웨어하우스에 이를 업로드하는 컬렉션 모드를 구성할 수 있습니다.When you create or update a collection set, you can configure the collection mode for collecting data and uploading it to the management data warehouse. 일정 예약 유형은 캐시됨 또는 캐시 안 됨과 같은 컬렉션 유형에 따라 결정됩니다.The type of scheduling is determined by the type of collection: cached or non-cached. 컬렉션이 캐시되는 경우 데이터 컬렉션과 데이터 업로드는 각각 별도의 작업에서 실행됩니다.If the collection is cached, data collection and upload each run on a separate job. 컬렉션은 SQL ServerSQL Server 에이전트 시작 시 시작되는 일정에 따라 실행되며 컬렉션 항목에 지정된 빈도로 실행됩니다.Collection runs on a schedule that starts when the SQL ServerSQL Server Agent starts and it runs on the frequency specified in the collection item. 업로드는 사용자가 지정한 일정에 따라 실행됩니다.Upload runs according to the schedule specified by the user.

캐시되지 않는 컬렉션에서 데이터 컬렉션과 데이터 업로드는 모두 두 단계로 구성된 단일 작업에서 실행됩니다.Under non-cached collection, data collection and upload both run on a single job, but in two steps. 1단계는 컬렉션이고 2단계는 업로드입니다.Step one is collection, step two is upload. 요청 시 컬렉션에는 일정이 필요하지 않습니다.No schedule is required for on-demand collection.

컬렉션 집합이 활성화된 후 일정 또는 요청에 따라 데이터 컬렉션을 시작할 수 있습니다.After a collection set is enabled, data collection can start, either according to a schedule or on demand. 데이터 컬렉션이 시작되면 SQL ServerSQL Server 에이전트가 데이터 수집기의 프로세스를 생성하며 이 프로세스는 컬렉션 집합에 대한 Integration ServicesIntegration Services 패키지를 로드합니다.When data collection starts, SQL ServerSQL Server Agent spawns a process for the data collector, which in turn loads the Integration ServicesIntegration Services packages for the collection set. 컬렉션 유형을 나타내는 컬렉션 항목은 지정된 대상의 적절한 데이터 공급자에서 데이터를 수집합니다.The collection items, which represent collection types, gather data from the appropriate data providers on the specified targets. 컬렉션 주기가 끝나면 이 데이터가 관리 데이터 웨어하우스에 업로드됩니다.When the collection cycle ends, this data is uploaded to the management data warehouse.

수행할 수 있는 작업Things you can do

설명Description 항목Topic
데이터 컬렉션 사용 또는 사용 안 함, 컬렉션 집합 구성 변경, 관리 데이터 웨어하우스에서 데이터 보기와 같은 데이터 컬렉션의 다양한 기능을 관리합니다.Manage different aspects of data collection, such as enabling or disabling data collection, changing a collection set configuration, or viewing data in the management data warehouse. 데이터 컬렉션 관리Manage Data Collection
보고서를 사용하여 시스템 용량을 모니터링하고 시스템 성능 문제를 해결하는 데 필요한 정보를 얻을 수 있습니다.Use reports to obtain information for monitoring system capacity and troubleshooting system performance. 시스템 데이터 컬렉션 집합 보고서System Data Collection Set Reports
관리 데이터 웨어하우스를 사용하여 데이터 컬렉션 대상인 서버에서 데이터를 수집할 수 있습니다.Use the Management Data Warehouse to collect data from a server that is a data collection target. 관리 데이터 웨어하우스Management Data Warehouse
SQL Server Profiler의 서버 쪽 추적 기능을 이용하여 일반 SQL 추적 수집기 형식을 사용하는 컬렉션 집합을 만들기 위한 추적 정의를 내보냅니다.Exploit the server-side trace capabilities of SQL Server Profiler to export a trace definition that you can use to create a collection set that uses the Generic SQL Trace collector type SQL Server 프로파일러를 사용하여 SQL 추적 컬렉션 집합 만들기(SQL Server Management Studio)Use SQL Server Profiler to Create a SQL Trace Collection Set (SQL Server Management Studio)