Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Bu konuda, SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'da DML tetikleyicileri hakkında nasıl bilgi alınacağınız açıklanmaktadır. Bu bilgiler tablodaki tetikleyici türlerini, tetikleyicinin adını, sahibini ve oluşturulduğu veya değiştirildiği tarihi içerebilir. Tetikleyici oluşturulduğunda şifrelenmemişse tetikleyicinin tanımını alırsınız. Tetikleyicinin tanımlandığı tabloyu nasıl etkilediğini anlamanıza yardımcı olması için tanımı kullanabilirsiniz. Ayrıca, belirli bir tetikleyicinin kullandığı nesneleri de bulabilirsiniz. Bu bilgilerle, veritabanında değiştirilir veya silinirse tetikleyiciyi etkileyen nesneleri tanımlayabilirsiniz.
Bu Konudaki
Başlamadan önce:
DML tetikleyicileri hakkında bilgi almak için şunu kullanarak:
Başlamadan Önce
Güvenlik
İzinler
sys.sql.modules, sys.object, sys.triggers, sys.events, sys.trigger_events
Katalog görünümlerindeki meta verilerin görünürlüğü, kullanıcının sahip olduğu veya kullanıcıya bazı izinlerin verildiği güvenli hale getirilebilir öğelerle sınırlıdır. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .
OBJECT_DEFINITION, OBJECTPROPERTY, sp_helptext
"" genel "" rolüne üyelik gerektirir. Kullanıcı nesnelerinin tanımı, nesnenin sahibi veya aşağıdaki izinlerden herhangi birine sahip olan kişiler tarafından görülebilir: ALTER, CONTROL, TAKE OWNERSHIP veya VIEW DEFINITION. Bu izinler, db_owner, db_ddladminve db_securityadmin sabit veritabanı rollerinin üyeleri tarafından örtük olarak tutulur.
sys.sql_expression_dependencies
Veritabanında VIEW DEFINITION izni ve veritabanı için sys.sql_expression_dependencies üzerinde SELECT izni gerektirir. Varsayılan olarak, SELECT izni yalnızca db_owner sabit veritabanı rolünün üyelerine verilir. SELECT ve VIEW DEFINITION izinleri başka bir kullanıcıya verildiğinde, veren veritabanındaki tüm bağımlılıkları görüntüleyebilir.
SQL Server Management Studio'yu kullanma
DML tetikleyicisinin tanımını görüntülemek için
Nesne Gezginiveritabanı altyapısının bir örneğine bağlanın ve bu örneği genişletin.
Genişletmek istediğiniz veritabanını genişletin, Tablolar'yi genişletin, ardından tanımını görüntülemek istediğiniz tetikleyiciyi içeren tabloyu genişletin.
Tetikleyicilerigenişletin, istediğiniz tetikleyiciye sağ tıklayın ve Değiştiröğesine tıklayın. DML tetikleyicisinin tanımı sorgu penceresinde görünür.
DML tetikleyicisinin bağımlılıklarını görüntülemek için
Nesne Gezginiveritabanı altyapısının bir örneğine bağlanın ve bu örneği genişletin.
İstediğiniz veritabanını genişletin, ardından Tablolargenişletin ve görüntülemek istediğiniz tetikleyiciyi ve bağımlılıklarını içeren tabloyu genişletin.
Tetikleyicileri'ni genişletin, istediğiniz tetikleyiciye sağ tıklayın ve ardından Bağımlılıkları Görüntületıklayın.
Nesne Bağımlılıkları penceresinde, DML tetikleyicisine bağlı nesneleri görüntülemek için <DML tetikleyici adına bağlı nesneler seçin>. Nesneler Bağımlılıklar alanında görünür.
DML'nin bağımlı olduğu nesneleri görüntülemek için, <DML tetikleyici adının>bağlı olduğu nesnelerseçin. Nesneler Bağımlılıklar alanında görünür. Tüm nesneleri görmek için her düğümü genişletin.
Bağımlılıklar alanında görünen bir nesne hakkında bilgi edinmek için nesneye tıklayın. seçili nesne alanında, Adı, Türve Bağımlılık türü kutularında bilgiler sağlanır.
Nesne Bağımlılıkları penceresini kapatmak için Tamamöğesine tıklayın.
Transact-SQL kullanma
DML tetikleyicisinin tanımını görüntülemek için
Veritabanı Altyapısı'na bağlanın.
Standart çubuğundan Yeni Sorgutıklayın.
Aşağıdaki örneklerden birini kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Her örnek,
iuPerson
tetikleyicisinin tanımını nasıl görüntüleyebileceğinizi gösterir.
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 tetikleyicisinin bağımlılıklarını görüntülemek için
Veritabanı Altyapısı'na bağlanın.
Standart çubuğunda Yeni Sorguöğesine tıklayın.
Aşağıdaki örneklerden birini kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Her örnek,
iuPerson
tetikleyicisinin bağımlılıklarını nasıl görüntüleyebileceğinizi gösterir.
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
Veritabanındaki DML tetikleyicileri hakkındaki bilgileri görüntülemek için
Veritabanı Altyapısı'na bağlanın.
Standart Araç Çubuğu'ndan Yeni Sorguöğesine tıklayın.
Aşağıdaki örneklerden birini kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Her örnek, veritabanındaki DML tetikleyicileri (
TR
) hakkındaki bilgileri nasıl görüntüleyebileceğinizi gösterir.
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 tetikleyicisi tetikleyen olaylar hakkındaki bilgileri görüntülemek için
Veritabanı Altyapısı'na bağlanın.
Standart çubuğundan Yeni Sorguöğesine tıklayın.
Aşağıdaki örneklerden birini kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Her örnek,
iuPerson
tetikleyicisini tetikleyen olayları nasıl görüntüleyebileceğinizi gösterir.
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
Ayrıca Bkz.
"TETİKLEYİCİ OLUŞTUR (Transact-SQL) "
DROP TRIGGER (Transact-SQL)
TETİKLEYİCİYİ ETKİNLEŞTİR (Transact-SQL)
TETİĞİ DEVRE DIŞI BIRAK (Transact-SQL)
EVENTDATA (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_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)