Trigger sobre sysusers

04/11/2003 - 01:00 por Franci | Informe spam
hola grupo,

quiero realizar unas acciones cuando se inserta/modifica/borra un
usuario en la base de datos, pero ya he comprobado que no pueden realizarse
triggers sobre una tabla del sistema. Lo que quiero es coger el uid del
usuario y el nombre, por ejemplo al insertar, he introducirlo en otra tabla.

´¿cómo puedo hacer esto? ¿hay algo equivalente a los triggers que me
permita realizar operaciones sobre las tablas de sistema?

Gracias de antemano

Saludos
________
Franci

Preguntas similare

Leer las respuestas

#1 Javier Loria
04/11/2003 - 03:42 | Informe spam
Hola:
Como ya lo descubriste, no se pueden hacer triggers sobre tablas de
sistema.
a) Una alternativa seria hacer un Job que revise con cierta frecuencia
la tabla de sysusers e inserte/borre/actualize los usuarios en tu BD. Esta
es "facil" de construir, pero no es en "tiempo real", si alguien crea un
usuario no va a ser visto por la aplicacion hasta que se corra el proceso de
"sincronizacion". El problema mas serio sin embargo es que creas una
dependencia de tu aplicacion y las tablas de sistema de SQL 2000, y es
posible que la proxima version se cambien dichas tablas.
b) Crear un Procedimiento Almacenado que cree los usuarios en la Base
de Datos (usando sp_grantdbaccess) e ingresando en tu tabla los datos que
requieres. Esto exige que este sea el unico mecanismo de creacion de
usuarios.
Ninguna de las 2 arquitecturas es muy solida y es facil "descomponerla".
Si lo que estas haciendo es definir un esquema de seguridad para la
aplicacion, podrias revisar si te sirve una arquitectura basada en "Roles"
que estan traducidos en los BOL como "Funciones de Base de Datos" (Premio a
la peor traduccion).

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.



Franci escribio:
hola grupo,

quiero realizar unas acciones cuando se inserta/modifica/borra un
usuario en la base de datos, pero ya he comprobado que no pueden
realizarse triggers sobre una tabla del sistema. Lo que quiero es
coger el uid del usuario y el nombre, por ejemplo al insertar, he
introducirlo en otra tabla.

´¿cómo puedo hacer esto? ¿hay algo equivalente a los triggers
que me permita realizar operaciones sobre las tablas de sistema?

Gracias de antemano

Saludos
________
Franci
Respuesta Responder a este mensaje
#2 Fernando G. Guerrero
04/11/2003 - 05:48 | Informe spam
Estate atento a la próxima versión de SQL Server (llamada en clave Yukon) y
tendrás alguna agradable sorpresa sobre este tema.

El problema es que aun falta tiempo para que esté disponible, pero si se
trata de un proyecto a largo plazo, yo me esperaría al menos a que la Beta 2
esté disponible.

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"Franci" wrote in message
news:Ops%
hola grupo,

quiero realizar unas acciones cuando se inserta/modifica/borra un
usuario en la base de datos, pero ya he comprobado que no pueden


realizarse
triggers sobre una tabla del sistema. Lo que quiero es coger el uid del
usuario y el nombre, por ejemplo al insertar, he introducirlo en otra


tabla.

´¿cómo puedo hacer esto? ¿hay algo equivalente a los triggers que me
permita realizar operaciones sobre las tablas de sistema?

Gracias de antemano

Saludos
________
Franci


Respuesta Responder a este mensaje
#3 Isaías
04/11/2003 - 18:25 | Informe spam
Hola Fernando

Como siempre es un placer leer tus comentarios, en esta
ocasion de "Yukon".

Desafortunadamente para la empresa que trabajo, no se han
querido esperar a que salga una nueva version de SQL y han
decidido migrar a Oracle en menos de 6 meses, malas
noticias para mi.

Un saludo.
Respuesta Responder a este mensaje
#4 Eladio Rincón
04/11/2003 - 22:44 | Informe spam
Un placer verle por aquí maestro !!! ;-)

Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net

"Comparte lo que sabes, aprende lo que no sepas." FGG

"Fernando G. Guerrero" escribió en el mensaje news:%
Estate atento a la próxima versión de SQL Server (llamada en clave Yukon) y
tendrás alguna agradable sorpresa sobre este tema.

El problema es que aun falta tiempo para que esté disponible, pero si se
trata de un proyecto a largo plazo, yo me esperaría al menos a que la Beta 2
esté disponible.

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"Franci" wrote in message
news:Ops%
> hola grupo,
>
> quiero realizar unas acciones cuando se inserta/modifica/borra un
> usuario en la base de datos, pero ya he comprobado que no pueden
realizarse
> triggers sobre una tabla del sistema. Lo que quiero es coger el uid del
> usuario y el nombre, por ejemplo al insertar, he introducirlo en otra
tabla.
>
> ´¿cómo puedo hacer esto? ¿hay algo equivalente a los triggers que me
> permita realizar operaciones sobre las tablas de sistema?
>
> Gracias de antemano
>
> Saludos
> ________
> Franci
>
>


Respuesta Responder a este mensaje
#5 Fernando G. Guerrero
05/11/2003 - 07:45 | Informe spam
Lo has comentado a la subsidiaria de Microsoft? Estoy seguro de que les
encantaría hacer una visita a tu empresa y discutir el tema con ellos.

:-)

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"Isaías" wrote in message
news:016101c3a2f8$9c8e81c0$

Hola Fernando

Como siempre es un placer leer tus comentarios, en esta
ocasion de "Yukon".

Desafortunadamente para la empresa que trabajo, no se han
querido esperar a que salga una nueva version de SQL y han
decidido migrar a Oracle en menos de 6 meses, malas
noticias para mi.

Un saludo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida