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 kérhet le információkat az SQL Server DML-eseményindítóiról az SQL Server Management Studio vagy a Transact-SQL használatával. Ezek az információk tartalmazhatják a táblák eseményindítóinak típusait, az eseményindító nevét, tulajdonosát és a létrehozás vagy módosítás dátumát. Ha az eseményindító nem lett titkosítva a létrehozásakor, beolvashatja az eseményindító definícióját. A definícióval könnyebben megértheti, hogy egy eseményindító hogyan befolyásolja azt a táblát, amelyen definiálva van. Emellett megtudhatja azokat az objektumokat is, amelyeket egy adott eseményindító használ. Ezekkel az információkkal azonosíthatja azokat az objektumokat, amelyek hatással vannak az eseményindítóra, ha azok módosulnak vagy törlődnek az adatbázisban.
Ebben a témában
Kezdés előtt:
A DML-eseményindítókkal kapcsolatos információk lekéréséhez használja a következőt:
Mielőtt hozzákezdene
Biztonság
Engedélyek
sys.sql.modules, sys.object, sys.triggers, sys.events, sys.trigger_events
A katalógusnézetekben a metaadatok láthatósága olyan biztonságos adatokra korlátozódik, amelyek egy felhasználó tulajdonában vannak, vagy amelyeken a felhasználó engedélyt kapott. További információ: Metaadatok láthatóságának konfigurációja.
OBJECT_DEFINITION, OBJEKTUMTULAJDONSÁG, sp_helptext
A nyilvános szerepkör tagságát igényli. A felhasználói objektumok definíciója látható az objektum tulajdonosa vagy azok számára, akik rendelkeznek a következő engedélyek bármelyikével: ALTER, CONTROL, TAKE OWNERSHIP vagy VIEW DEFINITION. Ezeket az engedélyeket implicit módon a db_owner, db_ddladminés db_securityadmin rögzített adatbázis-szerepkörök tagjai birtokolják.
sys.sql_expression_dependencies
A VIEW DEFINITION engedélyre van szükség az adatbázison, valamint szükséges a SELECT engedéllyel rendelkező sys.sql_expression_dependencies bejegyzésekhez az adatbázisban. Alapértelmezés szerint a SELECT engedély csak a db_owner rögzített adatbázis-szerepkör tagjai számára van megadva. Ha a SELECT és a VIEW DEFINITION engedélyeket egy másik felhasználó kapja meg, a jogosult megtekintheti az adatbázis összes függőségét.
Az SQL Server Management Studio használata
DML-eseményindító definíciójának megtekintése
Object Explorer-ben csatlakozzon az Adatbázis-motor egy példányára, majd bontsa ki azt a példányt.
Bontsa ki a kívánt adatbázist, bontsa ki Táblák, majd bontsa ki azt a táblát, amely tartalmazza azt az eseményindítót, amelyhez meg szeretné tekinteni a definíciót.
Bontsa ki az eseményindítókat, kattintson a jobb gombbal a kívánt eseményindítóra, majd kattintson a módosításparancsra. A DML-eseményindító definíciója megjelenik a lekérdezési ablakban.
DML-eseményindító függőségeinek megtekintése
Object Explorer-ben csatlakozzon az Adatbázis-motor egy példányára, majd bontsa ki azt a példányt.
Bontsa ki a kívánt adatbázist, bontsa ki Táblák, majd bontsa ki a megtekinteni kívánt eseményindítót és függőségeit tartalmazó táblát.
Nyissa meg a eseményindítóklistáját. Kattintson a jobb gombbal a kívánt eseményindítóra, majd kattintson a Függőségek megtekintésegombra.
Az Objektumfüggőségek ablakban a DML-eseményindítótól függő objektumok megtekintéséhez jelölje ki <DML-eseményindító nevétől függő objektumokat>. Az objektumok a Függőségek területen jelennek meg.
Ha meg szeretné tekinteni azokat az objektumokat, amelyektől a DML függ, jelölje ki olyan objektumokat, amelyektől <DML-eseményindító neve> függ. Az objektumok a Függőségek területen jelennek meg. Bontsa ki az egyes csomópontokat az összes objektum megtekintéséhez.
A Függőségek területen megjelenő objektumra vonatkozó információk beszerzéséhez kattintson az objektumra. A Kijelölt objektum mezőben a Név, Típusés Függőségtípus mezőben találhatók meg az információk.
Az Objektumfüggőségek ablak bezárásához kattintson OKgombra.
A Transact-SQL használata
DML-eseményindító definíciójának megtekintése
Csatlakozzon az adatbázismotorhoz.
A Standard sávon kattintson Új lekérdezéselemre.
Másolja és illessze be az alábbi példák egyikét a lekérdezési ablakba, majd kattintson a Végrehajtásgombra. Mindegyik példa bemutatja, hogyan tekintheti meg a
iuPersoneseményindító definícióját.
USE AdventureWorks2022;
GO
SELECT definition
FROM sys.sql_modules
WHERE object_id = OBJECT_ID(N'Person.iuPerson');
GO
USE AdventureWorks2022;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.iuPerson')) AS ObjectDefinition;
GO
USE AdventureWorks2022;
GO
EXEC sp_helptext 'Person.iuPerson'
GO
DML-eseményindító függőségeinek megtekintése
Csatlakozzon az adatbázismotorhoz.
A Standard sávon kattintson Új lekérdezéselemre.
Másolja és illessze be az alábbi példák egyikét a lekérdezési ablakba, majd kattintson a Végrehajtásgombra. Minden példa bemutatja, hogyan tekintheti meg
iuPersoneseményindító függőségeit.
USE AdventureWorks2022;
GO
SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name,
o.type_desc AS referencing_description,
COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id,
referencing_class_desc, referenced_class_desc,
referenced_server_name, referenced_database_name, referenced_schema_name,
referenced_entity_name,
COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name,
is_caller_dependent, is_ambiguous
FROM sys.sql_expression_dependencies AS sed
INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id
WHERE referencing_id = OBJECT_ID(N'Person.iuPerson');
GO
DML-eseményindítók adatainak megtekintése az adatbázisban
Csatlakozzon az adatbázismotorhoz.
A Standard sávon kattintson Új lekérdezéselemre.
Másolja és illessze be az alábbi példák egyikét a lekérdezési ablakba, majd kattintson a Végrehajtásgombra. Minden példa bemutatja, hogyan tekintheti meg az adatbázisban található DML-eseményindítókkal (
TR) kapcsolatos információkat.
USE AdventureWorks2022;
GO
SELECT name, parent_id, create_date, modify_date, is_instead_of_trigger
FROM sys.triggers
WHERE type = 'TR';
GO
USE AdventureWorks2022;
GO
SELECT name, object_id, schema_id, parent_object_id, type_desc, create_date, modify_date, is_published
FROM sys.objects
WHERE type = 'TR';
GO
USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTY(OBJECT_ID(N'Person.iuPerson'), 'ExecIsInsteadOfTrigger');
GO
DML-eseményindítót kiváltó események adatainak megtekintése
Csatlakozzon az adatbázismotorhoz.
A Standard sávon kattintson Új lekérdezéselemre.
Másolja és illessze be az alábbi példák egyikét a lekérdezési ablakba, majd kattintson a Végrehajtásgombra. Minden példa bemutatja, hogyan tekintheti meg a
iuPersoneseményindítót kiváltó eseményeket.
USE AdventureWorks2022;
GO
SELECT object_id, type, type_desc, is_trigger_event, event_group_type, event_group_type_desc
FROM sys.events
WHERE object_id = OBJECT_ID('Person.iuPerson');
GO
USE AdventureWorks2022;
GO
SELECT object_id, type,is_first, is_last
FROM sys.trigger_events
WHERE object_id = OBJECT_ID('Person.iuPerson');
GO
Lásd még:
LÉTREHOZNI TRIGGERET (Transact-SQL)
EJTŐ TRIGGER (Transact-SQL)
TRIGGER ENGEDÉLYEZÉSE (Transact-SQL)
TRIGGER LETILTÁSA (Transact-SQL)
ESEMÉNYADATOK (Transact-SQL)
sp_rename (Transact-SQL)
ALTER TRIGGER (Transact-SQL)
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)
OBJEKTUMTULAJDONSÁG (Transact-SQL) )
OBJECT_DEFINITION (Transact-SQL)