AKTIFKAN PEMICU (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengaktifkan pemicu DML, DDL, atau masuk.

Konvensi sintaks transact-SQL

Sintaksis

ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }  
ON { object_name | DATABASE | ALL SERVER } [ ; ]  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

schema_name
Adalah nama skema tempat pemicu berada. schema_name tidak dapat ditentukan untuk pemicu DDL atau masuk.

trigger_name
Adalah nama pemicu yang akan diaktifkan.

SEMUA
Menunjukkan bahwa semua pemicu yang ditentukan pada cakupan klausul ON diaktifkan.

object_name
Adalah nama tabel atau tampilan tempat pemicu DML trigger_name dibuat untuk dijalankan.

DATABASE
Untuk pemicu DDL, menunjukkan bahwa trigger_name dibuat atau dimodifikasi untuk dijalankan dengan cakupan database.

SEMUA SERVER
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.

Untuk pemicu DDL, menunjukkan bahwa trigger_name dibuat atau dimodifikasi untuk dijalankan dengan cakupan server. SEMUA SERVER juga berlaku untuk pemicu masuk.

Catatan

Opsi ini tidak tersedia dalam database mandiri.

Keterangan

Mengaktifkan pemicu tidak membuatnya kembali. Pemicu yang dinonaktifkan masih ada sebagai objek dalam database saat ini, tetapi tidak diaktifkan. Untuk mengaktifkan pemicu, menyebabkannya diaktifkan ketika pernyataan Transact-SQL yang awalnya diprogram dijalankan. Pemicu dinonaktifkan dengan menggunakan DISABLE TRIGGER. Pemicu DML yang ditentukan pada tabel juga dapat dinonaktifkan atau diaktifkan dengan menggunakan ALTER TABLE.

Izin

Untuk mengaktifkan pemicu DML, minimal, pengguna memerlukan izin UBAH pada tabel atau tampilan tempat pemicu dibuat.

Untuk mengaktifkan pemicu DDL dengan cakupan server (ON ALL SERVER) atau pemicu masuk, pengguna memerlukan izin CONTROL SERVER di server. Untuk mengaktifkan pemicu DDL dengan cakupan database (ON DATABASE), minimal, pengguna memerlukan izin UBAH PEMICU DDL DATABASE APA PUN di database saat ini.

Contoh

J. Mengaktifkan pemicu DML pada tabel

Contoh berikut menonaktifkan pemicu uAddress yang dibuat pada tabel Address di database AdventureWorks, lalu mengaktifkannya.

DISABLE TRIGGER Person.uAddress ON Person.Address;  
GO  
ENABLE Trigger Person.uAddress ON Person.Address;  
GO  

B. Mengaktifkan pemicu DDL

Contoh berikut membuat pemicu safety DDL dengan cakupan database, lalu menonaktifkan dan mengaktifkannya.

CREATE TRIGGER safety   
ON DATABASE   
FOR DROP_TABLE, ALTER_TABLE   
AS   
   PRINT 'You must disable Trigger "safety" to drop or alter tables!'   
   ROLLBACK;  
GO  
DISABLE TRIGGER safety ON DATABASE;  
GO  
ENABLE TRIGGER safety ON DATABASE;  
GO  

C. Mengaktifkan semua pemicu yang ditentukan dengan cakupan yang sama

Contoh berikut memungkinkan semua pemicu DDL yang dibuat di cakupan server.

Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.

ENABLE Trigger ALL ON ALL SERVER;  
GO  

Lihat Juga

NONAKTIFKAN PEMICU (Transact-SQL)
UBAH PEMICU (Transact-SQL)
BUAT PEMICU (Transact-SQL)
JATUHKAN PEMICU (Transact-SQL)
sys.triggers (Transact-SQL)