SQL Serverチェックリスト


14

私の他の質問に続いて、アラートの観点から、毎日/毎週/毎月のベースで何を検討すべきかについて考え始めたいと思います。私は問題が起こる前に来ることを見ることができることを望んでいます(それは計画です)...

これまでのところ、次のスクリプトを収集し始めました(順序なし):

毎日

  • システムの稼働時間を確認します(DBAとして何かを確認する必要がある場合に備えて)
  • 最後のバックアップを確認する
  • トランザクションログのバックアップを確認する
  • SQLジョブのステータスを確認する
  • 過去24時間(または1140分)の平均CPU使用率を確認します

毎週

  • MSDBバックアップ履歴を確認する
  • CheckDBが最後に実行された時刻を確認する
  • インデックスの断片化を確認する
  • インデックスの統計を確認します(読み取りと書き込みなど)
  • IOのボトルネックを確認する

毎月

  • 不足しているインデックスを確認する
  • 使用されなくなったインデックスを確認する

他の提案はありますか?(私はDBAが初めてなので、どんなヘルプ/アドバイスもいつでも歓迎します)

回答:


3
  1. バックアップ

    • バックアップメールを確認する
    • バックアップの実行にかかった時間(データベースのバックアップ期間)
    • 保守計画に従ってすべてのデータベースがバックアップされていることを確認します
  2. ディスクの空き容量。前回のチェックとは大きく異なることに注意してください。ログファイルは毎月のジョブの影響を大きく受ける可能性があります

  3. ジョブの失敗。失敗のジョブアクティビティをフィルター処理する

  4. システムチェック。SQLログで重大なエラーを探します。

    • アプリケーションログ
  5. 性能

    • すべてのサーバーのパフォーマンス統計を確認します
    • すべての運用サーバーでカウンターが正常範囲内にあることを確認します
  6. 接続性

    • 顧客アプリケーションがデータベースからデータを取得できることを確認します
    • アクセスデータの許容速度を確認する
  7. レプリケーション。各パブリケーションおよびディストリビューターがサブスクリプションごとに実行されていることを確認します

SQL Server DBAチェックリスト

Brad's Sure DBA Checklist

Oracle DBAチェックリスト(役に立つかもしれません)

SQL Server DBAデータベース管理チェックリスト

DBAモーニングチェックリスト

MS SQL Server DBAチェックリスト(多くのチェックリスト)

SQL Server DBAチェックリスト


4

チェックリストで提案するバリエーションは、BACKUPをRESTOREに置き換えることだけです。バックアップが完了したことを確認することは良いスタートです。本当に重要なことは、バックアップから復元できるかどうかです。バックアップの失敗を警告し、リストアのランダムサンプリングを自動化して、バックアップが適切であることを確認します。

毎日/毎週/毎月のチェックリストからの次のステップは履歴です。x / y / zパフォーマンスカウンターのチェックは、今日と昨日を比較するベースラインがなければ意味がありません。今日と昨日を理解しなければ、来月を予測することは不可能です。


2

免責事項:SQL Server DBAではありません

可能であれば、クエリで使用されていないインデックスを毎月確認することをお勧めします。これは絶対にやりたいことです

  • 非常に大きなテーブル
  • 多くのインデックスを持つテーブル
  • 多くの列(3以上)を持つインデックス

4
「使用されていない」ことは、ビジネスサイクル全体を反映していることを確認してください。DBAが数か月使用されなかったインデックスを削除することを決定し、翌日、CFOの四半期レポートが数秒ではなく数時間かかる複数のケースを聞いたことがあります。index_usage_statsに頼ることはできません。あなたが時間をかけて独自の使用統計を維持している場合、私は唯一の...これを行うだろうので、あなたのサーバーは、定期的に再起動された場合は特にのDMV、
アーロン・ベルトラン


2

それを達成するのに役立つ何か... それは無料なのでいくつかの制限がありますが、それは良い概要を得るために非常に良いです。確認する価値:http : //www.idera.com/Products/Free-Tools/SQL-job-manager/

家のセキュリティ面に追加するもの...ユーザーアカウントのログオンアクティビティをキャプチャするためのトレースファイル。これにより、非アクティブなアカウントを簡単に見つけることができます。次に、固定サーバー/データベースロールに誰かが追加されたときに監視するスクリプト。サーバー/インスタンスを管理しているのが自分だけではない場合は特に、sysadmin。


これを行うには、トレースファイルが最善の方法ですか?
トーマスストリンガー

それは私が知っている情報を取得する最も簡単な方法です。トリガーを入れて情報をテーブルまたはログにキャプチャしない限り。SQL 2008を使用している場合、この目的でポリシー管理を使用できます。

@ShawnMeltonというトレースが最善の方法かもしれません。レジストリ(sqlservercentral.com/articles/security/sqlserverauditingpart1/…)を変更して、SQL Serverがすべてのログイン(成功および失敗)を監査する方法があります。最良の意味はわかりませんが、トレースを無期限に実行し続けることに常に不安を感じていました。あなたの考え?
トーマスストリンガー

パフォーマンスに大きな影響を与えるトレースファイルの実行で問題が発生したことはありません。C2監査を有効にしますが、有効にするのは好きではありません。拡張イベントは代替手段を提供し、トレースファイルを使用するより好ましい方法であると想定されています。ログインイベントのオプションがあるかどうかを確認するためにそれらをチェックするかもしれません、私は確かにあるでしょう。私がそれらについて理解していることから、彼らは何らかの形でパフォーマンスに打撃を与えることから除外されています。

いいね 私はあなたに同意する傾向があります。もちろん、C2は間違いなく、必要に応じて使用する状況の1つです。
トーマスストリンガー

0
  • SQL ServerおよびSQL Serverエージェントのエラーログを確認する
  • ミラー化されたサーバー(プリンシパルとミラー)の状態を確認します
  • ジョブの実行時間の変更を確認する
  • クラスター化されたSQLサーバーのアクティブノードを確認する
  • ディスクスペースを確認する
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.