데이터 계층 애플리케이션 테이블 - sysdac_history_internal

적용 대상:SQL Server

DAC(데이터 계층 애플리케이션)를 관리하기 위해 수행된 작업에 대한 정보를 포함합니다. 이 테이블은 msdb 데이터베이스의 dbo 스키마에 저장 됩니다.

열 이름 데이터 형식 설명
action_id int 동작의 식별자입니다.
sequence_id int 작업 내의 단계를 식별합니다.
instance_id uniqueidentifier DAC 인스턴스의 식별자입니다. 이 열은 dbo.sysdac_instances(Transact-SQL)instance_id 열에 조인할 수 있습니다.
action_type tinyint 작업 형식의 식별자:

0 = 배포

1 = create

2 = 이름 바꾸기

3 = 분리

4 = 삭제
action_type_name varchar(19) 동작 유형의 이름입니다.

배포

create

rename

분리

delete
dac_object_type tinyint 작업의 영향을 받는 개체 형식의 식별자:

0 = dacpac

1 = 로그인

2 = 데이터베이스
dac_object_type_name varchar(8) 작업의 영향을 받는 개체 형식의 이름입니다.

dacpac = DAC 인스턴스

로그인

database
action_status tinyint 작업의 현재 상태를 식별하는 코드:

0 = 보류 중

1 = 성공

2 = 실패
action_status_name varchar(11) 동작의 현재 상태입니다.

보류 중

성공

fail
Required bit DAC 작업을 롤백할 때 데이터베이스 엔진에서 사용됩니다.
dac_object_name_pretran sysname 작업이 포함된 트랜잭션이 커밋되기 전의 개체 이름입니다. 데이터베이스 및 로그인에만 사용됩니다.
dac_object_name_posttran sysname 작업이 포함된 트랜잭션이 커밋된 후의 개체 이름입니다. 데이터베이스 및 로그인에만 사용됩니다.
sqlscript nvarchar(max) 데이터베이스 또는 로그인에 대한 작업을 구현하는 Transact-SQL 스크립트입니다.
페이로드 varbinary(max) 이진 인코딩된 문자열에 저장된 DAC 패키지 정의입니다.
주석 varchar(max) DAC 업그레이드에서 잠재적인 데이터 손실을 수락한 사용자의 로그인을 기록합니다.
error_string nvarchar(max) 작업에 오류가 발생할 경우 생성되는 오류 메시지입니다.
created_by sysname 이 항목을 만든 동작을 시작한 로그인입니다.
date_created datetime 이 항목을 만든 날짜와 시간입니다.
date_modified datetime 항목이 마지막으로 수정된 날짜 및 시간입니다.

설명

DAC 배포 또는 삭제와 같은 DAC 관리 동작은 여러 단계를 생성합니다. 각 작업에는 작업 식별자가 할당됩니다. 각 단계에는 시퀀스 번호와 sysdac_history_internal이 할당됩니다. 여기서 단계의 상태가 기록됩니다. 각 행은 동작 단계가 시작될 때 만들어지고 작업 상태를 반영하기 위해 필요에 따라 업데이트됩니다. 예를 들어 배포 DAC 작업은 action_id 12에 할당되고 sysdac_history_internal 4개의 행을 가져올 수 있습니다.

action_id sequence_id action_type_name dac_object_type_name
12 0 create dacpac
12 6 create 로그인
12 2 create database
12 3 rename database

삭제와 같은 DAC 작업은 sysdac_history_internal 행을 제거하지 않습니다. 다음 쿼리를 사용하여 데이터베이스 엔진 인스턴스에 더 이상 배포되지 않은 DAC에 대한 행을 수동으로 삭제할 수 있습니다.

DELETE FROM msdb.dbo.sysdac_history_internal  
WHERE instance_id NOT IN  
   (SELECT instance_id  
    FROM msdb.dbo.sysdac_instances_internal);  

활성 DAC에 대한 행을 삭제해도 DAC 작업에는 영향을 주지 않습니다. 유일한 영향은 DAC에 대한 전체 기록을 보고할 수 없다는 것입니다.

참고 항목

현재 Azure SQL Database에서 sysdac_history_internal 행을 삭제하는 메커니즘은 없습니다.

사용 권한

sysadmin 고정 서버 역할의 멤버 자격이 필요합니다. 이 보기에 대한 읽기 전용 액세스는 master 데이터베이스에 연결할 수 있는 권한이 있는 모든 사용자가 사용할 수 있습니다.

참고 항목

데이터 계층 애플리케이션
dbo.sysdac_instances(Transact-SQL)
sysdac_instances_internal(Transact-SQL)