Desactivar todos los disparadores, ¿cómo?

07/06/2004 - 12:36 por JMT | Informe spam
Hola amigos,

Quiero actualizar mi nueva BB.DD. en SQL con datos de la antigua BB.DD. en
Access, pero se me plantea el problema de los triggers, ¿hay alguna forma de
desactivar todos los triggers de de la BB.DD. o algún script que lo haga,
sin tener que hacerlo tabla por tabla?, luego quiero actualizar los datos y
después quiero volver a activar todos los triggers, ¿se puede?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Tinoco
07/06/2004 - 15:22 | Informe spam
Hola.

No se si exista una forma más facil de hacerlo pero una
forma puede ser, generar un script utilizando la tabla
sysobjects para extraer los nombres de los triggers y asi
poder activarlos y desactivarlos sin mucho trabajo.

Algo como esto:
Select 'ALTER TABLE ' + tobjects.name + ' ENABLE TRIGGER '
+ name
From Sysobjects
Inner join Sysobjects tobjects on parent_obj = id

Hermilson T.
Colombia

Hola amigos,

Quiero actualizar mi nueva BB.DD. en SQL con datos de la


antigua BB.DD. en
Access, pero se me plantea el problema de los triggers,


¿hay alguna forma de
desactivar todos los triggers de de la BB.DD. o algún


script que lo haga,
sin tener que hacerlo tabla por tabla?, luego quiero


actualizar los datos y
después quiero volver a activar todos los triggers, ¿se


puede?

Muchas gracias.
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP SQL]
07/06/2004 - 16:49 | Informe spam
Si no recuerdo mal, usando ENABLE (o DISABLE) TRIGGER ALL se
habilitan/deshabilitan todos los triggers de la misma tabla. En este caso
bastaría con aplicar el ALTER TABLE a cada tabla sin necesidad de obtener el
nombre de cada trigger.

saludos
gux

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Tinoco" wrote in message
news:192d601c44c92$6a1e3fc0$
Hola.

No se si exista una forma más facil de hacerlo pero una
forma puede ser, generar un script utilizando la tabla
sysobjects para extraer los nombres de los triggers y asi
poder activarlos y desactivarlos sin mucho trabajo.

Algo como esto:
Select 'ALTER TABLE ' + tobjects.name + ' ENABLE TRIGGER '
+ name
From Sysobjects
Inner join Sysobjects tobjects on parent_obj = id

Hermilson T.
Colombia

Hola amigos,

Quiero actualizar mi nueva BB.DD. en SQL con datos de la


antigua BB.DD. en
Access, pero se me plantea el problema de los triggers,


¿hay alguna forma de
desactivar todos los triggers de de la BB.DD. o algún


script que lo haga,
sin tener que hacerlo tabla por tabla?, luego quiero


actualizar los datos y
después quiero volver a activar todos los triggers, ¿se


puede?

Muchas gracias.
Respuesta Responder a este mensaje
#3 Maxi
07/06/2004 - 17:18 | Informe spam
Es correcto lo que dices Gux :-), se pueden habilitar / inhabilitar los TR
de toda una tabla o solo algunos particulares de la misma

Suerte


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Gustavo Larriera [MVP SQL]" escribió en el
mensaje news:
Si no recuerdo mal, usando ENABLE (o DISABLE) TRIGGER ALL se
habilitan/deshabilitan todos los triggers de la misma tabla. En este caso
bastaría con aplicar el ALTER TABLE a cada tabla sin necesidad de obtener


el
nombre de cada trigger.

saludos
gux

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Tinoco" wrote in message
news:192d601c44c92$6a1e3fc0$
Hola.

No se si exista una forma más facil de hacerlo pero una
forma puede ser, generar un script utilizando la tabla
sysobjects para extraer los nombres de los triggers y asi
poder activarlos y desactivarlos sin mucho trabajo.

Algo como esto:
Select 'ALTER TABLE ' + tobjects.name + ' ENABLE TRIGGER '
+ name
From Sysobjects
Inner join Sysobjects tobjects on parent_obj = id

Hermilson T.
Colombia

>Hola amigos,
>
>Quiero actualizar mi nueva BB.DD. en SQL con datos de la
antigua BB.DD. en
>Access, pero se me plantea el problema de los triggers,
¿hay alguna forma de
>desactivar todos los triggers de de la BB.DD. o algún
script que lo haga,
>sin tener que hacerlo tabla por tabla?, luego quiero
actualizar los datos y
>después quiero volver a activar todos los triggers, ¿se
puede?
>
>Muchas gracias.







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 02/06/2004
Respuesta Responder a este mensaje
#4 Javier Loria
07/06/2004 - 17:48 | Informe spam
Hola:
La forma mas facil me parece es:
SP_MSFOREACHTABLE 'ALTER TABLE ? DISABLE TRIGGER ALL'

SP_MSFOREACHTABLE 'ALTER TABLE ? ENABLE TRIGGER ALL'
Esto seria unicamente sobre los triggers sobre tablas y no afecta los
triggers de vistas.
Asegurate de correrlo en la BD que requieres y que nadie mas este usandola
durante la importacion.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

JMT escribio:
Hola amigos,

Quiero actualizar mi nueva BB.DD. en SQL con datos de la antigua
BB.DD. en Access, pero se me plantea el problema de los triggers,
¿hay alguna forma de desactivar todos los triggers de de la BB.DD. o
algún script que lo haga, sin tener que hacerlo tabla por tabla?,
luego quiero actualizar los datos y después quiero volver a activar
todos los triggers, ¿se puede?

Muchas gracias.
Respuesta Responder a este mensaje
#5 JMT
08/06/2004 - 09:21 | Informe spam
Muchas gracias por vuestras respuestas
Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida