SQL Server Management Studio ExpressのSQLクエリをプレビュー(レトロビュー)する方法

StackOverflow https://stackoverflow.com/questions/232677

  •  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 に設定して、クエリを実行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top