sql-server - all - sql server create user and grant permission
SQL Server Deshabilitar todos los desencadenadores: no se puede encontrar el objeto "XXXX" porque no existe o no tiene permisos (3)
No estoy seguro de por qué Yuck borró su respuesta. Desde DISABLE TRIGGER :
nombre_objeto es el nombre de la tabla o vista en la que se creó el activador DML.
Es decir, no puede proporcionar un nombre de base de datos a esta declaración. Mientras MYDB
base de datos MYDB
, no hay un objeto dentro de ella llamado MYDB
.
Estoy tratando de ejecutar este comando en SQL Server:
disable trigger all on MYDB
Esto está fallando para mí. La cuenta en la que inicié sesión tiene acceso a MYDB y prácticamente le doy todos los permisos disponibles (solo es una base de datos local y mi cuenta, por lo que está bien). ¿No entiendo por qué me está diciendo que no puede encontrar MYDB para esto? He hecho esto antes. También tenga en cuenta: puedo seleccionar de la base de datos, actualizar y ejecutar una declaración de concesión (como otorgar la ejecución de un proceso). También puedo deshabilitar los activadores manualmente ...
Entonces, ¿por qué falla esto? Pude hacerlo antes ...
Gracias.
sp_msforeachtable ''ALTER TABLE ? DISABLE TRIGGER all''
Para habilitar todos los disparadores, puedes usar la siguiente declaración
sp_msforeachtable ''ALTER TABLE ? ENABLE TRIGGER all''
use MYDB;
disable trigger all on DATABASE;