Как узнать, включен ли триггер в SQL Server 2000? - PullRequest
4 голосов
/ 06 февраля 2009

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

Ответы [ 3 ]

8 голосов
/ 06 февраля 2009
SELECT
CASE OBJECTPROPERTY(OBJECT_ID('trigger name goes here'), 'ExecIsTriggerDisabled')
WHEN 0 THEN 'ENABLED'
ELSE 'DISABLED'
END
5 голосов
/ 26 мая 2010

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

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'
4 голосов
/ 06 февраля 2009

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

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

...