다음을 통해 공유


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_mode 0경우 @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