core.sp_create_스냅샷(Transact-SQL)

적용 대상:SQL Server

관리 데이터 웨어하우스 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를 가져오려면 데이터베이스에서 dbo.syscollector_collection_sets 보기를 쿼리합니다 msdb .

[ @collector_type_uid = ] 'collector_type_uid'

수집기 형식의 GUID입니다. @collector_type_uid 기본값이 없는 uniqueidentifier입니다. GUID를 가져오려면 데이터베이스의 dbo.syscollector_collector_types 뷰를 쿼리합니다 msdb .

[ @machine_name = ] 'machine_name'

컬렉션 집합이 있는 서버의 이름입니다. @machine_name 기본값이 없는 sysname입니다.

[ @named_instance = ] 'named_instance'

컬렉션 집합에 대한 인스턴스의 이름입니다. @named_instance 기본값이 없는 sysname입니다.

[ @log_id = ] log_id

데이터를 수집한 서버의 컬렉션 집합 이벤트 로그에 매핑되는 고유 식별자입니다. @log_id 기본값이 없는 bigint입니다. log_id 값을 가져오려면 데이터베이스의 dbo.syscollector_execution_log 뷰를 쿼리합니다msdb.

[ @snapshot_id = ] 스냅샷_id

뷰에 삽입되는 core.snapshots 행의 고유 식별자입니다. @스냅샷_idint이며 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;