SQL Server DBA ユーティリティ集

Data

概要

このリポジトリは、SQL Server の現場運用で役立つ T-SQL スクリプトのコレクションです。著者が DBA やデータエンジニアとして長年にわたり蓄積したスクリプトをまとめており、パフォーマンスチューニング、ブロッキングやデッドロックの解析、バックアップ/リストア、インデックス管理、日次のヘルスチェック、ストレージやファイルの分析、TempDB 診断、トランザクションログ監視など、運用で頻繁に必要となるタスクをカバーします。SSMS 上で即実行できるクエリ形式が中心で、環境に合わせてパラメータ化して使うことを想定しています。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 1
  • メインの言語: 未指定

主な特徴

  • 実運用で使われてきた T-SQL スクリプトをカテゴリ別に整理(パフォーマンス、バックアップ、インデックス等)
  • 監視・トラブルシューティングに有用なクエリが中心で、SSMS で即実行可能
  • スクリプトは運用に合わせてパラメータ化・自動化(SQL Agent 等)して利用する想定
  • 小規模だが実用的なツールセット/テンプレートとして拡張しやすい設計

技術的なポイント

このリポジトリの中心は「現場で実際に役立つ T-SQL のパターン集」です。具体的には、動的管理ビュー(DMV)を活用した問題検出クエリや、インデックスの断片化状況を取得して再構築・再編成の判断に使うスクリプト、現在のブロッキングや待機イベントを解析するためのクエリ群が想定されています。たとえば sys.dm_exec_query_stats や sys.dm_exec_requests、sys.dm_os_waiting_tasks を組み合わせて CPU や I/O ホットスポット、ロック競合の原因クエリを特定する式が含まれることが多く、これにより実行計画や最新のキャッシュ情報を参照してパフォーマンスチューニング方針を立てられます。

バックアップ/リストア関連では msdb のバックアップ履歴(backupset)や RESTORE VERIFYONLY、DBCC CHECKDB の呼び出しなどを用いた検証手順が想定され、定期ジョブでの自動化に適した出力形式(結果をテーブルへ吐く、メール通知など)に加工することも容易です。TempDB の診断ではファイル別の使用状況やPFS/GAM/SGAM による競合、同時実行時のラッチ待ちなどを観察するクエリが有効で、複数ファイル化や初期サイズ調整の判断材料を提供します。

セキュリティ面では、一部のスクリプトが VIEW SERVER STATE や sysadmin 権限を要求するため、実行前に権限と影響範囲を確認することが重要です。また、Azure SQL や Managed Instance などクラウド環境では利用できる DMV や管理機能が異なるため、移行時は互換性チェックとクエリの差し替えが必要です。運用での利用方法としては、スクリプトをストアドプロシージャ化してパラメータ化、結果をログ用テーブルへ保存し、SQL Agent や PowerShell、dbatools と組み合わせて自動化・監視パイプラインに組み込むのが実践的です。軽量なテンプレート群として、まずは非本番で検証し、ログ出力やエラーハンドリングを追加してから本番運用に移すことを推奨します。(約700字相当)

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file

README にはカテゴリ一覧(Performance Tuning、Blocking & Deadlocks、Backup / Restore、Index Management、Daily Health Checks、Storage & File Analysis、TempDB Diagnostics、Log File Monitoring)と各フォルダの使い方の説明が記載されています。現在のリポジトリは README のみですが、将来的にカテゴリ別のスクリプトフォルダが展開される想定です。

まとめ

実運用で磨かれた T-SQL パターン集。導入とカスタマイズですぐに役立つツール群。 (50字程度)

リポジトリ情報: