SQLストアドプロシージャをファイルにエクスポートしてスクリプトを生成する

以前の記事では、SQL Serverデータベース内の不完全な開いているトランザクションを検索して削除する一般的なアルゴリズムを見直し、不完全なトランザクションを修正するためのテーブルとCRUDストアドプロシージャを作成し、ドキュメントのワークフローを生産的で便利にするための多数の設定を実装しました。

ここで、ストアドプロシージャをエクスポートしてテストし、そのコードを生成してスクリプトに変換しましょう–適切なエントリパラメータを指定すること

SQL Serverでストアドプロシージャをエクスポート

ストアドプロシージャをファイルにエクスポートしたり、ストアドプロシージャを他のソリューションにコ これを行うには、次の手順に従います:

  • オブジェクトエクスプローラーで、データベースを右クリックします
  • 表示されるコンテキストメニューからタスクを選択します
  • スクリプトの生成コマン
スクリプトの生成コマンド
の選択図。 1スクリプトの生成コマンドの選択
  • スクリプトを作成するオブジェクトを選択します
スクリプトを作成するオブジェクトの選択
図。 2スクリプトを作成するオブジェクトの選択
  • スクリプトオプションの設定ウィンドウで、ファイルにスクリプトを選択します
ファイルへのスクリプトの選択
図3. ファイルへのスクリプトの選択
  • 生成されたスクリプトをターゲットデータベースに対して実行します。

これらのすべての手順が実行されると、エクスポートされたストアドプロシージャの生成されたスクリプトが取得されます。

ストアドプロシージャのテスト

パート2で作成したストアドプロシージャに戻りましょう。 ストアドプロシージャにカーソルをドラッグすると、ドロップダウンメニューがポップアップ表示されます:

ストアドプロシージャドロップダウンメニュー
図4。 ストアドプロシージャドロップダウンメニュー

正常に動作するには、ストアドプロシージャに説明が必要です。 まだ追加されていない場合は、次のスクリプトを実行してください:

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identification of frozen transactions (forgotten ones that do not have active requests) with their subsequent removal' , @level0type=N'SCHEMA',@level0name=N'srv', @level1type=N'PROCEDURE',@level1name=N'AutoKillSessionTranBegin'
GO

または、オブジェクトの拡張プロパティに移動します:

ストアドプロシージャの説明を追加する
図。5ストアドプロシージャの説明の追加

このメソッドを使用して説明を追加することもできます。

ストアドプロシージャのコード生成

ストアドプロシージャのドロップダウンメニューを右クリックし、”スクリプトオブジェクトを作成/変更する”を選択”:

を選択する。6コンテキストメニュー

で”スクリプトオブジェクトを作成/変更として”を選択すると、オブジェクト変更のスクリプトがポップアップ表示されます。 オブジェクトがない場合は、それを作成するためのスクリプトがあります。 このスクリプトは、適切なMS SQL Serverインスタンスに簡単に移動できます。

ストアドプロシージャコードをスクリプトに変換

ドロップダウンメニューで”EXECをスクリプトに変換”を選択できます:

を選択する。7SQL Completeメインメニュー

で”EXECをスクリプトに変換”コマンドを選択すると、ストアドプロシージャを呼び出すのではなく、スクリプトが作成され、入力パラメータが変数になり、ストアドプロシージャの内容がスクリプトになります。 これは、コードをテストするときに便利な機能です:

ストアドプロシージャ
からスクリプトを作成した結果。8ストアドプロシージャからスクリプトを作成した結果

これで、エントリパラメータの適切な値を設定することにより、任意のホストまたはホストのグルー

クエリ作成履歴

もう一つの重要な機能–SQL Complete:以前のクエリを表示する実行履歴を確認しましょう。 これを行うには、[SQL Complete:Execution History]ボタンをクリックします。:

9SQL Completeメインメニュー

で”実行履歴”コマンドを選択すると、次のウィンドウが表示されます:

実行されたスクリプトの表示
図。10実行されたスクリプトの表示

ウィンドウの左上隅には単語と時間範囲のフィルタが含まれ、右隅にはフィルタに入力されたデータに基づいて検 ウィンドウの下側には、テーブルから選択されたクエリが表示されます。

テーブルは次の列で構成されています:

  1. ステータス–クエリが正常に完了したかどうか(緑の円に白いチェックマーク)かどうか(赤い円に白い十字)
  2. QueryText–クエリテキストを表示
  3. Size(Bytes)–バイト単位で測定さクエリが実行されるのにかかった時間
  4. file–ファイル名とそのフルパスを表示
  5. server–サーバー名を表示
  6. user–スクリプトを実行したユーザーを表示
  7. database–ファイル名とフルパスを表示
  8. server–サーバー名を表示
  9. user–スクリプトを実行したユーザーを表示
  10. database-スクリプトを実行したユーザーを表示
  11. database-スクリプトを実行したユーザーを表示
  12. スクリプトが実行されたデータベース

“QueryText”および”Execution On”列の検索は、”Search”および”From/To”フィルタで行われます。

適切な列のヘッダーをクリックすることで、データ列を昇順または降順に並べ替えることもできます。 デフォルトでは、”実行時”列の並べ替えは降順で有効になっています。

SHIFTボタンを押すと、複数の列を同時に並べ替えることができます。 フィルター記号をクリックして、より複雑なフィルターを設定することもできます:

カラムフィルタの設定
図11に示すように、カラムフィルタの設定を行います。11列フィルタリングの設定

ストアドプロシージャ名”AutoKillSessionTranBegin”を”検索”フィルタに入力しましょう:

ストアドプロシージャは、
図で検索します。12″実行履歴”タブでストアドプロシージャ検索

その結果、srvの完全な作成履歴が得られます。前に説明したAutoKillSessionTranBegin手順。

適切なテーブル行を右クリックすると、新しいウィンドウでスクリプトを開くか、クリップボードにコピーして必要な場所に貼り付けることができます:

図から選択したスクリプトをコピーします。13″実行履歴”タブから選択したスクリプトのコピー

テーブル行の目的のスクリプトをダブルクリックすると、新しいウィンドウでスクリプトを開くことが

実行履歴の保存期間、最大クエリサイズ、履歴保存パスを指定することもできます:

図は、
図である。14. SQL Complete

の”実行履歴”コマンド設定では、実行履歴機能の詳細については、こちらを参照してください。

それだけだ、みんな。 新しい機能は、開発、テスト、および適切なMS SQL Serverインスタンスに移動されました。

  • 著者
  • 最近の投稿
エフゲニー-グリブコフ

Evgeniy Gribkov

EvgeniyはMS SQL Serverデータベースアナリスト、開発者、および管理者です。 彼は、SQL Serverデータベース管理ツールの開発とテストに携わっています。 EvgeniyはSQL Server関連の記事も書いています。

エフゲニー-グリブコフ

Evgeniy Gribkovによる最新の投稿(すべて見る)

  • SQL Serverでローカル一時テーブルを削除するためのストアドプロシージャの作成-2021年6月16日
  • 専用リンクソース管理リポジトリ-2021年5月6日
  • SQL Serverのソー5, 2021

sql complete,sql server,sql serverトランザクション,sqlストアドプロシージャ

Leave a Reply

メールアドレスが公開されることはありません。