servidor permission create and all sql-server permissions database-permissions

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;