2010-10-01 21 views
5

Một vài ngày trước, tôi đã luyện tập và tôi đã viết một số trigger như thế này:Trình kích hoạt máy chủ lưu trong SQL Server ở đâu?

create trigger trg_preventionDrop 
on all server 
for drop_database 
as 
print 'Can not Drop Database' 
rollback tran 

go 

create trigger trg_preventDeleteTable 
on database 
for drop_table 
as 
print 'you can not delete any table' 
rollback tran 

Nhưng vấn đề là tôi không biết nó ở đâu đã lưu và Làm thế nào tôi có thể xóa hoặc chỉnh sửa những.

Cảm ơn bạn

Trả lời

9

máy chủ kích hoạt

Bạn có thể thấy chúng ở đây

select * from sys.server_triggers 

Để thả sử dụng cú pháp này

drop trigger trg_preventionDrop on all server 

Trong Management Studio họ dưới " Đối tượng máy chủ "->" Trình kích hoạt " nút

Cơ sở dữ liệu kích hoạt

Bạn có thể thấy chúng ở đây

select * from yourdb.sys.triggers 

Để thả sử dụng cú pháp này

drop trigger trg_preventDeleteTable on database 

Trong Management Studio họ theo "Cơ sở dữ liệu" -> " yourdb "->" Programmability "->" Database Triggers "nút

+0

Cảm ơn bạn rất nhiều! – Mostafa

+0

Cơ quan kích hoạt bình thường được lưu trữ trong sys.sql_modules. Các cơ quan kích hoạt máy chủ được lưu trữ ở đâu? –

+0

@zespri 'sys.server_sql_modules' –

2

kích hoạt trên một bảng cụ thể nằm trong thư mục "DataBase" -> "YourDb" -> "YourTable" -> "Kích hoạt" trong Management Studio

cũng có thể tìm thấy trình kích hoạt trên bảng cụ thể bằng cách thực thi sql sau :
EXEC sp_helptrigger yourtablename

Các vấn đề liên quan