Javier,
Puedes usar el siguiente script, pero quisiera saber por que quieres hacer
esto?. Pudieras desabilitar todos los triggers en todas las tablas para
revisar cualquier error, y una vez solucionado podrias abilitarlos de nuevo.
Ejemplo (desabilitar - abilitar):
declare @tn sysname
declare @sql nvarchar(4000)
declare tr_cursor cursor
local
fast_forward
for
select distinct
object_name(o.parent_obj)
from
sysobjects o
where
objectproperty(o.[id], 'IsTrigger') = 1
AND objectproperty(o.[id], 'IsMSShipped') = 0
open tr_cursor
while 1 = 1
begin
fetch next from tr_cursor into @tn
if @@error <> 0 or @@fetch_status <> 0 break
set @sql = N'alter table ' + quotename(@tn) + N' disable trigger all'
raiserror('%s', 10, 1, @sql) with nowait
execute sp_executesql @sql
end
close tr_cursor
deallocate tr_cursor
go
declare @tn sysname
declare @sql nvarchar(4000)
declare tr_cursor cursor
local
fast_forward
for
select distinct
object_name(o.parent_obj)
from
sysobjects o
where
objectproperty(o.[id], 'IsTrigger') = 1
AND objectproperty(o.[id], 'IsMSShipped') = 0
open tr_cursor
while 1 = 1
begin
fetch next from tr_cursor into @tn
if @@error <> 0 or @@fetch_status <> 0 break
set @sql = N'alter table ' + quotename(@tn) + N' enable trigger all'
raiserror('%s', 10, 1, @sql) with nowait
execute sp_executesql @sql
end
close tr_cursor
deallocate tr_cursor
go
Ejemplo (eliminar):
declare @trn sysname
declare @sql nvarchar(4000)
declare tr_cursor cursor
local
fast_forward
for
select
o.[name]
from
sysobjects o
where
objectproperty(o.[id], 'IsTrigger') = 1
AND objectproperty(o.[id], 'IsMSShipped') = 0
open tr_cursor
while 1 = 1
begin
fetch next from tr_cursor into @trn
if @@error <> 0 or @@fetch_status <> 0 break
set @sql = N'drop trigger ' + @trn
raiserror('%s', 10, 1, @sql) with nowait
execute sp_executesql @sql
end
close tr_cursor
deallocate tr_cursor
go
AMB
Post by Javier Perez <""highsoft\"@">Hola, tengo un grave problema
Alguien sabe como borrar todos los trigger de las tablas?
Gracias
Javier Perez