以前に作成したトリガーを削除および変更したいのですが、データベース内のどこでもそれらを見つけることができません。それらが存在する場所とそれらを編集または削除する方法
テーブルノードの下にトリガーがあります。
SSMS(SQL Server Management Studio)のTables
ノードの下に、各テーブルにTriggers
ノードがあります。
そこからトリガーを管理できます。
より良い方法は次のとおりです。
select a.[name] as trgname, b.[name] as [tbname]
from sys.triggers a join sys.tables b on a.parent_id = b.object_id
トリガーが置かれていると思われるデータベースに対して実行してください。
SQL Server Management Studioの管理ビューにクエリを実行して、トリガーを見つけることもできます。
SELECT
OBJECT_NAME(object_id) 'Table name', *
FROM
sys.triggers
これにより、すべてのトリガーのリストと、現在のデータベースに対して定義されているテーブルが表示されます。次に、それらを無効にするか、ドロップします。
以前の回答を少し拡大するには、SQL Serverのすべての最近のバージョンで、トリガーを右クリックして選択します:Script Trigger as… ALTER To… "New Query Editor Window"
これにより、トリガーの詳細を含むSQLスクリプトが開きます。コードを読むと、ALTER構文が含まれていることがわかります。ALTER TRIGGER [dbo].triggername ...
これは、SQLを編集し、実行を押してトリガーを変更できることを意味します。これにより、以前の定義が上書きされます。
自動化されたツールを使用してトリガーが作成されている場合、トリガー定義に重複するコードがあり、削除することがあります。
何かを編集しようとする前に、最初にスクリプトを実行してみる価値があります。トリガー定義が有効であるかどうかがわかります。テーブルまたは列の名前が変更された場合、同期が取れなくなる可能性があります。
トリガーの削除/ドロップと同様に、完全に選択します:Script Trigger as… DROP To… "New Query Editor Window"
そして、それを実行します。