Pregunta

Que hace Administrar disparador de la base de datos ¿El privilegio realmente significa?

Tengo el siguiente caso:

Tengo 2 bases de datos: DB1 y Db2

En DB1 Tengo un desencadenante que surge después del inicio de sesión en la base de datos y verifica si este nombre de usuario existe en alguna tabla. Si no, aumenta el error de aplicación como "¡No se le permite iniciar sesión!"

Creé el enlace en Db2, que se conecta a DB1 por algún nombre de usuario, por ejemplo por kupa_dba.

Tenga en cuenta que kupa_dba no está en una lista de acceso (en la tabla almacenando nombres de usuario que pueden conectarse a la base de datos)

Si kupa_dba no tiene Administrar disparador de la base de datos que el disparador funciona, pero si kupa_dba posee Administrar disparador de la base de datos privilegio no se ignora el error de la aplicación, el activador se ignora y Db2 puede recuperar datos de DB1

¿Fue útil?

Solución

los ADMINISTER DATABASE TRIGGER Privilege le permite crear desencadenantes a nivel de base de datos (error del servidor, inicio de sesión y disparadores de inicio de sesión). También le permite iniciar sesión, independientemente de los errores lanzados por un desencadenante de inicio de sesión como un fallas. Si inadvertidamente codificó su disparador de inicio de sesión para lanzar un error, sin importar quién haya iniciado sesión, por ejemplo, debe permitir que alguien inicie sesión para solucionar el disparador.

Parece que el desencadenante se está comportando como se esperaba en este caso. En realidad, no crearía un enlace de base de datos de una base de datos a otra utilizando una cuenta de DBA.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top