1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プリザンターのSQLデバッガーを使ってみよう!!

1
Last updated at Posted at 2026-02-01

はじめに

プリザンターには、開発時にデータベースに発行されるSQLクエリをログ出力するSQLデバッガー機能が搭載されています。
この機能を使えば、どんなSQLが実行されているのか簡単に確認できるので、パフォーマンスのチューニングやトラブルシューティングに役立てることができます。今回は、SQLデバッガーの使い方を紹介します。

SQLデバッガーは開発環境での使用が想定されているため、バイナリがDebugビルドされていることを条件に動作します。リリースされているバイナリはReleaseビルドのため使用することは出来ません。
本番環境などで監視目的で仕込む場合は、Debugビルドのバイナリを自分で用意する必要があります。

どんな機能なの?

プリザンターをDebugビルドで実行すると、すべてのSQLクエリが以下のファイルに自動で出力されます:

ログファイルは最大で1から3の3つ生成されます。ファイルはそれぞれ1MBが上限で、ローテーションしながら書き込まれる仕組みになっています。

使い方

1. Debugビルドで実行する

SQLデバッガー機能はコンパイル時にDEBUGシンボルが定義されている場合のみ有効です。Visual Studioなら、構成をDebugにして実行するだけです。

2. 出力されるログを確認する

アプリケーションを操作すると、自動的にApp_Data/Logs/フォルダにSQLログが出力されます。
出力されるログの例を見てみましょう。

-- [2026-01-27 10:30:45.123 +09:00] -----------------------------------------------------------------------------
use [Implem.Pleasanter];

declare @T int;                                           set @T = 1;
declare @D int;                                           set @D = 1;
declare @U int;                                           set @U = 1;

select
    "Items"."ReferenceId",
    "Items"."SiteId",
    ...
from "Items"
where "Items"."ReferenceId" = @ip1
;

3. SQLの内容を分析する

出力されたSQLはそのままSQL Server Management Studio (SSMS)などで実行できます。これで以下のような分析ができるようになります。

  • 意図したSQLが発行されているかの確認
  • クエリのパフォーマンス分析(実行プランの確認)
  • 不具合の原因調査

データベース別の出力形式

SQLの出力形式はデータベースエンジンによって異なります。

データベース USE文 パラメータ
SQL Server 出力される 変数宣言+SET
PostgreSQL 出力されない インライン置換
MySQL 出力されない インライン置換

PostgreSQLとMySQLではパラメータがそのまま値に置き換えられるので、コピペですぐに実行することが出来る半面、どこがパラメータか特定しにくいため、開発環境などのSQL文のデバックには少し不便ではあります。

注意点

一部のSQLは出力されない

`SysLogs{テーブルへの書き込みなど、一部の内部処理ではログに出力されません。ログ自体の書き込みが無限ループしないようにするための仕様です。

まとめ

今回はプリザンターに組み込まれているSQLデバッガーを使用する方法を紹介しました。開発時のデバッグやパフォーマンスチューニングにぜひ活用してみてください!!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?