ในบางกรณีที่ผู้ใช้ต้องการเพิ่มประสิทธิภาพให้กับเทเบิล (Table) โดยเฉพาะการนำเข้าข้อมูลปริมาณมากเข้าไปยังเทเบิล การปิดการทำงานหรือ Disable ของทริกเกอร์ (Trigger) ก็เป็นอีกวิธีหนึ่งที่จะทำให้การนำเข้าข้อมูลทำได้เร็วขึ้น โดยผู้ใช้สามารถทำได้ทั้งผ่าน SSMS (SQL Server Management Studio) และ คำสั่ง SQL
การ Disable และ Enable Trigger ผ่าน SSMS
- คลิกขวาทริกเกอร์ตัวที่ผู้ใช้ต้องการจะ Disable หรือ Enable
- จะมีเมนูปรากฏขึ้นมา ให้คลิก Disable หรือ Enable ตามที่ผู้ใช้ต้องการ
การ Disable และ Enable Trigger ผ่านคำสั่ง SQL
คำสั่งที่ปรากฏจะใช้ได้ตั้งแต่ SQL Server 2008 ขึ้นไป
คำสั่งที่ใช้ในการ Disable Trigger
DISABLE TRIGGER ชื่อทริกเกอร์ ON ชื่อเทเบิล
ผู้ใช้ยังสามารถ Disable Trigger ทุกตัวในเทเบิลโดยใช้คำสั่ง
DISABLE TRIGGER ALL ON ชื่อเทเบิล
คำสั่งที่ใช้ในการ Enable Trigger
ENABLE TRIGGER ชื่อทริกเกอร์ ON ชื่อเทเบิล
ผู้ใช้ยังสามารถ Enable Trigger ทุกตัวในเทเบิลโดยใช้คำสั่ง
ENABLE TRIGGER ALL ON ชื่อเทเบิล
ยกตัวอย่าง ผู้ใช้ต้องการ Disable ทริกเกอร์ที่ชื่อ iuPerson ซึ่งเกาะอยู่กับเทเบิล Person.Person คำสั่งที่ใช้จะเป็นดังนี้
DISABLE TRIGGER Person.iuPerson ON Person.Person
การตรวจเช็คสถานะของทริกเกอร์ผ่าน SSMS
สถานะของทริกเกอร์ว่า Enable หรือ Disable ให้ดูจากไอคอน ถ้ามีลูกศรแดงชี้ลง แสดงว่าทริกเกอร์ตัวนั้นถูก Disable อยู่
การตรวจเช็คสถานะของทริกเกอร์ผ่านคำสั่ง SQL
ให้ใช้คำสั่งต่อไปนี้
SELECT name, [object_id], is_disabled FROM sys.triggers WHERE name = 'ชื่อทริกเกอร์'
หากคอลัมน์ is_disabled มีค่าเป็น 1 แสดงว่าสถานะของทริกเกอร์ถูก Disable อยู่ หากเป็น 0 แสดงว่า Enable