Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
Добрый день
вопрос такой:
Winserv2008R2
SQL2008 64

создал триггер

use MyBase
go
CREATE TRIGGER TrTest
on dbo.TriggerTestData
	after insert 
as
insert into dbo.TriggerTestSel
  values (1, 2)
GO


он работает, но я его не могу найти через server management studio

при повторном создании естесственно грит что такой уже есть :(
подскажите плз где можно его найти чтобы подправить?
13 сен 13, 06:10    [14834281]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
chester1310,

сделайте рефрэшь таблицы в Object Explorer
13 сен 13, 06:19    [14834287]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
Ruuu,

делал, и студию перезапускал, только что сервер не ребутил..
нигде не видно
13 сен 13, 06:40    [14834298]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
andy st
Member

Откуда:
Сообщений: 838
chester1310,
в SSMS -> таблица -> триггеры -> обновить
на крайняк - ALTER TRIGGER TrTest...
в самом тяжелом случае - пересобрать сервер на новом железе, переустановить софт, перенаписать базу
--
и с праздником!
13 сен 13, 06:49    [14834309]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
chester1310
нигде не видно
Нигде это где?
Триггеры в ssms можно посмотреть вроде только в папке Триггеры в таблице.
13 сен 13, 06:50    [14834311]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
Ruuu,

перерыл все базы, и мою, и системные
все папки Триггеры пусты...
прошелся и по таблицам системным, прошелся по всем папкам где предположительно может лежать.. тишина :(

в принципе конечно можно его убить и создать заново, но уже интересно, где же он спрятался??
13 сен 13, 07:00    [14834316]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
chester1310,
Этот запрос должен вернуть вам в какой таблице какой БД находится ваш триггер, если он есть на сервере
--------------------------------------------------------------------------------------
--вывести все объекты из всех баз данных, которые ссылаются на таблицу с указанным именем
--------------------------------------------------------------------------------------
DECLARE @object_name SYSNAME = N'TrTest'; -- Object Name (Table, Procedure, Trigger etc)

CREATE TABLE #d
(   db SYSNAME, [object_id] INT, sch SYSNAME, obj SYSNAME, ref_db NVARCHAR(128),
    ref_sch NVARCHAR(128), ref_obj NVARCHAR(128), ref_object_id INT, type_desc SYSNAME);

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += 'SELECT ''' + QUOTENAME(name) + ''',
    d.referencing_id, QUOTENAME(s.name)  COLLATE DATABASE_DEFAULT, QUOTENAME(o.name)  COLLATE DATABASE_DEFAULT, 
    QUOTENAME(d.referenced_database_name)  COLLATE DATABASE_DEFAULT,
    QUOTENAME(d.referenced_schema_name)  COLLATE DATABASE_DEFAULT, QUOTENAME(d.referenced_entity_name)  COLLATE DATABASE_DEFAULT, d.referenced_id, o.type_desc
FROM ' + QUOTENAME(name) 
    + '.sys.sql_expression_dependencies AS d
INNER JOIN ' + QUOTENAME(name) 
    + '.sys.objects AS o
    ON d.referencing_id = o.[object_id]
INNER JOIN ' 
    + QUOTENAME(name) + '.sys.schemas AS s
    ON o.[schema_id] = s.[schema_id]
WHERE d.referenced_entity_name LIKE ''' + @object_name + '''
UNION ALL
'
FROM sys.databases /*WHERE database_id BETWEEN 5 AND 32766*/;

SET @sql = LEFT(@sql, LEN(@sql)-11);

INSERT #d EXEC sp_executesql @sql;

SELECT db+'.'+sch+'.'+obj  _from,' (' + type_desc + ') references => ',  COALESCE(ref_db, db)+'.'+ref_sch+'.'+ref_obj
FROM #d
ORDER BY _from;

DROP TABLE #d;
13 сен 13, 07:18    [14834326]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
aleks2
Guest
chester1310
Ruuu,

делал, и студию перезапускал, только что сервер не ребутил..
нигде не видно


А нафега его "видеть"?
13 сен 13, 07:23    [14834327]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
Ruuu,

итог пустая таблица

наверное смысла нет его искать, грохну его и все...
буду настраивать созданием и убиванием неправильных :)

спасибо
13 сен 13, 07:51    [14834347]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
aleks2,

чтобы его подправить...
13 сен 13, 07:52    [14834348]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
aleks2
Guest
chester1310
aleks2,

чтобы его подправить...

А что
ALTER TRIGGER TrTest ...

религиозные убеждения мешают использовать?
13 сен 13, 08:24    [14834395]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
SQL Refactor Studio Team
Member

Откуда:
Сообщений: 84
Попробуй эту утилиту http://sqlrefactorstudio.com, там есть поиск по тексту, может чего найдет :)
Картинка с другого сайта.
13 сен 13, 08:50    [14834460]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
aleks2,

да нет,
я пробовал альтером и удалением, помогают оба варианта :)
просто хотелось все таки его найти....
13 сен 13, 12:35    [14836067]     Ответить | Цитировать Сообщить модератору
 Re: потерялся триггер  [new]
chester1310
Member

Откуда: Кемеровская область
Сообщений: 61
SQL Refactor Studio Team,

спасибо, обошлись встроенными средствами
13 сен 13, 12:36    [14836075]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить