Trigger

    [MSSQL] 트리거(Trigger) 란?

    트리거(Trigger)란? SQL Server 에서 트리거(Trigger)는 특정 이벤트가 발생했을대 다른 이벤트를 자동으로 처리하도록 하기 위해 실행되는 저장프로시저 “자동으로 실행되도록 정의된 특수한 저장 프로시저” 트리거 종류 DML Trigger DDL Trigger LOGON Trigger 트리거 인수 [FOR|AFTER] - DML 트리거를 지정한 모든 작업이 성공적으로 실행되었을 때 실행도록 지정 [INSTEAD OF ] - 트리거를 시작하는 SQL문 대신 DML 트리거가 실행되도록 지정 - DDL 또는 LOGON 트리거에 대해서는 INSTEAD OF를 지정할 수 없다. 트리거 사용 이유 업무규칙 보장 : Business Rule을 서버계층에서 처리 할수 있음 업무 처리 자동화 : 구현된 규..

    [MSSQL] 프로시저 이력 관리 DB 생성 및 트리거(Trigger) 셋팅

    [MSSQL] 프로시저 이력 관리 DB 생성 및 트리거(Trigger) 셋팅

    프로젝트 진행을 하거나 유지보수 중 다수의 개발자들이 있을 경우 개발자들이 프로시저를 임의로 몰래 수정하여 문제가 생기는 경우가 있다. "누가 프로시저 수정한 거 같은데 확인할 수 있나요?" 프로시저 히스토리를 남기기 위해 위에서 언급한 트리거를 통해 작업을 하려 한다 트리거를 사용하는 것은 시스템에 오버헤드를 유발하기도 하지만 상황에 따라 필요한 정보를 남겨야 하는 경우 매우 유용하므로 적용해보기로..!! 트리거를 사용하여 프로시저에 변화가 감지되었을 때 특정 테이블에 저장하는 쿼리 -- 프로시저 트리거 생성 CREATE TRIGGER [ProcedureHis] ON ALL SERVER -- 프로시저 생성, 수정, 삭제 FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PR..

    [MSSQL] 트리거(Trigger) 잘못 설정하여 로그인 되지 않을 때

    [MSSQL] 트리거(Trigger) 잘못 설정하여 로그인 되지 않을 때

    ISMS 대응 으로 LogOn Trigger를 사용했는데 를 잘못된 설정으로 로그인이 되지 않은 경우가 있었다. sysadmin 계정, 윈도우 계정 등 모든 계정으로 시도 해도 SQL SERVER 접근이 되지 않았다. 내 마음의 사직서를 꺼내야 하는순간이다.. 지금 생각해도 아찔하다.. 다행히 해결 방안을 찾았지만 트리거 사용은 나는 여전히 조심스럽다.. 해결 방안 command 창을 실행 (윈도우+R) sqlcmd로 sql server에 로그인 트리거 삭제 go 입력 sqlcmd - S localhost -d master -A DROP TRIGGER TriggerName ON ALL SERVER GO