sp_syscollector_update_collection_set(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