Mark D. Scott

最近、あるクライアントと仕事をしたときに、サービス パックに関する興味深い問題に遭遇しました。IT チームが運用環境の SQL Server に SP2 を適用することを決め、担当チームに要求されると思われる作業を行いました。つまり、SQL Server を使用するアプリケーションで障害が発生しないように、サービス パックをテスト環境のサーバーに適用しました。結果に問題がないように思われたので、IT チームはサービス パックがサーバーに適用されることを組織内のすべての従業員に通知し、そのスケジュールを決定しました。

運用環境にサービス パックを適用する作業は、順調に進みました。IT チームは、ステージング環境、テスト環境、開発環境の順に、サーバーに更新プログラムを配布していきました。こうして教科書どおりに展開が進行しましたが、それも開発者の 1 人が Reporting Services プロジェクトを開こうとするまでの話です。その開発者は突然、大量の奇妙な問題に直面しました。1 つは、開いたレポートの一部を使用できないことです。また、別の開発者が Analysis Services データベースを開くと、異常はありませんでしたが、それも [計算されるメンバ] タブを開こうとするまでの話です。確実に何かが壊れてしまいました。

ご想像のとおり、この問題は、サーバーにサービス パックが適用されたが、開発者のコンピュータにサービス パックが適用されなかったことが原因です。デスクトップにインストールされていた SQL Server クライアント ツールが、サーバー展開ではなくデスクトップ展開の一部と見なされたため、アップグレード時にこれらのツールが考慮されませんでした。つまり、開発者にサービス パックを配布するために、再度一連のテストを行い、配布を構成する作業が必要になりました (すべての開発者のコンピュータで問題が発生したわけではないこと、つまり一部の開発者が方針とは異なるサービス パックを既に自分のデスクトップに適用していたことは述べないでおきます。記事の内容が変わってしまいますからね)。

この厄介な問題は解決されましたが、企業で使用していた一部の分析アプリケーションのメンテナンスが中断されました。この出来事により、サービス パックに関する方針に一貫性がなくわかりにくいことが明らかになりました。また、部門間で適切な意思疎通が行われていないこともわかりました。サービス パックを配布することによって、環境をより安全に保つことができるので、この配布作業は非常に重要です。

一部の組織がサービス パックを適用したがらないのは、サービス パックによって解決される脆弱性よりも、ソフトウェアの配布によるトラブルや混乱を恐れているからです。また、サービス パックに関する方針を持たない組織では、個々のユーザーとシステム管理者が更新プログラムを自由に適用または無視できます。これでは、あるサーバーに更新プログラムが適用され、別のサーバーには適用されないという最悪のメンテナンス状態が発生します。つまり、一部のサーバーは完全に保護されますが、他のサーバーはインストールしたときと同じ状態が続きます。

インフラストラクチャ最適化モデルに関する情報を確認し、より事情に精通している大規模な IT 組織のほとんどは、事前に方針を準備し、こういった問題を回避するための手順を実装する必要があることを理解しています。また、問題の原因となる作業を自動化することによって、このような失敗を防ぐことができることも認識しています。ただし、最終的には、従業員が自分の行動による他の従業員や部門への影響について理解し、お互いに意思疎通を図る必要があります。

サービス パックが自分の領域に与える影響と、関連システムに与える影響の一部を考慮して、自分の領域に関連する問題を回避するのは難しいことではありません。それよりも、自分の領域の外に目を向け、外部で生じる変化がもたらす影響について考えたりすることの方が困難です。私たちはときどき、アプリケーションと同じように、自分たちの枠の中でしか物事を考えられなくなってしまうからです。

ただ、幸運なことに、この問題は比較的簡単に解決しました。この組織には十分に成熟したモデルがあったからです。問題を特定した後 (もう一度言っておきますが、問題に直面したのは規則に従って行動した開発者だけなので、やや混乱を招きました)、更新プログラムは迅速 (かつ自動的) に配布されました。明確な意思疎通を行い、適切にデザインされたシステムを使用することによって、ダウンタイムや中断を最小限に抑えつつ、問題を解決できました。

インフラストラクチャを強化することだけでなく、私たち自身も成熟することが重要ではないでしょうか。サービス パックに関する有効な方針を準備することによって、方法、製品、および人に関する問題に対処できます。

Mark D. Scott は Microsoft Consulting Services のシニア コンサルタントです。彼はクライアントと緊密に連携して、大規模なデータ処理を中心としたアプリケーションの設計と構築を支援しています。連絡先は granddaddy2002@msn.com (英語のみ) または mascott@microsoft.com (英語のみ) です。