http://technet.microsoft.com/ko-kr/library/ms189748.aspx
주의
예
DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
주의트리거는 기본적으로 만들 때 활성화됩니다. 트리거를 비활성화하면 트리거는 삭제되지 않고 현재 데이터베이스에 개체로 남아 있습니다. 그러나 해당 트리거가 프로그래밍된 Transact-SQL 문을 실행하는 경우에도 트리거는 실행되지 않습니다. ENABLE TRIGGER를 사용하여 트리거를 다시 활성화할 수 있습니다. 테이블에 정의된 DML 트리거는 ALTER TABLE을 사용하여 비활성화되거나 활성화될 수도 있습니다.
예1. 테이블에 대한 DML 트리거 비활성화
다음 예에서는 Address 테이블에 만들어진 uAddress 트리거를 비활성화합니다.
SQL
USE AdventureWorks2008R2; GO DISABLE TRIGGER Person.uAddress ON Person.Address; GO
2. DDL 트리거 비활성화
다음 예에서는 데이터베이스 범위에서 DDL 트리거 safety를 만든 후 비활성화합니다.
SQL
IF EXISTS (SELECT * FROM sys.triggers
WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety ON DATABASE;
GO
CREATE TRIGGER safety
ON DATABASE
FOR DROP_TABLE, ALTER_TABLE
AS
PRINT 'You must disable Trigger "safety" to drop or alter tables!'
ROLLBACK;
GO
DISABLE TRIGGER safety ON DATABASE;
GO
3. 같은 범위에서 정의된 모든 트리거 비활성화
다음 예에서는 서버 범위에서 만든 모든 DDL 트리거를 비활성화합니다.
SQL
USE AdventureWorks2008R2; GO DISABLE Trigger ALL ON ALL SERVER; GO
728x90
반응형
'DataBase > SQL Server' 카테고리의 다른 글
| 문자열 채우기 (0) | 2011.12.06 |
|---|---|
| SQL Server 2008 Service Pack 3 가 나왔네요. (0) | 2011.11.09 |
| SQL Server 2008에서 로그 파일 자르기 (0) | 2011.09.20 |
| RAISERROR 예제 및 .NET에서 사용하기 (0) | 2011.09.01 |
| TRY ~ CATCH (0) | 2011.05.26 |
주의