ホームページ データベース mysql チュートリアル SQL Server 2008 で特定のテーブルを変更する SQL ステートメントをログに記録するにはどうすればよいですか?

SQL Server 2008 で特定のテーブルを変更する SQL ステートメントをログに記録するにはどうすればよいですか?

Jan 03, 2025 pm 02:01 PM

How Can I Log the SQL Statements That Modify a Specific Table in SQL Server 2008?

テーブルに影響を与えた SQL のログ記録

列の更新元を特定するには、影響を受けるテーブルにトリガーを作成します。変更の原因となった SQL をキャプチャします。 Microsoft SQL Server 2008 でこれを実現する方法を見てみましょう。

トリガーの作成

DDL ステートメントを使用して、テーブル更新の SQL をログに記録するトリガーを作成できます。 :

CREATE TRIGGER trigger_name ON table_name
AFTER UPDATE
AS
BEGIN
    -- Declare a variable to store the executed SQL
    DECLARE @sql_text VARCHAR(MAX);
    
    -- Retrieve the executed SQL from the context_info() function
    SET @sql_text = CAST(EVENTDATA() AS NVARCHAR(MAX));
    
    -- Insert the SQL text into a log table or perform other desired actions
    INSERT INTO log_table (sql_text) VALUES (@sql_text);
END;
ログイン後にコピー

実行されたファイルへのアクセスSQL

トリガーが作成されると、トリガー コード内で EVENTDATA() 関数を使用して、実行された SQL をキャプチャできます。 EVENTDATA() 関数は、現在のデータベース イベント (イベントの原因となった SQL テキストなど) に関する情報へのアクセスを提供します。この情報を抽出すると、列更新のソースを特定できます。

追加メモ:

  • trigger_name、table_name、log_table を適切なものに置き換えてください。
  • 電子メールの送信やファイルへの書き込みなど、追加のアクションを実行するトリガーをカスタマイズできます。
  • トリガーを使用する場合は、パフォーマンスへの影響を考慮してください。これらはデータベース全体の応答性に影響を与える可能性があります。

以上がSQL Server 2008 で特定のテーブルを変更する SQL ステートメントをログに記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DockerでのMySQLメモリの使用を減らします DockerでのMySQLメモリの使用を減らします Mar 04, 2025 pm 03:52 PM

DockerでのMySQLメモリの使用を減らします

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

mysqlの問題を解決する方法共有ライブラリを開くことができません mysqlの問題を解決する方法共有ライブラリを開くことができません Mar 04, 2025 pm 04:01 PM

mysqlの問題を解決する方法共有ライブラリを開くことができません

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Mar 04, 2025 pm 03:54 PM

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

sqliteとは何ですか?包括的な概要 sqliteとは何ですか?包括的な概要 Mar 04, 2025 pm 03:55 PM

sqliteとは何ですか?包括的な概要

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド Mar 04, 2025 pm 03:49 PM

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

See all articles