SQL Server Management Studio ExpressのSQLクエリをプレビュー(レトロビュー)する方法
-
04-07-2019 - |
質問
SQL Server Management Studio Expressが実行しようとしている(または実行したばかりの)SQLコマンドをプレビュー(または、少なくとも一種のログファイルなどで)表示できる場合は教えてください
過去に、サーバーで実際に実行する前にSQLクエリを実行するEmbarcadero DBArtisanを使用していたため、Management Studioでこの機能を使用したいと考えています。
「変更スクリプトを自動生成」オプションが見つかりましたが、DDL SQLクエリのみが表示されます (構造の変更)、データの変更ではありません。
解決
Management Studioを使用するときに実行される基になるクエリを表示するという質問に答えるには、2つの方法があります。
Management Studioのほとんどのダイアログボックスでは、変更スクリプトをファイルまたはクリップボードに生成できます。このスクリプトは、開発、ステージング、および運用サーバー間で変更を適用するだけでなく、内部のピークに役立ちます。
別の解決策は、SQL Server Profilerを実行し、フィルタリングすることです
- Management StudioのApplicationName
- アカウントのログイン名
一部の標準T-SQLトレーステンプレートは問題ありません。または、カスタムトレーステンプレートにT-SQL SQL:BatchCompletedおよびSQL:BatchStartingイベントのTextDataフィールドを含める場合は
他のヒント
クエリプロファイラ(SQLから)を使用して、クエリを表示し、トランザクションに埋め込まれたSQLクエリで、最後にロールバックを実行できます。
BEGIN TRAN
INSERT INTO Clients
SELECT 'Bruno', 'Alexandre';
END
ROLLBACK TRAN
トランザクションをロールバックすると、プロセスはBEGIN TRANの最初に戻り、何も行われなかったことを確認できます。これは、クエリがコミットされ、SQLでエラーが発生した場合に安全にロールバックする方法です...
like:
IF @@ERROR > 0 GOTO Error
:Error
ROLLBACK TRANSACTION
使用できます
SET SHOWPLAN_TEXT ON
バッチの開始時に、クエリのプランとテキストをエコーバックします。 SHOWPLAN_TEXT
がオンの場合、クエリは行に影響しません。
その後、 SHOWPLAN_TEXT
を OFF
に設定して、クエリを実行できます。