sp_syscollector_create_collection_item(Transact-SQL)
사용자 정의 컬렉션 집합에 컬렉션 항목을 만듭니다. 컬렉션 항목은 수집할 데이터와 데이터를 수집할 빈도를 정의합니다.
구문
sp_syscollector_create_collection_item
[ @collection_set_id = ] collection_set_id
, [ @collector_type_uid = ] 'collector_type_uid'
, [ @name = ] 'name'
, [ [ @frequency = ] frequency ]
, [ @parameters = ] '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 = ] 'name'
컬렉션 항목의 이름입니다. name은 sysname이며 빈 문자열 또는 NULL일 수 없습니다.name은 고유해야 합니다. 현재 컬렉션 항목 이름의 목록을 보려면 syscollector_collection_items 시스템 뷰를 쿼리합니다.
[ @frequency = ] frequency
이 컬렉션 항목에서 데이터를 수집하는 빈도(초)를 지정하는 데 사용됩니다. frequency는 int이며 기본값은 5입니다. 지정할 수 있는 최소값은 5초입니다.컬렉션 집합이 캐시되지 않은 모드로 설정된 경우 이 모드에서는 데이터 컬렉션과 업로드가 모두 컬렉션 집합에 지정된 일정에 따라 발생하므로 빈도가 무시됩니다. 컬렉션 집합의 컬렉션 모드를 보려면 syscollector_collection_sets 시스템 뷰를 쿼리합니다.
[ @parameters = ] 'parameters'
수집기 유형의 입력 매개 변수입니다. parameters는 xml이며 기본값은 NULL입니다. parameters 스키마는 수집기 유형의 매개 변수 스키마와 일치해야 합니다.[ @collection_item_id = ] collection_item_id
컬렉션 집합 항목을 식별하는 고유한 식별자입니다. 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)에 있는 예 2를 실행하십시오.
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 TSQL query collector item',
@frequency = 6000,
@parameters = @params,
@collection_item_id = @collection_item_id OUTPUT;