sp_syscollector_create_collection_item(Transact-SQL)

적용 대상:SQL Server

사용자 정의 컬렉션 집합에 컬렉션 항목을 만듭니다. 컬렉션 항목은 수집할 데이터와 데이터가 수집되는 빈도를 정의합니다.

Transact-SQL 구문 표기 규칙

구문

sp_syscollector_create_collection_item
    [ @collection_set_id = ] collection_set_id
    , [ @collector_type_uid = ] 'collector_type_uid'
    , [ @name = ] N'name'
    [ , [ @frequency = ] frequency ]
    [ , [ @parameters = ] N'parameters' ]
    , [ @collection_item_id = ] collection_item_id OUTPUT
[ ; ]

인수

[ @collection_set_id = ] collection_set_id

컬렉션 집합의 고유 로컬 식별자입니다. @collection_set_id 기본값이 없는 int입니다.

[ @collector_type_uid = ] 'collector_type_uid'

이 항목에 사용할 수집기 유형을 식별하는 GUID입니다. @collector_type_uid 기본값이 없는 uniqueidentifier입니다. 수집기 형식 목록을 보려면 시스템 뷰를 쿼리합니다 syscollector_collector_types .

[ @name = ] N'name'

컬렉션 항목의 이름입니다. @name sysname이며 빈 문자열이나 NULL.

@name 고유해야 합니다. 현재 컬렉션 항목 이름 목록을 보려면 시스템 보기를 쿼리합니다 syscollector_collection_items .

[ @frequency = ] frequency

이 컬렉션 항목이 데이터를 수집하는 빈도(초)를 지정하는 데 사용됩니다. @frequency 기본값5인 int입니다. 지정할 수 있는 최소값은 5초입니다.

컬렉션 집합이 캐시되지 않은 모드로 설정된 경우 이 모드로 인해 컬렉션 집합에 지정된 일정에 따라 데이터 수집과 업로드가 모두 발생하므로 빈도가 무시됩니다. 컬렉션 집합의 컬렉션 모드를 보려면 syscollector_collection_sets(Transact-SQL) 시스템 뷰를 쿼리합니다.

[ @parameters = ] N'parameters'

수집기 형식에 대한 입력 매개 변수입니다. @parameters xml이며 기본값은 .입니다NULL. @parameters 스키마는 수집기 형식의 매개 변수 스키마와 일치해야 합니다.

[ @collection_item_id = ] collection_item_id OUTPUT

컬렉션 집합 항목을 식별하는 고유 식별자입니다. @collection_item_id int 형식의 OUTPUT 매개 변수입니다.

반환 코드 값

0 (성공) 또는 1 (실패).

설명

sp_syscollector_create_collection_item 는 시스템 데이터베이스의 msdb 컨텍스트에서 실행되어야 합니다.

컬렉션 항목을 만들기 전에 컬렉션 항목을 추가하려는 컬렉션 집합을 중지해야 합니다. 컬렉션 항목은 시스템 컬렉션 집합에 추가할 수 없습니다.

사용 권한

이 절차를 실행하려면 dc_admin 멤버 자격(EXECUTE 권한 포함) 고정 데이터베이스 역할이 필요합니다.

예제

다음 예제에서는 컬렉션 형식 Generic T-SQL Query Collector Type 에 따라 컬렉션 항목을 만들고 명명 Simple collection set test 2된 컬렉션 집합에 추가합니다. 지정된 컬렉션 집합을 만들려면 sp_syscollector_create_collection_set(Transact-SQL)에서 예제 B를 실행합니다.

USE msdb;
GO

DECLARE @collection_item_id INT;
DECLARE @collection_set_id INT = (
        SELECT collection_set_id
        FROM syscollector_collection_sets
        WHERE name = N'Simple collection set test 2');
DECLARE @collector_type_uid UNIQUEIDENTIFIER = (
        SELECT collector_type_uid
        FROM syscollector_collector_types
        WHERE name = N'Generic T-SQL Query Collector Type');
DECLARE @params XML = CONVERT(XML, N'\<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
            <Query>
                <Value>SELECT * FROM sys.objects</Value>
                <OutputTable>MyOutputTable</OutputTable>
            </Query>
            <Databases>
                <Database> UseSystemDatabases = "true"
                           UseUserDatabases = "true"
                </Database>
            </Databases>
         \</ns:TSQLQueryCollector>');

EXEC sp_syscollector_create_collection_item @collection_set_id = @collection_set_id,
    @collector_type_uid = @collector_type_uid,
    @name = 'My custom T-SQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;