sp_syscollector_create_collection_set(Transact-SQL)

적용 대상:SQL Server

새 컬렉션 집합을 만듭니다. 이 저장 프로시저를 사용하여 데이터 수집에 대한 사용자 지정 컬렉션 집합을 만들 수 있습니다.

Warning

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

Transact-SQL 구문 표기 규칙

구문

sp_syscollector_create_collection_set
    [ @name = ] N'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 OUTPUT
    [ , [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
[ ; ]

인수

[ @name = ] N'name'

컬렉션 집합의 이름입니다. @name sysname이며 빈 문자열이나 NULL.

@name 고유해야 합니다. 현재 컬렉션 집합 이름 목록을 보려면 시스템 보기를 쿼리합니다 syscollector_collection_sets .

[ @target = ] N'target'

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

[ @collection_mode = ] collection_mode

@collection_mode 기본값0인 smallint입니다.

데이터를 수집하고 저장하는 방식을 지정합니다. @collection_mode 기본값0인 smallint이며 다음 값 중 하나를 가질 수 있습니다.

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

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

@collection_mode0경우 @schedule_uid 또는 @schedule_name 지정해야 합니다.

[ @days_until_expiration = ] days_until_expiration

수집된 데이터가 관리 데이터 웨어하우스에 저장되는 일 수입니다. @days_until_expiration 기본값 730 (2년)으로 smallint입니다. @days_until_expiration 정수이거나 양의 정수여야 0 합니다.

[ @proxy_id = ] proxy_id

SQL Server 에이전트 프록시 계정의 고유 식별자입니다. @proxy_id int이며 기본값은 .입니다NULL. 지정한 경우 @proxy_name 여야 NULL합니다. @proxy_id 가져오려면 시스템 테이블을 쿼리합니다sysproxies. dc_admin 고정 데이터베이스 역할에는 프록시에 액세스할 수 있는 권한이 있어야 합니다. 자세한 내용은 SQL Server 에이전트 프록시 만들기를 참조하세요.

[ @proxy_name = ] N'proxy_name'

프록시 계정의 이름입니다. @proxy_name sysname이며 기본값은 .입니다NULL. 지정한 경우 @proxy_id .NULL @proxy_name 가져오려면 시스템 테이블을 쿼리합니다sysproxies.

[ @schedule_uid = ] 'schedule_uid'

일정을 가리키는 GUID입니다. @schedule_uid 기본값NULLuniqueidentifier입니다. 지정한 경우 @schedule_name .NULL @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)입니다.

[ @collection_set_id = ] collection_set_id OUTPUT

컬렉션 집합의 고유 로컬 식별자입니다. @collection_set_id int 형식의 OUTPUT 매개 변수입니다.

[ @collection_set_uid = ] 'collection_set_uid' OUTPUT

컬렉션 집합의 GUID입니다. @collection_set_uid uniqueidentifier 형식의 OUTPUT 매개 변수입니다.

반환 코드 값

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

설명

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

사용 권한

이 절차를 실행하려면 dc_admin 멤버 자격(EXECUTE 권한 포함) 고정 데이터베이스 역할이 필요합니다.

예제

A. 기본값을 사용하여 컬렉션 집합 만들기

다음 예제에서는 필요한 매개 변수만 지정하여 컬렉션 집합을 만듭니다. @collection_mode 필수는 아니지만 기본 컬렉션 모드(캐시됨)에는 일정 ID 또는 일정 이름을 지정해야 합니다.

USE msdb;
GO

DECLARE @collection_set_id INT;

EXECUTE dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 1',
    @description = N'This is a test collection set that runs in non-cached mode.',
    @collection_mode = 1,
    @collection_set_id = @collection_set_id OUTPUT;
GO

B. 지정된 값을 사용하여 컬렉션 집합 만들기

다음 예제에서는 많은 매개 변수의 값을 지정하여 컬렉션 집합을 만듭니다.

USE msdb;
GO

DECLARE @collection_set_id INT;
DECLARE @collection_set_uid UNIQUEIDENTIFIER;

SET @collection_set_uid = NEWID();

EXEC dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 2',
    @collection_mode = 0,
    @days_until_expiration = 365,
    @description = N'This is a test collection set that runs in cached mode.',
    @logging_level = 2,
    @schedule_name = N'CollectorSchedule_Every_30min',
    @collection_set_id = @collection_set_id OUTPUT,
    @collection_set_uid = @collection_set_uid OUTPUT;
GO