データは今日の経済の王様であり、DBAはデータのセキュリティと保護の最前線にいます。作業は機密性が高いため、データベース管理では細部に細心の注意を払う必要があり、エラーの余地はほとんどありません。しかし、DBAは人間であり、人間は間違いを犯します。
DBAがデータベースのパフォーマンスとデータセキュリティに悪影響を与える可能性のある4つの一般的な間違いと、それらを回避する方法を次に示します。
間違い#1:定期的にバックアップをテストしない
壊滅的な障害が発生した場合にデータベースがバックアップされ、すぐにアクセスできるようにすることは、DBAの最大の責任です。これらのベストプラクティスに従って、バックアップを安全でアクセスしやすくし、最も重要なこととして、必要な場合に機能するようにしてください。
バックアップをクラウドに保存する:バックアップはどこからでも簡単にアクセスでき、クラウドストレージプロバイダーには火災や自然災害が発生した場合にバックアップを保護する自動フェイルオーバー機能があるため、バックアップをクラウドに保存するのが理想的です。
テスト環境で定期的にバックアップを復元して、必要な場合に機能することを確認します。バックアップは機能する場合にのみ役立ちます。危機の真っ只中に問題があり、データが失われていることを確認するのは間違った時期です。 。
バックアップ戦略とプロセスを平易な言葉で文書化し、DBAだけでなく、誰もが理解して従うことができます。災害が発生した場合、システムを復旧して稼働させるために誰が周りにいるのかわかりません。万が一の場合に備えて、ディザスタリカバリとバックアップの計画を作成するときは単純すぎるという側面に誤りがあります。
間違い#2:ページ検証の無効化
SQLServerのページ検証のデフォルトが「なし」にならないのには理由があります。 PAGE_VERIFYをnoneに設定すると、データファイルが検出されない破損に対して開かれたままになります。
代わりに、PAGE_VERIFYをCHECKSUMに設定して、SQL Serverがストレージに出力されるときに各ページにCHECKSUMを書き込み、データがディスクから読み取られるときにCHECKSUMを再計算して比較します。
物事を簡単にするために、Brent Ozarは、すべてのデータベースのページ検証設定を変更するスクリプトを生成する方法を説明しています。
間違い#3:適切なユーザー認証/セキュリティを確保していない
データベースの整合性を維持するには、ユーザー認証と厳格なセキュリティ対策が不可欠です。安全な環境を作成するには、最低限、次の方法が必要です。
- システム管理者の数を制限する
- 強力なパスワードを強制する
- 可能な限り最小限の権限を付与する
- 多要素認証を実装する
- データベースをファイアウォールの背後に配置する
間違い#4:データベースを継続的に監視していない
データベースを綿密に監視していない場合、パフォーマンスが低下する可能性が100%あります。
遅いクエリや理想的とは言えないシステムパフォーマンスを完全に根絶することは不可能ですが、ユーザーへの悪影響を最小限に抑えるための手順があります。
しきい値を超えたときに通知するアラートを設定します。アラートを適切に構成すると、パフォーマンスが向上するだけでなく、健全性も節約されます。今日の監視ツールを使用すると、特定のルールを設定できるため、朝まで簡単に待つ可能性のある誤ったアラームや影響の少ない問題に対応するために夜を過ごす必要がありません。多くのソリューションはモバイルモニタリングも提供しているため、どこからでも問題を評価して診断を開始できます。
リアクティブな監視戦略ではなくプロアクティブな監視戦略を採用する:定期的なシステムヘルスチェックの実施とパフォーマンス分析の長期にわたる追跡は、実行できる最も重要なプロアクティブな対策の2つです。潜在的な問題に先制的に対処するか、ユーザーが影響を受ける前にパフォーマンスの問題を迅速かつ効率的に停止することは、ノンストップの消火活動よりも常に望ましいことです。
データベース監視を最大限に活用する:監視ソリューションから最大限のROIと保護を得るには、必ず5つの主要な領域に焦点を合わせてください。
- ワークロードを理解する
- ビジネスニーズを満たすツールを選択してください
- 主要なパフォーマンス指標を追跡する
- ボトルネックを回避する
- パフォーマンスデータを収集(および使用)
スーパースターDBAになるその他の方法
これらの4つのよくある間違いを回避することで、企業のMVPとしての評判が確固たるものになりますが、DBAが採用できる追加の習慣がいくつかあり、組織の貴重なデータの保護にさらに貢献し、システムのパフォーマンスを最適なレベルに保つのに役立ちます。
自動化: データベースのプロビジョニング、パッチ適用、診断などの繰り返し発生するタスクを自動化することで、人的エラーのリスクを軽減し、DBAを解放して人的入力を必要とするより価値の高いタスクに取り組むことができます。
メンテナンス: 優先度の高い作業が発生すると、見落としやメンテナンスの延期が発生しやすくなります。チェックリストを作成して、バックアップ、アラーム管理、最適化などの日常的なメンテナンスタスクを常に把握できるようにします。データベースのメンテナンスを最新の状態に保つことは、パフォーマンスの問題を開始する前に軽減するための優れた方法です。