Hanki tietoa DML-käynnistimistä

  • momentti
  • 12/17/2021
  • 4 luettavat minuutit
    • r
    • C
    • p
onko tästä sivusta apua?

Kiitos.

koskee: yesSQL Server (kaikki tuetut versiot) KylläAzure SQL Database

tässä aihepiirissä kuvataan, miten SQL Serverin DML-käynnistimistä saa tietoa SQL Server Management studion tai Transact-SQL: n avulla. Nämä tiedot voivat sisältää taulukon laukaisutyypit, käynnistimen nimen, sen omistajan ja päivämäärän, jona se luotiin tai muutettiin. Jos käynnistintä ei ollut salattu, kun se luotiin, saat liipaisimen määritelmän. Voit käyttää määritelmää ymmärtääksesi, miten liipaisin vaikuttaa taulukkoon, johon se on määritelty. Myös, voit selvittää esineitä, joita tietty laukaista käyttää. Näiden tietojen avulla voit tunnistaa kohteet, jotka vaikuttavat käynnistimeen, jos niitä muutetaan tai poistetaan tietokannasta.

tässä aihepiirissä

  • ennen kuin aloitat:

    turvallisuus

  • tietoja DML-käynnistimistä saa käyttämällä:

    SQL Server Management Studio

    Transact-SQL

ennen kuin aloitat

turvallisuus

käyttöoikeudet

sys.sql.moduulit, sys.vastalause, sys.laukaisimet, sys.tapahtumat, sys.trigger_events
metatietojen näkyvyys luettelonäkymissä rajoittuu arvopapereihin, jotka käyttäjä joko omistaa tai joihin käyttäjälle on myönnetty jonkinlainen lupa. Lisätietoja on ohjeaiheessa metatietojen näkyvyysasetukset.

OBJECT_DEFINITION, OBJECTPROPERTY, sp_helptext
edellyttää julkisen roolin jäsenyyttä. Käyttäjäobjektien määrittely näkyy objektin omistajalle tai apurahan saajille, joilla on jokin seuraavista käyttöoikeuksista: muuttaa, hallita, ottaa omistusoikeus tai tarkastella määrittelyä. Nämä oikeudet ovat implisiittisesti hallussa jäsenten db_owner, db_ddladmin, ja db_securityadmin kiinteä tietokantarooleja.

sys.sql_expression_dependencies
vaatii tietokannassa näkymän MÄÄRITTELYOIKEUDEN ja SYS: n käyttöoikeudet.sql_expression_dependencies for the database. Oletusarvoisesti valitse-oikeus myönnetään vain db_owner fixed database-roolin jäsenille. Kun SELECT and VIEW DEFINITION-käyttöoikeudet myönnetään toiselle käyttäjälle, apurahan saaja voi tarkastella kaikkia tietokannan riippuvuuksia.

käyttämällä SQL Server Management studiota

nähdäksesi DML-käynnistimen määritelmän

  1. vuonna Object Explorer, yhteyden instanssi tietokannan moottori ja sitten laajentaa, että instanssi.

  2. Laajenna haluamasi tietokanta, Laajenna taulukoita ja laajenna sitten taulukko, joka sisältää käynnistimen, jonka määrittelyä haluat tarkastella.

  3. Laajenna käynnistimet, napsauta haluamaasi käynnistintä hiiren kakkospainikkeella ja valitse sitten Muokkaa. DML-käynnistimen määritelmä näkyy kyselyikkunassa.

DML-käynnistimen riippuvuuksien tarkasteleminen

  1. vuonna Object Explorer, yhteyden instanssi tietokannan moottori ja sitten laajentaa, että instanssi.

  2. Laajenna haluamasi tietokanta, Laajenna taulukoita ja laajenna sitten taulukko, joka sisältää käynnistimen ja sen riippuvuudet, joita haluat tarkastella.

  3. Laajenna käynnistimet, napsauta haluamaasi käynnistintä hiiren kakkospainikkeella ja valitse sitten Näytä riippuvuudet.

  4. voit tarkastella DML-käynnistimestä riippuvia objekteja objektien Riippuvuusikkunassa valitsemalla objektit, jotka riippuvat <DML-käynnistimen nimestä>. Objektit näkyvät Riippuvuusalueella.

    nähdäksesi objektit, joista DML riippuu, valitse objektit, joista <DML-käynnistimen nimi> riippuu. Objektit näkyvät Riippuvuusalueella. Laajenna jokainen solmu nähdäksesi kaikki kohteet.

  5. saadaksesi tietoa Riippuvuusalueella näkyvästä objektista, Napsauta objektia. Valitussa objektikentässä tiedot annetaan nimi -, tyyppi-ja Riippuvuustyyppilaatikoissa.

  6. sulje objektin Riippuvuusikkuna valitsemalla OK.

käyttämällä Transact-SQL

DML-käynnistimen määritelmää

  1. Yhdistä Tietokantamoottoriin.

  2. valitse vakiopalkista uusi kysely.

  3. kopioi ja liitä jokin seuraavista esimerkeistä kyselyikkunaan ja valitse Suorita. Jokainen esimerkki näyttää, miten voit tarkastella iuPerson liipaisimen määritelmää.

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 

DML-käynnistimen riippuvuuksien tarkasteleminen

  1. Yhdistä Tietokantamoottoriin.

  2. valitse vakiopalkista uusi kysely.

  3. kopioi ja liitä jokin seuraavista esimerkeistä kyselyikkunaan ja valitse Suorita. Jokainen esimerkki näyttää, miten voit tarkastella riippuvuuksia 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 

DML-käynnistimien tietojen tarkasteleminen tietokannassa

  1. Yhdistä Tietokantamoottoriin.

  2. valitse vakiopalkista uusi kysely.

  3. kopioi ja liitä jokin seuraavista esimerkeistä kyselyikkunaan ja valitse Suorita. Jokainen esimerkki näyttää, miten voit tarkastella tietoja DML käynnistimet (TR) tietokannassa.

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 

voit tarkastella tietoja tapahtumista, jotka laukaisevat DML-laukaisimen

  1. Yhdistä Tietokantamoottoriin.

  2. valitse vakiopalkista uusi kysely.

  3. kopioi ja liitä jokin seuraavista esimerkeistä kyselyikkunaan ja valitse Suorita. Jokainen esimerkki näyttää, miten voit tarkastella tapahtumia, jotka laukaisevat iuPerson liipaisimen.

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 

Katso myös

CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
ENABLE TRIGGER (Transact-SQL)
DISABLE TRIGGER (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_rename (Transact-SQL)
ALTER TRIGGER (Transact-SQL)
sp_help (Transact-SQL)
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
SYS.triggerit (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

Sähköpostiosoitettasi ei julkaista.