DDL 트리거 구현

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

이 항목에서는 DDL 트리거를 만들고, DDL 트리거를 수정하고, DDL 트리거를 사용하지 않도록 설정하거나 삭제하는 데 도움이 되는 정보를 제공합니다.

DDL 트리거 만들기

DDL 트리거는 DDL 트리거에 대해 Transact-SQL CREATE TRIGGER 문을 사용하여 생성됩니다.

DDL 트리거를 만들려면

Important

트리거에서 결과 집합을 반환하는 기능은 이후 버전의 SQL Server에서 제거됩니다. 결과 집합을 반환하는 트리거는 작업하도록 설계되지 않은 애플리케이션에서 예기치 않은 동작을 일으킬 수 있습니다. 새 개발 작업의 트리거에서 결과 집합을 반환하지 말고 현재 이 작업을 수행하는 애플리케이션을 수정할 계획입니다. 트리거가 SQL Server에서 결과 집합을 반환하지 않도록 하려면 트리거 옵션에서 허용되지 않는 결과를 1로 설정합니다. 이 옵션의 기본 설정은 이후 버전의 SQL Server에서 1이 됩니다.

DDL 트리거 수정

DDL 트리거의 정의를 수정해야 하는 경우 트리거를 삭제하고 다시 만들거나 단일 단계에서 기존 트리거를 다시 정의할 수 있습니다.

DDL 트리거에서 참조하는 개체의 이름을 변경하는 경우 해당 텍스트가 새 이름을 반영할 수 있도록 트리거를 수정해야 합니다. 따라서 개체 이름을 바꾸기 전에 먼저 개체의 종속성을 표시하여 트리거가 제안된 변경의 영향을 받는지 여부를 확인합니다.

해당 정의를 암호화하도록 트리거를 수정할 수도 있습니다.

트리거를 수정하려면

트리거의 종속성을 보려면

DDL 트리거 비활성화 및 삭제

DDL 트리거가 더 이상 필요하지 않은 경우 DDL 트리거를 사용하지 않도록 설정하거나 삭제할 수 있습니다.

DDL 트리거를 사용하지 않도록 설정해도 삭제되지 않습니다. 현재 데이터베이스의 개체로 남아 있습니다. 그러나 프로그래밍된 Transact-SQL 문이 실행되면 트리거가 실행되지 않습니다. 사용하지 않도록 설정된 DDL 트리거를 다시 사용할 수 있습니다. DDL 트리거를 사용하도록 설정하면 트리거가 원래 생성되었을 때와 동일한 방식으로 발생합니다. DDL 트리거가 만들어지면 기본적으로 사용하도록 설정됩니다.

DDL 트리거를 삭제하면 현재 데이터베이스에서 삭제됩니다. DDL 트리거의 범위가 지정된 개체 또는 데이터는 영향을 받지 않습니다.

DDL 트리거를 사용하지 않도록 설정하려면

DDL 트리거를 사용하도록 설정하려면

DDL 트리거를 삭제하려면