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