다음을 통해 공유


DDL 트리거 구현

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

이 항목에서는 DDL 트리거의 생성, 수정, 사용 중지 또는 삭제에 도움이 되는 정보를 다룹니다.

DDL 트리거 만들기

DDL 트리거는 DDL 트리거에 대한 Transact-SQL CREATE TRIGGER 문을 사용하여 만듭니다.

DDL 트리거를 만들려면

Important

이후 버전의 SQL Server에서는 트리거에서 결과 집합을 반환하는 기능이 제거됩니다. 결과 집합을 반환하는 트리거는 트리거가 작동하지 않는 애플리케이션에 예기치 않은 동작을 유발할 수도 있습니다. 향후 개발 작업에서는 트리거에서 결과 집합을 반환하지 않도록 하고 현재 이를 수행하는 애플리케이션을 수정하세요. SQL Server에서 트리거가 결과 집합을 반환하지 않도록 하려면 disallow results from triggers 옵션을 1로 설정합니다. 이 옵션의 기본 설정은 향후 버전의 SQL Server에서 1이 됩니다.

DDL 트리거 수정

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

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

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

트리거를 수정하려면

트리거의 종속성을 보려면

DDL 트리거 사용 중지 및 삭제

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

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

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

DDL 트리거를 사용 중지하려면

DDL 트리거를 사용하려면

DDL 트리거를 삭제하려면