KB941422のパッチを当てた後、WSSが動かなくなった
KB941422のパッチを当てた後、WSSにアクセスすると、こんな画面が出るようになってしまいました。

まず、なぜこのパッチを当てたかといえば、理由はDPM 2007で「これあてないとうまくいかないよー」というエントリをmsdn blogで見かけたからです。おそらく修正項目の一つ、「ボリュームシャドウコピー」関係の問題なのでしょう。まずトラブル対処の定番、イベントをみてみます。
これは一体何のことでしょう?要は、SQL Server 2005のスキーマにバージョン情報(ここでは3.0.149)を持っていて、アクセスに来るサーバのアセンブリのバージョン(ここでは3.0.150)と一致していない場合、データ提供を拒否しているということです。パッチは当てたはずなオンにそんな馬鹿なと思って少しさかのぼってみると原因が書いています。
パッチを当てた時、Sharepoint_Configへのアクセス権限がないため、書きかえられていないということです。それでモジュールの置換するんだから、インストーラのバグじゃないかと…げふんげふん。 このdomain\mssqlsvはSQL Server専用に作っているdomain users権限しか持っていないアカウントです。ただしSQL Server内では結構強い権限を当てています。書き換えられないはずはないんですが…。
というか、Domain AdministratorのアカウントでログオンしているんだからそのアカウントでSQL Server認証してパッチ当ててほしいなぁとか思ったりします。これなら間違いなく失敗しないはず。
注意点として、Sharepointのパッチはアンインストールできません。この前リリースされたパッチもそうでした。おそらくデータベーススキーマの都合があるからアンインストールできないのでしょう。やり直しはできません。気軽にやっちゃダメです。
だけど、最初の画像の現象になったらどうすればいいでしょうか?もう一度パッチを当て直し?いえいえ、それでは「すでに当たっています」と表示されて終わりです。バックアップから戻すことも頭をよぎりました(が、最近バックアップ取ってなくてそれは却下)。
今回は無保証の解決方法を一つご紹介。パッチのexeファイルを「名前を付けて実行」から"/extract"オプションを付けて実行します。
c:\>Wss-kb941422-fullfile-x86-glb.exe /extract
すると指定したフォルダに中身が展開されます。今回の場合はsts.mspとライセンス条項のテキストが入っているだけです。構わないので、このsts.mspを実行します。mspとはWindows Installerのパッチパッケージです。アップグレード専用のインストーラファイルと思ってください。
私の場合はこれでうまくいきました。サポートで見つけたわけでも、有料くな情報でもないのですべての環境でうまくいくとは保証できませんので、うのみにしないでください。ほんとWSS(たぶんMOSSも)のパッチ当てには気を付けてください。
これでやっとDPM環境構築できるのかと思ったのですが、まだまだ続きます。