Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ez a témakör azt ismerteti, hogyan törölhet vagy tilthat le egy DML-eseményindítót az SQL Server Management Studio vagy a Transact-SQL használatával.
ebben a témakörben
Kezdés előtt:
DML-eseményindító törléséhez vagy letiltásához használja a következőt:
Mielőtt hozzákezdene
Ajánlások
Az eseményindító törlésekor eltávolítja az aktuális adatbázisból. A tábla és az alapjául szolgáló adatok nem lesznek hatással. A tábla törlése automatikusan törli a tábla eseményindítóit.
Az eseményindító alapértelmezés szerint engedélyezve van, amikor létrehozzák.
Az eseményindító letiltása nem veti el. Az eseményindító továbbra is objektumként létezik az aktuális adatbázisban. Az eseményindító azonban nem aktiválódik, ha a programozott INSERT, UPDATE vagy DELETE utasítást végrehajtja. A letiltott eseményindítók újra engedélyezhetők. A trigger engedélyezése nem hozza létre újra. Az eseményindító ugyanúgy aktiválódik, mint az eredeti létrehozáskor.
Biztonság
Engedélyek
A DML-eseményindító törléséhez ALTER-engedély szükséges azon a táblán vagy nézeten, amelyen az eseményindító definiálva van.
A DML-eseményindítók letiltásához vagy engedélyezéséhez a felhasználónak legalább alter engedéllyel kell rendelkeznie azon a táblán vagy nézeten, amelyen az eseményindító létre lett hozva.
Az SQL Server Management Studio használata
DML-eseményindító törlése
Object Explorer-ben csatlakozzon az adatbázismotor egy példányához, majd bontsa ki a példányt.
Bontsa ki a kívánt adatbázist, bontsa ki Táblák, majd bontsa ki a törölni kívánt eseményindítót tartalmazó táblát.
Bontsa ki Eseményindítók, kattintson a jobb gombbal az eseményindítóra a törléshez, majd kattintson a Törlésparancsra.
Az Objektum törlése párbeszédpanelen ellenőrizze a törölni kívánt eseményindítót, majd kattintson OKgombra.
DML-eseményindító letiltása és engedélyezése
Object Explorer-ben csatlakozzon az adatbázismotor egy példányához, majd bontsa ki a példányt.
Bontsa ki a kívánt adatbázist, bontsa ki Táblák, majd bontsa ki a letiltani kívánt eseményindítót tartalmazó táblát.
Nyissa meg eseményindítók, kattintson a jobb gombbal az eseményindítóra a letiltáshoz, majd kattintson a Letiltásaparancsra.
Az eseményindító engedélyezéséhez kattintson a engedélyezése gombra.
A Transact-SQL használata
DML-eseményindító törlése
Csatlakozzon az adatbázismotorhoz.
A Standard sávon kattintson Új lekérdezéselemre.
Másolja és illessze be a következő példákat a lekérdezési ablakba. Hajtsa végre a CREATE TRIGGER utasítást a
Sales.bonus_remindereseményindító létrehozásához. Az eseményindító törléséhez hajtsa végre a DROP TRIGGER utasítást.
--Create the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
--Delete the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID ('Sales.bonus_reminder', 'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
DML-eseményindító letiltása és engedélyezése
Csatlakozzon az adatbázismotorhoz.
A Standard sávon kattintson Új lekérdezéselemre.
Másolja és illessze be a következő példákat a lekérdezési ablakba. Hajtsa végre a CREATE TRIGGER utasítást a
Sales.bonus_remindereseményindító létrehozásához. Az eseményindító letiltásához és engedélyezéséhez hajtsa végre a TRIGGER letiltása és a TRIGGER engedélyezése utasítást.
--Create the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
--Disable the trigger.
USE AdventureWorks2022;
GO
DISABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
--Enable the trigger.
USE AdventureWorks2022;
GO
ENABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
Lásd még:
ALTER TRIGGER (Transact-SQL)
LÉTREHOZNI TRIGGERET (Transact-SQL)
EJTŐ TRIGGER (Transact-SQL)
AZ INDÍTÓ ENGEDÉLYEZÉSE (Transact-SQL)
TRIGGER LETILTÁSA (Transact-SQL)
ESEMÉNYADATOK (Transact-SQL)
Információk szerzése a DML-eseményindítókról
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modulok (Transact-SQL)
sys.assembly_modules (Transact-SQL)
sys.server_triggers (Transact-SQL)
sys.server_trigger_events (Transact-SQL)
sys.server_sql_modules (Transact-SQL)
sys.server_assembly_modules (Transact-SQL)