다음을 통해 공유


core.sp_create_snapshot(Transact-SQL)

관리 데이터 웨어하우스 core.snapshots 뷰에 행을 삽입합니다. 이 프로시저는 업로드 패키지가 관리 데이터 웨어하우스로 데이터를 업로드하기 시작할 때마다 호출됩니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

core.sp_create_snapshot [ @collection_set_uid = ] 'collection_set_uid'
        , [ @collector_type_uid = ] 'collector_type_uid'
        ,[ @machine_name = ] 'machine_name'
        , [ @named_instance = ] 'named_instance'
        , [ @log_id = ] log_id
        , [ @snapshot_id = ] snapshot_id OUTPUT

인수

  • [ @collection_set_uid = ] 'collection_set_uid'
    컬렉션 집합의 GUID입니다. collection_set_uid는 uniqueidentifier이며 기본값은 없습니다. GUID를 확인하려면 msdb 데이터베이스에서 dbo.syscollector_collection_sets 뷰를 쿼리합니다.

  • [ @collector_type_uid = ] 'collector_type_uid'
    수집기 유형의 GUID입니다. collector_type_uid는 uniqueidentifier이며 기본값은 없습니다. GUID를 확인하려면 msdb 데이터베이스에서 dbo.syscollector_collector_types 뷰를 쿼리합니다.

  • [ @machine_name = ] 'machine_name'
    컬렉션 집합이 있는 서버의 이름입니다. machine_name은 sysname이며 기본값은 없습니다.

  • [ @named_instance = ] 'named_instance'
    컬렉션 집합의 인스턴스 이름입니다. named_instance은 sysname이며 기본값은 없습니다.

  • [ @log_id = ] log_id
    데이터를 수집한 서버의 컬렉션 집합 이벤트 로그에 매핑되는 고유 식별자입니다. log_id는 bigint이며 기본값은 없습니다. log_id의 값을 확인하려면 msdb 데이터베이스에서 dbo.syscollector_execution_log 뷰를 쿼리합니다.

  • [ @snapshot_id = ] snapshot_id
    core.snapshots 뷰에 삽입된 행에 대한 고유 식별자입니다. snapshot_id는 int이며 OUTPUT으로 반환됩니다.

반환 코드 값

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

주의

업로드 패키지가 관리 데이터 웨어하우스로 데이터를 업로드하기 시작할 때마다 데이터 수집기 런타임 구성 요소는 core.sp_create_snapshot을 호출합니다.

이 프로시저는 다음을 확인합니다.

  • collection_set_uid가 core.source_info_internal 테이블의 기존 항목과 일치

  • collector_type_uid가 core.supported_collector_types 뷰의 기존 항목과 일치

위 확인 중 하나라도 실패할 경우 프로시저가 실패하고 오류를 반환합니다.

사용 권한

mdw_writer(EXECUTE 권한 있음) 고정 데이터베이스 역할의 멤버여야 합니다.

다음 예에서는 디스크 사용 컬렉션 집합의 스냅숏을 만들어 관리 데이터 웨어하우스에 추가한 다음 스냅숏 식별자를 반환합니다. 이 예에서는 기본 인스턴스가 사용됩니다.

USE <management_data_warehouse>;
DECLARE @snapshot_id int;
EXEC core.sp_create_snapshot 
    @collection_set_uid = '7B191952-8ECF-4E12-AEB2-EF646EF79FEF', 
    @collector_type_uid = '302E93D1-3424-4BE7-AA8E-84813ECF2419',
    @machine_name = '<computername>',
    @named_instance = 'MSSQLSERVER',
    @log_id = 11, -- ID of the log for the collection set
    @snapshot_id = @snapshot_id OUTPUT;