1. ホーム
  2. sql-server

[解決済み] SQL Server のストアドプロシージャの最終実行日

2023-09-09 07:49:42

質問

私たちのアプリケーションでは、多くのストアドプロシージャを取得し始めています。その多くはカスタムレポートのためのもので、その多くはもう使用されていません。SQL Server 2005 のシステム ビューで実行できる、ストアド プロシージャが最後に実行された日付を示すクエリをご存知の方はいらっしゃいますか?

どのように解決するのですか?

一言で言えば、「いいえ」です。

ただし、"nice"なことはあります。

  1. プロファイラー トレースを、たとえばストアド プロシージャ名で実行します。
  2. 各 proc の行を追加します (もちろん、タブを作成します)
    • " INSERT dbo.SPCall (What, When) VALUES (OBJECT_NAME(@@PROCID), GETDATE() "
  3. 2 もデュレーションで拡張
  4. 楽しい"ことがあります。

    1. それを削除して、誰が電話をかけてくるか見る
    2. 権利を削除し、誰が電話をかけてくるか見る
    3. 追加 RAISERROR ('Warning: pwn3d: call admin', 16, 1) 誰が電話してきたか確認する
    4. 追加 WAITFOR DELAY '00:01:00' 誰が電話してきたか確認する

    お分かりいただけたでしょうか。IT サポートの試行錯誤の結果、quot; see who calls" という方法が採用されました。

    レポートが Reporting Services である場合、次のことができます。 RS データベースをマイニングする をマイニングすることができます。

    DMV は SQL Server を再起動するとリセットされるため、DMV に依存することはできません。 クエリ キャッシュ/ロックは一時的なものであり、一定期間持続するものではありません。