다음을 통해 공유


sp_syscollector_update_collection_set(Transact-SQL)

적용 대상: SQL Server

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

Warning

프록시로 구성된 Windows 계정이 아직 로그인하지 않은 비대화형 또는 대화형 사용자인 경우 프로필 디렉터리가 존재하지 않으며 스테이징 디렉터리를 만들지 못합니다. 따라서 도메인 컨트롤러에서 프록시 계정을 사용하는 경우 프로필 디렉터리가 만들어졌는지 확인하기 위해 한 번 이상 사용된 대화형 계정을 지정해야 합니다.

Transact-SQL 구문 표기 규칙

구문

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

인수

[ @collection_set_id = ] collection_set_id

컬렉션 집합의 고유 로컬 식별자입니다. @collection_set_id int이며 @name 경우 값이 NULL있어야 합니다.

[ @name = ] N'name'

컬렉션 집합의 이름입니다. @name sysname이며 @collection_set_id 경우 값이 NULL있어야 합니다.

[ @new_name = ] N'new_name'

컬렉션 집합의 새 이름입니다. @new_name 기본값NULL인 sysname이며 사용되는 경우 빈 문자열이 될 수 없습니다. @new_name 고유해야 합니다. 현재 컬렉션 집합 이름 목록을 보려면 시스템 보기를 쿼리합니다 syscollector_collection_sets .

[ @target = ] N'target'

향후 사용을 위해 예약되어 있습니다. @target 기본값NULL인 nvarchar(128)입니다.

[ @collection_mode = ] collection_mode

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

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

  • 1: 캐시하지 않은 모드입니다. 데이터 수집 및 업로드는 동일한 일정에 있습니다. 임시 컬렉션 또는 스냅샷 컬렉션에 대해 캐시가 아닌 모드를 지정합니다.

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

[ @days_until_expiration = ] days_until_expiration

수집된 데이터가 관리 데이터 웨어하우스에 저장되는 일 수입니다. @days_until_expiration smallint이고 양수여야 0 합니다.

[ @proxy_id = ] proxy_id

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

[ @proxy_name = ] N'proxy_name'

프록시의 이름입니다. @proxy_name sysname이며 기본값은 .입니다NULL.

[ @schedule_uid = ] 'schedule_uid'

일정을 가리키는 GUID입니다. @schedule_uid 기본값NULLuniqueidentifier입니다.

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

@collection_mode 설정0되면 @schedule_uid 또는 @schedule_name 지정해야 합니다. @collection_mode 설정1되면 @schedule_uid 또는 @schedule_name 무시됩니다(지정된 경우).

[ @schedule_name = ] N'schedule_name'

일정의 이름입니다. @schedule_name sysname이며 기본값은 .입니다NULL. 지정한 경우 @schedule_uid .NULL @schedule_name 가져오려면 시스템 테이블을 쿼리합니다sysschedules.

[ @logging_level = ] logging_level

로깅 수준입니다. @logging_level 다음 값 중 하나를 사용하여 기본값1인 smallint입니다.

  • 0: 추적하는 로그 실행 정보 및 SSIS 이벤트:

    • 컬렉션 집합 시작/중지
    • 패키지 시작/중지
    • 오류 정보
  • 1: 수준 0 로깅 및:

    • 실행 통계
    • 컬렉션 진행률 연속 실행
    • SSIS의 경고 이벤트
  • 2: SSIS의 수준 1 로깅 및 자세한 이벤트 정보입니다.

[ @description = ] N'description'

컬렉션 집합에 대한 설명입니다. @description 기본값NULL인 nvarchar(4000)입니다.

반환 코드 값

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

설명

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

collection_set_id 또는 이름에 값이 있어야 합니다. 둘 다 될 수 없습니다NULL. 이러한 값을 가져오려면 시스템 뷰를 쿼리합니다 syscollector_collection_sets .

컬렉션 집합이 실행 중인 경우 schedule_uid설명만 업데이트할 수 있습니다. 컬렉션 집합을 중지하려면 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

예제

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

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

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

B. 컬렉션 모드를 캐시하지 않은 모드에서 캐시됨으로 변경

다음은 컬렉션 모드를 캐시가 아닌 모드에서 캐시된 모드로 변경하는 예제입니다. 이렇게 변경하려면 일정 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

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

다음 예제에서는 이름이 지정된 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