Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore "Impossibile rilasciare il trigger" quando si tenta di eliminare un trigger di accesso? Prova questo.

Stai tentando di rilasciare un trigger di accesso in SQL Server, ma viene visualizzato un errore simile al seguente?

"Impossibile rilasciare il trigger 'trigger_name', perché non esiste o non hai l'autorizzazione."

Potrebbe essere perché ti manca il ON ALL SERVER argomento.

Quando crei un attivatore di accesso, utilizzi il ON ALL SERVER discussione.

Puoi anche usare questo argomento con i trigger DDL. Questo argomento applica l'ambito del trigger al server corrente.

Quando si rilasciano tali trigger (ad esempio trigger di accesso e trigger DDL creati con ON ALL SERVER ), devi utilizzare anche ON ALL SERVER .

Esempio di errore

Recentemente ho commesso questo errore io stesso. Nel mio caso, stavo provando a rilasciare un trigger di accesso come questo:

DROP TRIGGER trg_limit_concurrent_sessions;

Ma ciò ha provocato il seguente errore:

Cannot drop the trigger 'trg_limit_concurrent_sessions', because it does not exist or you do not have permission.

Ero confuso, perché sono stato io a creare il trigger. In effetti, l'avevo creato in precedenza nella stessa sessione!

Ma poi ho capito il mio errore.

La soluzione

La soluzione è stata semplice:basta aggiungere ON ALL SERVER al mio codice.

DROP TRIGGER trg_limit_concurrent_sessions ON ALL SERVER;

Risultato:

Commands completed successfully.

Spero che questo articolo ti sia stato d'aiuto se hai riscontrato lo stesso errore.