私のプロジェクトの目的のために、セッションベースの一時テーブルを使用することはできません。それらは永続的である必要がありますが、ある一定の時間(CRUDは実行されていない)が経過すると自動的に削除されます。これはすべて可能ですか?一定期間使用していない状態でテーブルを削除するにはどうすればよいですか?
答えて
SQL Server Agent
を使用して、この方法で動作するストアドプロシージャを呼び出すジョブをスケジュールできます。 (How to Schedule a Job?)
X時間後に更新されていないテーブルをどのように特定しますか?
使用このクエリ:
SELECT OBJECT_NAME(OBJECT_ID) AS TableName, last_user_update,
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('DatabaseName')
AND OBJECT_NAME(OBJECT_ID) LIKE '%%' -- Here is the template name for your tables
AND DATEDIFF(MINUTE, last_user_update, GETDATE()) > 10 -- Last updated more than 10 minutes
今、あなたは削除するテーブルを持っていることを、あなたは(しながら、手順、カーソルを)それらをドロップしたいものは何でもロジックを使用することができます
これは、サーバーの再起動後に失敗します。 –
サーバの再起動は気にしないので、これは私にとっては最高の選択肢です。 – jplanglais
確かです。あなたのプログラム層にそれを書いてください。
AUTOMATICALLY - SQL Server内:いいえ。あなたはスクリプトを定期的に起動するためにエージェントを常温で使用します。
「非アクティブ」とは、あなたの責任を意味します。
このテーブルの保存日をどこかに(たとえば同じテーブルまたは別の特別なテーブルに)保存してから、最後の変更日を確認してからテーブルを削除するジョブを作成する必要があります。
テーブルが読み取り専用アクティビティで使用される場合はどうなりますか? – Shnugo
**上記のsys.dm_db_index_usage_stats **が優れたソリューションです。しかし、このビューはsqlサービスの再起動後に再作成されます。この場合、** sys.dm_db_index_usage_stats **のデータを別の永久テーブルに定期的に保存することができます。再起動後、インデックスの使用に関するサーバー情報は削除されません。そして、この "統計"テーブルを使用して、テーブルを削除するかどうかを決定することができます。 –
- 1. 一定期間使用していない状態でOpenCartの顧客をログアウトさせるにはどうすればよいですか?
- 2. ローカルキャッシュで使用可能な状態を削除するにはどうすればよいですか?
- 3. enum値を状態図の状態として使用するにはどうすればよいですか?
- 4. IE6で予期しない間隔を削除するにはどうすればよいですか?
- 5. navbar liのアクティブな状態を削除するにはどうすればよいですか?
- 6. jqueryを使用してmysqlの行テーブルを削除するにはどうすればよいですか?
- 7. Reactを使用してテーブルの行を削除するにはどうすればよいですか?
- 8. 角度ユニバーサルアプリケーションで初期状態を設定するにはどうすればよいですか?
- 9. postgresqlのテーブルから一重引用符を削除するにはどうすればよいですか?
- 10. JavaScriptキャンバスのレンダリングコンテキストの状態スタックを削除するにはどうすればよいですか?
- 11. メソッドを後で保存して一定期間スタブするにはどうすればよいですか?
- 12. UISwitchが状態を変更しないようにするにはどうすればよいですか?
- 13. ローカル通知を使用してアプリをスリープ状態にするにはどうすればよいですか?
- 14. 定期的な予定を削除するにはどうすればよいですか? (Android)
- 15. LRUは、一定期間使用されていないエントリを削除しますか?
- 16. 変数を使用してトゥイーンの期間を設定するにはどうすればよいですか?
- 17. Azureウェブサイトがスリープ状態にならないようにするにはどうすればよいですか?
- 18. JavaScriptを使用してハイパーリンクの状態を確認するにはどうすればよいですか?
- 19. Reactive Extensionsを使用して状態をポーリングするにはどうすればよいですか?
- 20. Angular UI-Routerを使用して状態を取得するにはどうすればよいですか?
- 21. jsonファイルを使用してjqueryデータテーブルの状態をロードするにはどうすればよいですか?
- 22. tryステートメントを使用して競合状態を回避するにはどうすればよいですか?
- 23. アプリケーションで使用されていないものを削除するためにQtライブラリを削除するにはどうすればよいですか?
- 24. コミットが決して削除されないようにするにはどうすればよいですか?
- 25. 次の状況で特定のテーブルから行を削除するにはどうすればよいですか?写真を参照してください
- 26. 他のテーブルから一致するレコードを削除するにはどうすればいいですか?
- 27. 検索条件に一致するテーブルを削除するにはどうすればよいですか?
- 28. ドッカーコンテナをエラー状態にするにはどうすればよいですか?
- 29. jQueryを使用してdivの現在の状態を返すにはどうすればよいですか?
- 30. Firebase JobDispatcherで定期的なタスクの期間を設定するにはどうすればいいですか?
* *の並び替え。 'sys.dm_db_index_usage_stats'を使ってアクティビティを追跡し、このデータに作用するスケジュールされたジョブを使用することができます。ただし、このビューはSQL Serverを再起動するたびにクリアされるため、誤ってテーブルを削除しないように注意する必要があります。このデータを読むのもあまり効率的ではありません。おそらく、データレイヤーでこれを明示的にコーディングする方が良いでしょう。 –