Få Informasjon Om DML-Utløsere

  • Artikkel
  • 12/17/2021
  • 4 minutter å lese
    • M
    • r
    • c
    • p
Er denne siden nyttig?

Takk.

Gjelder for: yes SQL Server (alle støttede versjoner)  Ja Azure SQL Database

dette emnet beskriver hvordan du får informasjon OM dml-utløsere I SQL Server ved HJELP AV SQL Server Management Studio eller Transact-SQL. Denne informasjonen kan omfatte typene utløsere på en tabell, navnet på en utløser, eieren og datoen den ble opprettet eller endret. Hvis utløseren ikke ble kryptert da den ble opprettet, får du definisjonen av utløseren. Du kan bruke definisjonen til å hjelpe deg å forstå hvordan en utløser påvirker tabellen opp som den er definert. Du kan også finne ut objektene som en bestemt utløser bruker. Med denne informasjonen kan du identifisere objektene som påvirker utløseren hvis de endres eller slettes i databasen.

I Dette Emnet

  • Før du begynner:

    Sikkerhet

  • hvis du vil ha informasjon OM dml-utløsere, bruker du:

    SQL Server Management Studio

    Transact-SQL

Før Du Begynner

Sikkerhet

Tillatelser

sys.sql.moduler, sys.objekt, sys.triggere, sys.hendelser, sys.trigger_events
synligheten av metadataene i katalogvisninger er begrenset til securables som en bruker enten eier eller som brukeren har fått tillatelse til. Hvis Du vil ha Mer informasjon, kan Du se Konfigurering Av Synlighet For Metadata.

OBJECT_DEFINITION, OBJECTPROPERTY, sp_helptext
Krever medlemskap i den offentlige rollen. Definisjonen av brukerobjekter er synlig for objekteier eller støttemottakere som har en av følgende tillatelser: ENDRE, KONTROLLERE, TA EIERSKAP eller VISE DEFINISJON. Disse tillatelsene er implisitt holdt av medlemmer av db_owner, db_ddladmin, og db_securityadmin fast database roller.

sys.sql_expression_dependencies
Krever VIS DEFINISJON tillatelse på databasen OG VELG tillatelse på sys.sql_expression_dependencies for databasen. VELG tillatelse gis som standard bare til medlemmer av rollen db_owner fast database. NÅR TILLATELSENE VELG OG VIS DEFINISJON er gitt til en annen bruker, kan stipendiaten vise alle avhengigheter i databasen.

BRUKE SQL Server Management Studio

for å vise definisjonen AV EN dml-utløser

  1. i Objektutforsker kobler du til En forekomst Av Databasemotor og utvider deretter forekomsten.

  2. Utvid databasen du vil bruke, utvid Tabeller, og utvid deretter tabellen som inneholder utløseren du vil vise definisjonen for.

  3. Utvid Utløsere, høyreklikk utløseren du vil bruke, og klikk Deretter Endre. Definisjonen AV dml-utløseren vises i spørringsvinduet.

slik viser du avhengighetene til EN dml-utløser

  1. i Objektutforsker kobler du til En forekomst Av Databasemotor og utvider deretter forekomsten.

  2. Utvid databasen du vil bruke, utvid Tabeller, og utvid deretter tabellen som inneholder utløseren og dens avhengigheter som du vil vise.

  3. Utvid Utløsere, høyreklikk utløseren du vil bruke, og klikk Deretter Vis Avhengigheter.

  4. hvis du vil vise objektene som er avhengige av dml-utløseren, velger Du Objekter som er avhengige av <dml-utløsernavn>i Vinduet Objektavhengigheter. Objektene vises i Området Avhengigheter.

    hvis DU vil vise objektene SOM DML avhenger AV, velger Du Objekter som <dml-utløsernavn> avhenger av. Objektene vises i Området Avhengigheter. Utvid hver node for å se alle objektene.

  5. hvis du vil ha informasjon om et objekt som vises I Avhengigheter-området, klikker du objektet. I Feltet Merket objekt gis informasjon i boksene Navn, Type og Avhengighetstype.

  6. klikk OK for å lukke Vinduet Objektavhengigheter.

Bruke Transact-SQL

for å vise definisjonen AV EN dml-utløser

  1. Koble Til Databasemotoren.

  2. klikk Ny Spørring På standardlinjen.

  3. Kopier og lim inn ett av følgende eksempler i spørringsvinduet, og klikk Kjør. Hvert eksempel viser hvordan du kan vise definisjonen av utløseren iuPerson.

USE AdventureWorks2012; GO SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID(N'Person.iuPerson'); GO 
USE AdventureWorks2012; GO SELECT OBJECT_DEFINITION (OBJECT_ID(N'Person.iuPerson')) AS ObjectDefinition; GO 
USE AdventureWorks2012; GO EXEC sp_helptext 'Person.iuPerson' GO 

slik viser du avhengighetene til EN dml-utløser

  1. Koble Til Databasemotoren.

  2. klikk Ny Spørring På standardlinjen.

  3. Kopier og lim inn ett av følgende eksempler i spørringsvinduet, og klikk Kjør. Hvert eksempel viser hvordan du kan vise avhengighetene til iuPerson trigger.

USE AdventureWorks2012; GO SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name, o.type_desc AS referencing_desciption, 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 

slik viser du informasjon OM dml-utløsere i databasen

  1. Koble Til Databasemotoren.

  2. klikk Ny Spørring På standardlinjen.

  3. Kopier og lim inn ett av følgende eksempler i spørringsvinduet, og klikk Kjør. Hvert eksempel viser hvordan du kan vise informasjon om DML-utløsere (TR) i databasen.

USE AdventureWorks2012; GO SELECT name, parent_id, create_date, modify_date, is_instead_of_trigger FROM sys.triggers WHERE type = 'TR'; GO 
USE AdventureWorks2012; 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 AdventureWorks2012; GO SELECT OBJECTPROPERTY(OBJECT_ID(N'Person.iuPerson'), 'ExecIsInsteadOfTrigger'); GO 

slik viser du informasjon om hendelser som utløser EN dml-utløser

  1. Koble Til Databasemotoren.

  2. klikk Ny Spørring På standardlinjen.

  3. Kopier og lim inn ett av følgende eksempler i spørringsvinduet, og klikk Kjør. Hvert eksempel viser hvordan du kan vise hendelsene som utløser iuPerson.

USE AdventureWorks2012; 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 AdventureWorks2012; GO SELECT object_id, type,is_first, is_last FROM sys.trigger_events WHERE object_id = OBJECT_ID('Person.iuPerson'); GO 

Se også

OPPRETT UTLØSER (Transact-SQL)
SLIPP UTLØSER (Transact-SQL)
AKTIVER UTLØSER (Transact-SQL)
DEAKTIVER UTLØSER (Transact-SQL)
HENDELSESDATA (Transact-SQL)
SP_RENAME (Transact-SQL)
ENDRE UTLØSER (Transact-SQL)
sp_help (Transact-SQL)
sp_helptrigger (transact-SQL)
SYS.utløsere (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modules (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)
OBJECTPROPERTY (Transact-SQL)
OBJECT_DEFINITION (Transact-SQL)

Write a Comment

Din e-postadresse vil ikke bli publisert.