CLR 트리거 만들기Create CLR Triggers

SQL ServerSQL Server 에서 MicrosoftMicrosoft .NET Framework.NET Framework CLR(공용 언어 런타임)에 만들어진 어셈블리에 프로그래밍된 데이터베이스 개체를 만들 수 있습니다.You can create a database object inside SQL ServerSQL Server that is programmed in an assembly created in the MicrosoftMicrosoft .NET Framework.NET Framework common language runtime (CLR). CLR에서 제공하는 다양한 기능의 프로그래밍 모델을 활용할 수 있는 데이터베이스 개체에는 DML 트리거, DDL 트리거, 저장 프로시저, 함수, 집계 함수 및 유형이 있습니다.Database objects that can leverage the rich programming model provided by the CLR include DML triggers, DDL triggers, stored procedures, functions, aggregate functions, and types.

SQL ServerSQL Server 에서 CLR 트리거(DML 또는 DDL)를 만드는 단계는 다음과 같습니다.Creating a CLR trigger (DML or DDL) in SQL ServerSQL Server involves the following steps:

  • .NET Framework 지원 언어로 트리거를 클래스로 정의합니다.Define the trigger as a class in a .NET Framework-supported language. CLR에서 트리거를 프로그래밍하는 방법은 CLR 트리거를 참조하세요.For more information about how to program triggers in the CLR, see CLR Triggers. 그런 다음 적절한 언어 컴파일러를 사용하여 .NET Framework.NET Framework 에서 어셈블리를 빌드하기 위한 클래스를 컴파일합니다.Then, compile the class to build an assembly in the .NET Framework.NET Framework using the appropriate language compiler.

  • CREATE ASSEMBLY 문을 사용하여 SQL ServerSQL Server에 어셈블리를 등록합니다.Register the assembly in SQL ServerSQL Server using the CREATE ASSEMBLY statement. SQL ServerSQL Server의 어셈블리에 대한 자세한 내용은 [어셈블리(데이터베이스 엔진)](../../relational-databases/clr-integration/assemblies-database-engine.md)를 참조하세요.For more information about assemblies in SQL ServerSQL Server, see Assemblies (Database Engine).

  • 등록된 어셈블리를 참조하는 트리거를 만듭니다.Create the trigger that references the registered assembly.

참고

MicrosoftMicrosoft Visual StudioVisual Studio 에서 SQL Server 프로젝트를 배포하면 해당 프로젝트에 대해 지정된 데이터베이스에 어셈블리가 등록됩니다.Deploying a SQL Server Project in MicrosoftMicrosoft Visual StudioVisual Studio registers an assembly in the database that was specified for the project. 또한 프로젝트를 배포하면 모든 메서드에 대해 SqlTrigger 특성으로 주석 지정으로 지정하기 위해 데이터베이스에 CLR 트리거를 만듭니다.Deploying the project also creates CLR triggers in the database for all methods annotated with the SqlTrigger attribute. 자세한 내용은 Deploying CLR Database Objects을(를) 참조하세요.For more information, see Deploying CLR Database Objects.

참고

SQL ServerSQL Server 의 CLR 코드 실행 기능은 기본적으로 해제되어 있습니다.The ability of SQL ServerSQL Server to execute CLR code is off by default. 관리 코드 모듈을 참조하는 데이터베이스 개체를 만들고 변경하고 삭제할 수 있지만 SQL ServerSQL Server sp_configure(Transact-SQL) 을 사용하여 clr enabled 옵션 을 설정하지 않는 한 이러한 참조는에서 실행되지 않습니다.You can create, alter, and drop database objects that reference managed code modules, but these references will not execute in SQL ServerSQL Server unless the clr enabled Option is enabled using sp_configure (Transact-SQL).

어셈블리를 생성, 수정 또는 삭제하려면To create, modify, or drop an assembly

참고 항목See Also

DML 트리거 DML Triggers
CLR(공용 언어 런타임) 통합 프로그래밍 개요 Common Language Runtime (CLR) Integration Programming Concepts
CLR 데이터베이스 개체에서 데이터 액세스 Data Access from CLR Database Objects