2009-02-05 1 views
4

Это не сложно сделать. Я ожидаю, что Enterprise Manager покажет папку триггера, список и значок ... но я не вижу его нигде. Мои результаты google дают мне ответы, где я должен писать код. Ты шутишь, что ли? Единственный способ - написать код?Как вы можете узнать, включен ли триггер в SQL Server 2000

ответ

7
SELECT 
CASE OBJECTPROPERTY(OBJECT_ID('trigger name goes here'), 'ExecIsTriggerDisabled') 
WHEN 0 THEN 'ENABLED' 
ELSE 'DISABLED' 
END 
4

В Enterprise Manager, детализацию через базы данных -> и выберите таблицы

В области сведений щелкните правой кнопкой мыши на столе вопроса и выберите «Управление Триггеры» и вуаля! Вы должны быть в состоянии найти то, что ищете.

+0

Этот ответ на самом деле отвечает на заданный вопрос. В принятом ответе используется код. Я смущен... – csjohnst

4

Этот запрос возвращает все триггеры и их статус, а также таблицу, для которой предназначен триггер.

SELECT 
so1.name as TriggerName, 
CASE 
    OBJECTPROPERTY(OBJECT_ID(so1.name), 'ExecIsTriggerDisabled') 
    WHEN 0 THEN 'ENABLED' 
    ELSE 'DISABLED' 
END AS Status, 
so2.Name as TableName 
FROM 
SysObjects so1 
JOIN SysObjects so2 
    ON so2.Id = so1.Parent_obj 
WHERE 
so1.type = 'TR' 
Смежные вопросы