다음을 통해 공유


sp_syscollector_update_collection_set(Transact-SQL)

사용자 정의 컬렉션 집합의 속성을 수정하거나 사용자 정의 컬렉션 집합의 이름을 바꾸는 데 사용합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_syscollector_update_collection_set 
    [ [ @collection_set_id = ] collection_set_id ]
        , [ [ @name = ] 'name' ]
        , [ [ @new_name = ] 'new_name' ]
        , [ [ @target = ] 'target' ]
        , [ [ @collection_mode = ] collection_mode ]
        , [ [ @days_until_expiration = ] days_until_expiration ]
        , [ [ @proxy_id = ] proxy_id ]
        , [ [ @proxy_name = ] 'proxy_name' ]
        ,[ [ @schedule_uid = ] 'schedule_uid' ]
        ,[ [ @schedule_name = ] 'schedule_uid' ]
        , [ [ @logging_level = ] logging_level ]
        , [ [ @description = ] 'description' ]

인수

  • [ @collection_set_id = ] collection_set_id
    컬렉션 집합의 고유한 로컬 식별자입니다. collection_set_id는 int이며 name이 NULL일 경우 값을 가져야 합니다.

  • [ @name = ] 'name'
    컬렉션 집합의 이름입니다. name은 sysname이며 collection_set_id가 NULL일 경우 값을 가져야 합니다..

  • [ @new_name = ] 'new_name'
    컬렉션 집합의 새 이름입니다. new_name은 sysname이며 사용될 경우 빈 문자열일 수 없습니다. new_name은 고유해야 합니다. 현재 컬렉션 집합 이름의 목록을 보려면 syscollector_collection_sets 시스템 뷰를 쿼리합니다.

  • [ @target = ] 'target'
    나중에 사용하도록 예약되었습니다.

  • [ @collection_mode = ] collection_mode
    사용할 데이터 컬렉션의 형식입니다. collection_mode는 smallint이며 다음 값 중 하나를 가질 수 있습니다.

    0 - 캐시된 모드. 데이터 컬렉션과 업로드가 별도의 일정에 속해 있습니다. 연속 컬렉션을 위해 캐시된 모드를 지정합니다.

    1 - 캐시되지 않은 모드. 데이터 컬렉션과 업로드가 같은 일정에 속해 있습니다. 임시 컬렉션이나 스냅숏 컬렉션을 위해 캐시되지 않은 모드를 지정합니다.

    캐시되지 않은 모드에서 캐시된 모드(0)로 변경하는 경우 schedule_uid 또는 schedule_name도 지정해야 합니다.

  • [ @days_until_expiration= ] days_until_expiration
    수집된 데이터가 관리 데이터 웨어하우스에 저장되는 일수입니다. days_until_expiration은 smallint입니다. days_until_expiration은 0 또는 양의 정수여야 합니다.

  • [ @proxy_id = ] proxy_id
    SQL Server 에이전트 프록시 계정의 고유 식별자입니다. proxy_id는 int입니다.

  • [ @proxy_name = ] 'proxy_name'
    프록시 이름입니다. proxy_name은 sysname이며 Null을 허용합니다.

  • [ @schedule_uid = ] 'schedule_uid'
    일정을 가리키는 GUID입니다. schedule_uid는 uniqueidentifier입니다.

    schedule_uid를 가져오려면 sysschedules 시스템 테이블을 쿼리합니다.

    collection_mode가 0으로 설정된 경우 schedule_uid 또는 schedule_name을 지정해야 합니다. collection_mode가 1로 설정된 경우 schedule_uid 또는 schedule_name을 지정하면 무시됩니다.

  • [ @schedule_name = ] 'schedule_name'
    일정 이름입니다. schedule_name은 sysname이며 Null을 허용합니다. 지정된 경우 schedule_uid는 NULL이어야 합니다. schedule_name을 확인하려면 sysschedules 시스템 테이블을 쿼리합니다.

  • [ @logging_level = ] logging_level
    로깅 수준입니다. logging_level은 smallint이며 다음 값 중 하나를 가질 수 있습니다.

    0 - 실행 정보 및 다음 항목을 추적하는 SSIS 이벤트 기록

    • 컬렉션 집합 시작/중지

    • 패키지 시작/중지

    • 오류 정보

    1 - 수준 0 로깅 및 다음 항목

    • 실행 통계

    • 지속적으로 실행되는 컬렉션 프로세스

    • SSIS의 경고 이벤트

    2 - 수준 1 로깅 및 SSIS의 세부 이벤트 정보

    logging_level의 기본값은 1입니다.

  • [ @description = ] 'description'
    컬렉션 집합에 대한 설명입니다. description은 nvarchar(4000)입니다.

반환 코드 값

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

주의

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

collection_set_id 또는 name에 값이 있어야 하며 둘 다 NULL일 수 없습니다. 이러한 값을 확인하려면 syscollector_collection_sets 시스템 뷰를 쿼리합니다.

컬렉션 집합이 실행 중인 경우에는 schedule_uid 및 description만 업데이트할 수 있습니다. 컬렉션 집합을 중지하려면 sp_syscollector_stop_collection_set를 사용합니다.

사용 권한

이 프로시저를 실행하려면 dc_admin 또는 dc_operator(EXECUTE 권한 있음) 고정 데이터베이스 역할의 멤버 자격이 필요합니다. dc_operator는 이 저장 프로시저를 실행할 수 있지만 이 역할의 멤버가 변경할 수 있는 속성은 제한적입니다. 다음 속성은 dc_admin만 변경할 수 있습니다.

  • @new_name

  • @target

  • @proxy_id

  • @description

  • @collection_mode

  • @days_until_expiration

1. 컬렉션 집합 이름 바꾸기

다음 예에서는 사용자 정의 컬렉션 집합의 이름을 바꿉니다.

USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 1',
@new_name = N'Collection set test 1 in cached mode';
GO

2. 컬렉션 모드를 캐시되지 않은 모드에서 캐시된 모드로 변경

다음 예에서는 컬렉션 모드를 캐시되지 않은 모드에서 캐시된 모드로 변경합니다. 이렇게 변경하려면 일정 ID 또는 일정 이름을 지정해야 합니다.

USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Collection set test 1 in cached mode',
@collection_mode = 0,
@schedule_uid = 'C7022AF3-51B8-4011-B159-64C47C88FF70';
-- alternatively, use @schedule_name.
-- @schedule_name = N'CollectorSchedule_Every_15min;
GO

3. 다른 컬렉션 집합 매개 변수 변경

다음 예에서는 "Simple collection set test 2"라는 컬렉션 집합의 다양한 속성을 업데이트합니다.

USE msdb;
GO
EXEC dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 1,
@days_until_expiration = 5,
@description = N'This is a test collection set that runs in noncached mode.',
@logging_level = 0;
GO