週明けからのSQL Server 7.0【SQL Server
】との格闘などいかがでしょう。
我が社(私の担当範囲だけ?)ではMicrosoft SQL Server 7.0が全盛です。
サーバーマシン7台へインストールされたSQL Server7.0。社内基幹システムの一角を担う、大物です。主担当が自分で、サポートに2年目社員1人。要するに2人で○千人企業の社内基幹システムの一角を担っている訳です。社内SEとはやり甲斐のある、責任の重い、辛く悲しい職種なのです。
今日のお仕事は、先々週から少々不調と見受けられるマシンを思い切って更新する事にしました。更新後のマシンは、新品ではなく、同型のバックアップ用のマシンです。2001年モデルというから大したものです。
1日で完了させねば翌日のバッチ処理が止まるのです。まぁ、何度か実施していましたので、1日で完了させる自信(妙な余裕)がありましたので、えいやーで開始。
バックアップマシンですからソフトのインストールなどは既に準備済みで、データベース構造とデータの移行です。
関所は、このようなマシン交換を実施されたことがある方ならお分かりかもしれませんが、最終的にホスト名を移行前に合わせて、ユーザーに意識させずにマシンを交換するところにあります。
単純なファイルサーバーであれば、外部からのアクセスを遮断して、一旦別のホスト名でデータを移行し、データ移行完了後、元のサーバーをLANから切断し、移行後サーバーのホスト名を移行元サーバーのホスト名にすり替えて、IPアドレスも振り直し、アクセス権設定を行って共有フォルダの公開です。
しかーし!DBサーバー、SQL Serverにはここに関所があるのです。OSが認識するホスト名と、SQL Serverが認識するホスト名は別に存在する訳です。
クエリアナライザで、
SELECT @@servername
と打ち込んでみましょう。これでデータベースが認識するサーバー名が出てきます。
Windowsのホスト名は、例えばコマンドプロンプトで
C:>hostname
で表示されます。
そう、両方を変更して、当然ながら両方を一致させる手間があるのです。ご存じの方にとっては容易なことでしょう。
sp_dropserver 'ABCD'
sp_addserver 'VXYZ',local
とやって、サーバー名を 'ABCD' から 'VXYZ' に変更するのです。
それでもOSが認識するサーバー名とデータベースが認識するサーバー名に食い違いが発生します。謎のEnglishエラー発生!あちゃー!
そこで、SQL Server7.0 のCD-ROM登場です。簡単に再セットアップを行うのです。昨今のマイクロソフトのサイトでは記事を見つけることが容易ではないですね。見つからなかった。(汗
普通にセットアップの手順を進めていけば、DBMS本体は再びインストールされることなく、直ぐに完了します。要は、レジストリの更新のようですね。どこだかのレジストリにSQL Serverのサーバー名を覚えているらしく、OSのホスト名の違いに対しエラーを発するようですね。
ん~、何度も実施していないがこの手順に気付くのに3時間を要しました。我ながら情けない。もっとも、何度もと言えど、毎週毎月やる訳で無し、トラブルやハードのバージョンアップの時だけですから、過去に3~4回ってとこなんですが、メモも残っているのに、なぜ忘れるのでしょうね。
社内SEと言うのは日々はパソコンヘルプに追われ、稀に基幹システムの大プロジェクトの総監督をやりながら、緊急のトラブル対応に走るのです。パソコンマニアの知識から、データベース、ネットワークの知識、そして社内の無知(知らない事程強いものはない)と権力と闘い、社外の有能なベンダーSEに対抗せねばならない。そして、人員は間接部門と言うことで極小。
はてさて明日は何が起こるやら。皆様のご検討を祈ります。