Trong project hiện tại, có 1 SQL Server instance được host nhiều database giống nhau về cấu trúc và đang có những trigger hoạt động trên những table giống nhau.
Tôi được yêu cầu viết 1 đoạn script drop tất cả trigger trên các database này.
Đây là đoạn script của tôi, điểm mấu chốt ở đây là undocumented Stored Procedure sp_MSforeachdb, cho phép ta thực thi T-SQL scripts trên nhiều database trong 1 SQL Server Instance.
EXECUTE master.sys.sp_MSforeachdb 'USE [?]; IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N''[dbo].[YourTrigger]'') AND type in (N''TR'')) Drop Trigger [dbo].[YourTrigger];'
0 comments:
Post a Comment