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
Microsoft Fabric'te SQL veritabanı
Bu konu, SQL Server Management Studio veya Transact-SQL kullanılarak SQL Server'da bir DML tetikleyicisinin nasıl silineceğini veya devre dışı bırakılacağını açıklar.
Bu Konuda
Başlamadan önce:
DML tetikleyicisini silmek veya devre dışı bırakmak için:
Başlamadan Önce
Recommendations
Bir tetikleyici silindiğinde, mevcut veritabanından çıkarılır. Tablo ve dayandığı veriler etkilenmez. Bir tabloyu silmek, masadaki tetikleyicileri otomatik olarak siler.
Tetikleyici oluşturulduğunda varsayılan olarak etkinleştirilir.
Bir tetikleyiciyi devre dışı bırakmak onu düşürmez. Tetikleyici hâlâ mevcut veritabanında bir nesne olarak varlığını sürdürmektedir. Ancak, tetikleyici, programlandığı herhangi bir INSERT, UPDATE veya DELETE ifadesi çalıştırıldığında ateşlenmez. Devre dışı bırakılan tetikleyiciler yeniden etkinleştirilebilir. Bir tetikleyiciyi etkinleştirmek onu yeniden yaratmaz. Tetik, ilk oluşturulduğu zamanki gibi ateş eder.
Security
Permissions
Bir DML tetikleyicisini silmek için tetikleyicinin tanımlandığı tablo veya görünüm üzerinde ALTER izni gereklidir.
DML tetikleyicisini devre dışı bırakmak veya etkinleştirmek için en azından bir kullanıcının tetikleyicinin oluşturulduğu tablo veya görünüm üzerinde ALTER iznine sahip olması gerekir.
SQL Server Management Studio'yu kullanma
DML tetikleyicisini silmek için
Object Explorer'da bir Veritabanı Motoru örneğine bağlanın ve ardından o örneği genişletin.
İstediğiniz veritabanını genişletin, Tablolar'ı genişletin ve ardından silmek istediğiniz tetikleyiciyi içeren tabloyu genişletin.
Tetikleyiciler'i genişletin, tetikleyiciye sağ tıklayarak silin ve ardından Sil'e tıklayın.
Nesneyi Sil diyalog kutusunda, silme tetikleyicisini doğrulayın ve ardından Tamam'a tıklayın.
DML tetikleyicisini devre dışı bırakmak ve etkinleştirmek için
Object Explorer'da bir Veritabanı Motoru örneğine bağlanın ve ardından o örneği genişletin.
İstediğiniz veritabanını genişletin, Tablolar'ı genişletin ve ardından devre dışı bırakmak istediğiniz tetikleyiciyi içeren tabloyu genişletin.
Tetikleyiciler'i genişletin, tetikleyiciye sağ tıklayarak devre dışı bırakın, ardından devre dışı bırakın.
Tetikleyiciyi etkinleştirmek için Etkinleştir tuşuna tıklayın.
Transact-SQL Kullanımı
DML tetikleyicisini silmek için
Veritabanı Altyapısı'na bağlanın.
Standart çubuğundan Yeni Sorguöğesine tıklayın.
Aşağıdaki örnekleri sorgu penceresine kopyalayıp yapıştırın. Tetikleyiciyi oluşturmak için
Sales.bonus_reminderifadesini çalıştırın. Tetikleyiciyi silmek için DROP TRIGGER ifadesini çalıştırın.
--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 tetikleyicisini devre dışı bırakmak ve etkinleştirmek için
Veritabanı Altyapısı'na bağlanın.
Standart çubuğundan Yeni Sorguöğesine tıklayın.
Aşağıdaki örnekleri sorgu penceresine kopyalayıp yapıştırın. Tetikleyiciyi oluşturmak için
Sales.bonus_reminderifadesini çalıştırın. Tetikleyiciyi devre dışı bırakmak ve etkinleştirmek için, sırasıyla DISABLE TRIGGER ve ENABLE TRIGGER ifadelerini çalıştırın.
--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
Ayrıca Bkz.
ALTER TRIGGER (Transact-SQL)
TETİKLEYİCİ OLUŞTUR (Transact-SQL)
ATKI TETIK (Transact-SQL)
TETİKLEYİCİYİ ETKİNLEŞTİR (Transact-SQL)
TETİKLEMİYİ DEVRE DIŞI BIRAK (Transact-SQL)
OLAY VERILERI (Transact-SQL)
DML Tetikleyicileri Hakkında Bilgi Alma
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modüller (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)