Menghapus atau Menonaktifkan Pemicu DML
Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Topik ini menjelaskan cara menghapus atau menonaktifkan pemicu DML di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.
Dalam Topik Ini
Sebelum Anda mulai:
Untuk menghapus atau menonaktifkan pemicu DML, gunakan:
Sebelum Anda mulai
Rekomendasi
Saat pemicu dihapus, pemicu akan dihilangkan dari database saat ini. Tabel dan data yang menjadi dasarnya tidak terpengaruh. Menghapus tabel secara otomatis menghapus pemicu apa pun pada tabel.
Pemicu diaktifkan secara default saat dibuat.
Menonaktifkan pemicu tidak menghilangkannya. Pemicu masih ada sebagai objek dalam database saat ini. Namun, pemicu tidak akan diaktifkan ketika pernyataan INSERT, UPDATE, atau DELETE tempat pemicu diprogram dijalankan. Pemicu yang dinonaktifkan dapat diaktifkan kembali. Mengaktifkan pemicu tidak membuatnya kembali. Pemicu diaktifkan dengan cara yang sama seperti ketika awalnya dibuat.
Keamanan
Izin
Untuk menghapus pemicu DML memerlukan izin ALTER pada tabel atau tampilan tempat pemicu ditentukan.
Untuk menonaktifkan atau mengaktifkan pemicu DML, minimal, pengguna harus memiliki izin ALTER pada tabel atau tampilan tempat pemicu dibuat.
Menggunakan SQL Server Management Studio
Untuk menghapus pemicu DML
Di Object Explorer, sambungkan ke instans Mesin Database lalu perluas instans tersebut.
Perluas database yang Anda inginkan, perluas Tabel, lalu perluas tabel yang berisi pemicu yang ingin Anda hapus.
Perluas Pemicu, klik kanan pemicu untuk menghapus, lalu klik Hapus.
Dalam kotak dialog Hapus Objek , verifikasi pemicu yang akan dihapus, lalu klik OK.
Untuk menonaktifkan dan mengaktifkan pemicu DML
Di Object Explorer, sambungkan ke instans Mesin Database lalu perluas instans tersebut.
Perluas database yang Anda inginkan, perluas Tabel, lalu perluas tabel yang berisi pemicu yang ingin Anda nonaktifkan.
Perluas Pemicu, klik kanan pemicu untuk menonaktifkan, lalu klik Nonaktifkan.
Untuk mengaktifkan pemicu, klik Aktifkan.
Menggunakan T-SQL
Untuk menghapus pemicu DML
Sambungkan ke Mesin Database.
Dari bilah Standar, klik Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri. Jalankan pernyataan CREATE TRIGGER untuk membuat pemicu
Sales.bonus_reminder
. Untuk menghapus pemicu, jalankan pernyataan DROP TRIGGER .
--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
Untuk menonaktifkan dan mengaktifkan pemicu DML
Sambungkan ke Mesin Database.
Dari bilah Standar, klik Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri. Jalankan pernyataan CREATE TRIGGER untuk membuat pemicu
Sales.bonus_reminder
. Untuk menonaktifkan dan mengaktifkan pemicu, jalankan pernyataan DISABLE TRIGGER dan ENABLE TRIGGER .
--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
Lihat Juga
UBAH PEMICU (Transact-SQL)
BUAT PEMICU (Transact-SQL)
JATUHKAN PEMICU (Transact-SQL)
AKTIFKAN PEMICU (Transact-SQL)
NONAKTIFKAN PEMICU (Transact-SQL)
EVENTDATA (Transact-SQL)
Mendapatkan Informasi Tentang Pemicu DML
sp_help (T-SQL)
sp_helptrigger (T-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (T-SQL)
sys.sql_modules (T-SQL)
sys.assembly_modules (T-SQL)
sys.server_triggers (T-SQL)
sys.server_trigger_events (T-SQL)
sys.server_sql_modules (T-SQL)
sys.server_assembly_modules (T-SQL)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk