CREATE OR REPLACE View はストアドプロシージャでは実行可能ですが、トリガから呼び出すと以下のようなエラーが返ります。
ERROR 1422: Explicit or implicit commit is not allowed in stored function or trigger.
ネット検索してみたところ、以下の命令を含むストアドプロシージャをトリガ呼び出しすると、暗黙のコミットが起こり、肝心のストアドプロシージャが実行されないらしいです。
ALTER FUNCTION, ALTER PROCEDURE, ALTER TABLE, BEGIN, CREATE DATABASE, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, DROP DATABASE, DROP FUNCTION, DROP INDEX, DROP PROCEDURE, DROP TABLE, LOAD DATA INFILE LOCK TABLES, RENAME TABLE, SET AUTOCOMMIT=1, START TRANSACTION, TRUNCATE TABLE, UNLOCK TABLES
参ったな...。
参考:暗黙のコミットを引き起こすステートメント
関連リンク:『売上猫くん on MySQL』開発日記の記事一覧
2010-09-22
『売上猫くん on MySQL』開発日記 - 番外12 - トリガの制約
2010-09-17
Officejet H470 の無線LANがおかしい
知人が「一昨日からHP Officejet H470(無線接続)で印刷できない」という。 このプリンタは本年8月に知人が購入したもので、軽量ポータブル、バッテリ可動可、無線LAN接続可能で2万弱(本体)というなかなかの優れモノ(いや、HPのプリンタは紙詰まりが多発することを除くと、なかなか良い)。
そこで復旧にトライ。先ず電源OFFができないので、電源コードを引きぬき、バッテリも外し、再度装着し、電源をいれる。 こんどはONに成功。 ところがやはりPCからは接続も印刷できない。 よくみると、プリンタのワイヤレスLANアダプタのランプが点灯していない。 これはこのアダプタが壊れたに違いない、と確信してHPに電話をかけると、「電源とバッテリとアダプタを抜いて3分待って、再度装着してください」とのこと。「そんなことやっても駄目だよ、LANアダプタの故障なんだからさぁ~」と思いつつ、渋々言われたとおりに3分待って装着、電源投入。
「ぬ、ぬ、ぬ、ぬぅ!!!」、なんと、LANアダプタのランプが青色に点灯するではないか。あっさり、印刷もできるようになった。
疑ってごめんなさい > サポートの人
土屋
そこで復旧にトライ。先ず電源OFFができないので、電源コードを引きぬき、バッテリも外し、再度装着し、電源をいれる。 こんどはONに成功。 ところがやはりPCからは接続も印刷できない。 よくみると、プリンタのワイヤレスLANアダプタのランプが点灯していない。 これはこのアダプタが壊れたに違いない、と確信してHPに電話をかけると、「電源とバッテリとアダプタを抜いて3分待って、再度装着してください」とのこと。「そんなことやっても駄目だよ、LANアダプタの故障なんだからさぁ~」と思いつつ、渋々言われたとおりに3分待って装着、電源投入。
「ぬ、ぬ、ぬ、ぬぅ!!!」、なんと、LANアダプタのランプが青色に点灯するではないか。あっさり、印刷もできるようになった。
疑ってごめんなさい > サポートの人
土屋
2010-09-15
ドメインにログインできなくなって泣かされる
先日、64ビット版の Windows Server 2008 を Windows Server 2008 R2 にアップグレードしましたが、一見何の問題もなく成功したかのように思われたアップグレードも、イベントを見てみると結構エラーが出ていました。
特に気になったのが、別サーバで運用している Active Directory ドメインコントローラから今回アップグレードした Windows Server 2008 R2 マシンがうまく対話しなくなってしまったので、一度 Active Directory のメンバから外して再登録をしてみたところ、ログイン不能となってしまいました。
結論から言うと、OS のアップグレードを行うと Active Directory とクライアントマシンとのセキュアチャネルの一部に不整合が生じるため、これをリセットすると解決するようです。
良い例
OS をアップグレードした後に、Active Directory ドメインコントローラを運用しているマシンから Active Directory ユーザーとコンピュータを開き、アップグレードを行ったコンピュータを右クリックし、サブメニューから「アカウントのリセット」を選択します。
すると、アカウントがリセットされたコンピュータの再度起動時に認証情報の再同期が行われ、ログイン可能な状態となります(セキュアチャネルが修復されるので、認証絡みのエラーや警告がイベントログに記録されなくなる)。
悪い例(当方の失敗例)
Active Directory ユーザーとコンピュータを開き、アップグレードを行ったコンピュータを右クリックし、サブメニューから「削除」を選択し、再度同名のコンピュータを登録すると、再起動時にセキュアチャネルが破損した状態となり、ログインできなくなります。
よほどのことがないかぎり、コンピュータは削除しないようにしましょう。
万が一、この手順でコンピュータを削除してしまったために、ドメインにログインできなくなってしまった場合は、下図のようにコンピュータを一度ドメインから外し(任意のワークグループに参加させるなど)てコンピュータを再起動し、再度ドメインに参加させるように構成するとセキュアチャネルが再構築されるようになります。
重要
対象のコンピュータが証明書サーバ(証明書サービスをインストールしている)の場合、ドメイン変更やコンピュータ名の変更ができなくなるため、アカウントのリセットやコンピュータの削除を行う前に証明書サービスを一旦アンインストールする必要があります。
ドメインセキュアチャネルが破損しているかどうか調べる方法
ドメインにログインしようとしたときに「サーバーのセキュリティ データベースにこのワークステーションの信頼関係に対するコンピュータ アカウントがありません。」というメッセージが表示されてログインできなくなっている場合には、セキュアチャネルに何らかしらの問題がある可能性があります。
クライアントマシンのコマンドラインからセキュアチャネルのリセットを試みることで、セキュアチャネルが破損しているかどうか判断できます。
a. netdom コマンドを使ってリセット
netdom reset /d:[ドメイン名]
例:netdom reset /d:local.jp
このコマンド実行が失敗する場合は、セキュアチャネルが確立されていない(破損している)可能性があります。
b. nltest コマンドを使ってリセット
nltest [ローカルマシン名] /SC_Reset:[ドメイン名]
例:nltest MyMachine /SC_Reset:local.jp
このコマンド実行が失敗する場合はセキュアチャネルが確立されていない(破損している)可能性があります。
特に気になったのが、別サーバで運用している Active Directory ドメインコントローラから今回アップグレードした Windows Server 2008 R2 マシンがうまく対話しなくなってしまったので、一度 Active Directory のメンバから外して再登録をしてみたところ、ログイン不能となってしまいました。
結論から言うと、OS のアップグレードを行うと Active Directory とクライアントマシンとのセキュアチャネルの一部に不整合が生じるため、これをリセットすると解決するようです。
良い例
OS をアップグレードした後に、Active Directory ドメインコントローラを運用しているマシンから Active Directory ユーザーとコンピュータを開き、アップグレードを行ったコンピュータを右クリックし、サブメニューから「アカウントのリセット」を選択します。
すると、アカウントがリセットされたコンピュータの再度起動時に認証情報の再同期が行われ、ログイン可能な状態となります(セキュアチャネルが修復されるので、認証絡みのエラーや警告がイベントログに記録されなくなる)。
悪い例(当方の失敗例)
Active Directory ユーザーとコンピュータを開き、アップグレードを行ったコンピュータを右クリックし、サブメニューから「削除」を選択し、再度同名のコンピュータを登録すると、再起動時にセキュアチャネルが破損した状態となり、ログインできなくなります。
よほどのことがないかぎり、コンピュータは削除しないようにしましょう。
万が一、この手順でコンピュータを削除してしまったために、ドメインにログインできなくなってしまった場合は、下図のようにコンピュータを一度ドメインから外し(任意のワークグループに参加させるなど)てコンピュータを再起動し、再度ドメインに参加させるように構成するとセキュアチャネルが再構築されるようになります。
重要
対象のコンピュータが証明書サーバ(証明書サービスをインストールしている)の場合、ドメイン変更やコンピュータ名の変更ができなくなるため、アカウントのリセットやコンピュータの削除を行う前に証明書サービスを一旦アンインストールする必要があります。
ドメインセキュアチャネルが破損しているかどうか調べる方法
ドメインにログインしようとしたときに「サーバーのセキュリティ データベースにこのワークステーションの信頼関係に対するコンピュータ アカウントがありません。」というメッセージが表示されてログインできなくなっている場合には、セキュアチャネルに何らかしらの問題がある可能性があります。
クライアントマシンのコマンドラインからセキュアチャネルのリセットを試みることで、セキュアチャネルが破損しているかどうか判断できます。
a. netdom コマンドを使ってリセット
netdom reset /d:[ドメイン名]
例:netdom reset /d:local.jp
このコマンド実行が失敗する場合は、セキュアチャネルが確立されていない(破損している)可能性があります。
b. nltest コマンドを使ってリセット
nltest [ローカルマシン名] /SC_Reset:[ドメイン名]
例:nltest MyMachine /SC_Reset:local.jp
このコマンド実行が失敗する場合はセキュアチャネルが確立されていない(破損している)可能性があります。
Windows Server 2008 サーバーマネージャの役割が表示されないときの対応方法
さて困った...役割追加したいだけなのになぜか真っ白
Windows Server 2008 のサーバーマネージャから新しい役割を追加をしようしたところ、画面にさり気なく「エラー」と表示され、役割欄は真っ白いままという状況が起こりました。
こうなってしまってはインストール済みの役割を参照することも、役割を追加したり削除したりすることもできません。
以下の画面は、画面下の「エラーの詳細」リンクをクリックしたときに表示されたエラーメッセージです。
サーバー マネージャーの更新中に予期しないエラーが発生しました:
リモート プロシージャー コールに失敗しました。(HRESULT からの例外: 0X800706BE)
このエラーはイベント ID1601 として記録されています。
エラーの詳細はイベントビューアより、「アプリケーションとサービス ログ」→「Microsoft」→「Windows」→「Server Manager」→「Operational」の順に辿ることによって確認できます。
この画面のように、イベント ID1601 が大量に記録されている場合は、おそらく当方が遭遇した障害とほぼ同じと考えても良いのではないかと思います。
Microsoft 技術情報を頼りに対応してみる
この現象については回避策が Microsoft 社で提示されているのですが、自動翻訳があまりにも酷いため英語版を参考に対応してみました。
参考ページ:You receive an error message in Windows Server 2008 if you click Roles under the Server Manager console(Windows Server 2008 のサーバー マネージャーコンソールの役割をクリックするとエラーが返る)
1. 「スタート」→「ファイル名を指定して実行」の順に選択し、表示されたボックスに dcomcnfg.exe と入力して OK を押すと、コンポーネントサービスが開きます。
2.左ペインのツリーより、「コンポーネント サービス」→「コンピュータ」の順に展開すると、右ペインに[マイ コンピュータ]というアイコンが表示されるので、それを右クリックしてプロパティを表示させてから、「既定のプロパティ」タブを選択します。
下図のように、設定の確認と変更を行います。
[既定の認証レベル] --- 接続(「なし」に設定されていたときのみ。)
[既定の偽装レベル] --- 識別する
3.“OK”をクリックしてプロパティシートを閉じ、コンポーネントサービスを閉じます。
これでもう一度サーバー マネージャを開いて役割が参照できるか試してみてください。
(因みに当方ではこれでは解決しませんでした)
騙されたと思って当ててみようパッチ
前述の方法を試してみてもエラーが再現する場合は、システム更新準備ツールという名前のパッチが Microsoft 社から出ていますので、それを当ててみます。
(注意:アップデート関連作業は予期しない不具合を引き起こすことがあります。あくまでも自己責任でお願いします。)
Windows Server 2008 R2 x64 Edition 用システム更新準備ツール(KB947821) [2010 年 4 月]
このパッチを当てたところ、サービス マネージャがサクサクと役割情報を表示するようになり、この問題は一気に解決してしまいました。
当方の場合は Windows Server 2008 R2 x64 環境でこの現象が発生しましたが、ID1601 や同様のエラーが他の OS で発生している場合は、それらの環境に応じたパッチも出ているようですので、試してみると良いかもしれません。
その他 OS 向けパッチ:
Windows Vista 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Vista for x64-based Systems 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Server 2008 用システム更新準備ツール(KB947821) [2010 年 4 月]
システム更新準備ツール (Windows Server 2008 for Itanium-based Systems 用) (KB947821) [2008 年 8 月]
Windows Server 2008 x64 Edition 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Server 2008 R2 for Itanium-based Systems 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows 7 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows 7 for x64-based Systems 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Server 2008 のサーバーマネージャから新しい役割を追加をしようしたところ、画面にさり気なく「エラー」と表示され、役割欄は真っ白いままという状況が起こりました。
こうなってしまってはインストール済みの役割を参照することも、役割を追加したり削除したりすることもできません。
以下の画面は、画面下の「エラーの詳細」リンクをクリックしたときに表示されたエラーメッセージです。
サーバー マネージャーの更新中に予期しないエラーが発生しました:
リモート プロシージャー コールに失敗しました。(HRESULT からの例外: 0X800706BE)
このエラーはイベント ID1601 として記録されています。
エラーの詳細はイベントビューアより、「アプリケーションとサービス ログ」→「Microsoft」→「Windows」→「Server Manager」→「Operational」の順に辿ることによって確認できます。
この画面のように、イベント ID1601 が大量に記録されている場合は、おそらく当方が遭遇した障害とほぼ同じと考えても良いのではないかと思います。
Microsoft 技術情報を頼りに対応してみる
この現象については回避策が Microsoft 社で提示されているのですが、自動翻訳があまりにも酷いため英語版を参考に対応してみました。
参考ページ:You receive an error message in Windows Server 2008 if you click Roles under the Server Manager console(Windows Server 2008 のサーバー マネージャーコンソールの役割をクリックするとエラーが返る)
1. 「スタート」→「ファイル名を指定して実行」の順に選択し、表示されたボックスに dcomcnfg.exe と入力して OK を押すと、コンポーネントサービスが開きます。
2.左ペインのツリーより、「コンポーネント サービス」→「コンピュータ」の順に展開すると、右ペインに[マイ コンピュータ]というアイコンが表示されるので、それを右クリックしてプロパティを表示させてから、「既定のプロパティ」タブを選択します。
下図のように、設定の確認と変更を行います。
[既定の認証レベル] --- 接続(「なし」に設定されていたときのみ。)
[既定の偽装レベル] --- 識別する
3.“OK”をクリックしてプロパティシートを閉じ、コンポーネントサービスを閉じます。
これでもう一度サーバー マネージャを開いて役割が参照できるか試してみてください。
(因みに当方ではこれでは解決しませんでした)
騙されたと思って当ててみようパッチ
前述の方法を試してみてもエラーが再現する場合は、システム更新準備ツールという名前のパッチが Microsoft 社から出ていますので、それを当ててみます。
(注意:アップデート関連作業は予期しない不具合を引き起こすことがあります。あくまでも自己責任でお願いします。)
Windows Server 2008 R2 x64 Edition 用システム更新準備ツール(KB947821) [2010 年 4 月]
このパッチを当てたところ、サービス マネージャがサクサクと役割情報を表示するようになり、この問題は一気に解決してしまいました。
当方の場合は Windows Server 2008 R2 x64 環境でこの現象が発生しましたが、ID1601 や同様のエラーが他の OS で発生している場合は、それらの環境に応じたパッチも出ているようですので、試してみると良いかもしれません。
その他 OS 向けパッチ:
Windows Vista 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Vista for x64-based Systems 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Server 2008 用システム更新準備ツール(KB947821) [2010 年 4 月]
システム更新準備ツール (Windows Server 2008 for Itanium-based Systems 用) (KB947821) [2008 年 8 月]
Windows Server 2008 x64 Edition 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows Server 2008 R2 for Itanium-based Systems 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows 7 用システム更新準備ツール(KB947821) [2010 年 4 月]
Windows 7 for x64-based Systems 用システム更新準備ツール(KB947821) [2010 年 4 月]
ラベル:
Windows Server 2008,
Windows障害,
イベントID
2010-09-13
IIS 運用中のマシンでイベント ID 115 のエラーが発生したらポート番号を疑ってみる
Windows Server 環境で IIS による Web サーバを運用している場合、マシン起動時や WWW サービス起動時にイベント ID 115 のエラーが出ることがあります。
エラー内容:
「サービスはインスタンス 2 をバインドできませんでした。このデータはエラー コードです。
このメッセージに関する追加情報については、以下のマイクロソフト オンライン サポートのサイトを参照してください: http://www.microsoft.com/contentredirect.asp」
上記ではインスタンスが 2 になっていますが、1 や他の番号が返されることもあります。
これは IIS に設定されている Web サイトに対応する番号になっています。たとえば、Windows Server 2000 の IIS はインストール時に「既定の Web サイト」と「管理者 Web サイト」の 2 つのサイトを生成します。
よって、サイトとインスタンスの関係は次のようになります。
「既定の Web サイト」--- インスタンス 1
「管理者 Web サイト」--- インスタンス 2
今回のエラーはインスタンス 2 (= 管理者 Web サイト)で発生していたことになります。
管理者 Web サイトの場合、IIS が 2000 ~ 9999 の範囲内で勝手にポート番号を自動割り当てするようになっているそうで、割り当てられたポート番号が別のアプリケーションにすでに使用されている場合は当然競合エラーが起こります。
このサーバに自動割当されていたポート番号は 5900 で、これが VNC ポートと競合していました。
ポート番号を任意の番号に変更して IIS を再起動したところ、エラーは解消しました。
イベントビューアで同じようなエラーが発生している方は、一度ポート番号の競合を疑ってみると良いかもしれません。
参考サイト:
Web サイトおよび FTP サイトについて
エラー内容:
「サービスはインスタンス 2 をバインドできませんでした。このデータはエラー コードです。
このメッセージに関する追加情報については、以下のマイクロソフト オンライン サポートのサイトを参照してください: http://www.microsoft.com/contentredirect.asp」
上記ではインスタンスが 2 になっていますが、1 や他の番号が返されることもあります。
これは IIS に設定されている Web サイトに対応する番号になっています。たとえば、Windows Server 2000 の IIS はインストール時に「既定の Web サイト」と「管理者 Web サイト」の 2 つのサイトを生成します。
よって、サイトとインスタンスの関係は次のようになります。
「既定の Web サイト」--- インスタンス 1
「管理者 Web サイト」--- インスタンス 2
今回のエラーはインスタンス 2 (= 管理者 Web サイト)で発生していたことになります。
管理者 Web サイトの場合、IIS が 2000 ~ 9999 の範囲内で勝手にポート番号を自動割り当てするようになっているそうで、割り当てられたポート番号が別のアプリケーションにすでに使用されている場合は当然競合エラーが起こります。
このサーバに自動割当されていたポート番号は 5900 で、これが VNC ポートと競合していました。
ポート番号を任意の番号に変更して IIS を再起動したところ、エラーは解消しました。
イベントビューアで同じようなエラーが発生している方は、一度ポート番号の競合を疑ってみると良いかもしれません。
参考サイト:
Web サイトおよび FTP サイトについて
ラベル:
IIS,
Windows Server 2000,
Windows障害,
イベントID
Hyper-V を導入中の Windows Server 2008 を Windows Server 2008 R2 にアップグレードする方法
Windows Server 2008 → Windows Server 2008 R2 へのアップグレードについては Microsoft 社の技術ページや個人サイトでも参考になるページがいくつかありますが、すでに Hyper-V を導入中の Windows Server 2008 を R2 にアップグレードする方法を紹介します。
注意:本ブログの投稿内容は当方の環境での動作検証記録を紹介しているにすぎません。情報はあくまでも参考程度にご利用ください。
1. サーバ環境のバックアップを取る。
重要度の高いサーバを扱う場合は、全く同じ構成の予備機を用意しておくのがベストと言えますが、マシンに余裕がない場合でも外部メディアに OS 全体のバックアップを取り、ホスト OS、ゲスト OS ともにいつでも復旧できる状態にしておきます。
DNS、Web、メールサーバなどを運用している場合は、設定内容のエクスポートおよび設定ファイル群のバックアップコピーを取っておきます。
2. Hyper-V のすべてのゲスト OS をエクスポートする。
Hyper-V のすべてのゲスト OS をシャットダウンしてから、Hyper-V マネージャよりそれらの OS を外部メディアにエクスポートします。
ゲスト OS のエクスポート方法は以下のサイトが参考になると思います。
Hyper-Vの仮想マシンをエクスポート/インポートする
3. Windows Server 2008 R2 をインストールする
開いているアプリケーションをすべて終了させた後で、Windows Server 2008 R2 インストールディスクを挿入します。
起動してきたインストーラがインストールの種類を尋ねてきますので、「アップグレード」を選択してアップグレードインストールを実行します。
アップグレードの所要時間は元のインストール構成に左右されると思いますが、当方の場合は約 2 時間半ほどかかりました。
4. コンピュータのプロパティより、プロダクトキーを更新する
アップデート直後は古い Windows Server 2008 のプロダクトキーが設定されたままになっていますので、Windows Server 2008 R2 用のプロダクトキーを入力しなおします。
5. Hyper-V マネージャを起動して、元のゲスト OS 群を起動してみる。
たいていの場合は元のゲスト OS 群の状態は保持されているはずですので、普通に起動されてくると思いますが、当方ではゲスト OS のうち一つがファイルが見つからないという理由で起動に失敗しました。
当方の場合はそのゲストOS の仮想マシン設定で物理 CD/DVD ドライブが「不明」になっていたため、ドライブ文字('D')の再割り当てを行うことで事なきを得ました。
参考サイト:Hyper-Vにおける仮想OSの起動エラー
万が一、アップグレードの過程で Hyper-V の仮想ディスクや設定ファイル群が破損してしまい、起動ができなくなってしまった場合は、上記 2. の手順でエクスポートしておいたゲスト OS 環境をインポートするようにします(当方では Hyper-V 環境はアップグレード後も無事に動いたため、今回はインポート作業は行っていません。)。
インポートの仕方は以下のサイトが参考になると思います。
Hyper-Vの仮想マシンやスナップショットをエクスポート/インポートする(Hyper-V 2.0編)
その他の参考サイト:
Hyper-V の役割がインストールされた Windows Server 2008 を実行しているコンピューターを Windows Server 2008 R2 にアップグレードする方法
[PC]Windows Server2008をR2にアップグレード。 ←おすすめ。
注意:本ブログの投稿内容は当方の環境での動作検証記録を紹介しているにすぎません。情報はあくまでも参考程度にご利用ください。
1. サーバ環境のバックアップを取る。
重要度の高いサーバを扱う場合は、全く同じ構成の予備機を用意しておくのがベストと言えますが、マシンに余裕がない場合でも外部メディアに OS 全体のバックアップを取り、ホスト OS、ゲスト OS ともにいつでも復旧できる状態にしておきます。
DNS、Web、メールサーバなどを運用している場合は、設定内容のエクスポートおよび設定ファイル群のバックアップコピーを取っておきます。
2. Hyper-V のすべてのゲスト OS をエクスポートする。
Hyper-V のすべてのゲスト OS をシャットダウンしてから、Hyper-V マネージャよりそれらの OS を外部メディアにエクスポートします。
ゲスト OS のエクスポート方法は以下のサイトが参考になると思います。
Hyper-Vの仮想マシンをエクスポート/インポートする
3. Windows Server 2008 R2 をインストールする
開いているアプリケーションをすべて終了させた後で、Windows Server 2008 R2 インストールディスクを挿入します。
起動してきたインストーラがインストールの種類を尋ねてきますので、「アップグレード」を選択してアップグレードインストールを実行します。
アップグレードの所要時間は元のインストール構成に左右されると思いますが、当方の場合は約 2 時間半ほどかかりました。
4. コンピュータのプロパティより、プロダクトキーを更新する
アップデート直後は古い Windows Server 2008 のプロダクトキーが設定されたままになっていますので、Windows Server 2008 R2 用のプロダクトキーを入力しなおします。
5. Hyper-V マネージャを起動して、元のゲスト OS 群を起動してみる。
たいていの場合は元のゲスト OS 群の状態は保持されているはずですので、普通に起動されてくると思いますが、当方ではゲスト OS のうち一つがファイルが見つからないという理由で起動に失敗しました。
当方の場合はそのゲストOS の仮想マシン設定で物理 CD/DVD ドライブが「不明」になっていたため、ドライブ文字('D')の再割り当てを行うことで事なきを得ました。
参考サイト:Hyper-Vにおける仮想OSの起動エラー
万が一、アップグレードの過程で Hyper-V の仮想ディスクや設定ファイル群が破損してしまい、起動ができなくなってしまった場合は、上記 2. の手順でエクスポートしておいたゲスト OS 環境をインポートするようにします(当方では Hyper-V 環境はアップグレード後も無事に動いたため、今回はインポート作業は行っていません。)。
インポートの仕方は以下のサイトが参考になると思います。
Hyper-Vの仮想マシンやスナップショットをエクスポート/インポートする(Hyper-V 2.0編)
その他の参考サイト:
Hyper-V の役割がインストールされた Windows Server 2008 を実行しているコンピューターを Windows Server 2008 R2 にアップグレードする方法
[PC]Windows Server2008をR2にアップグレード。 ←おすすめ。
ラベル:
Hyper-V,
Windows Server 2008
Hyper-V でゲスト OS として Windows Server 2000 を導入した際の Panda エラー発生条件
以前投稿したPanda のせい?複数のサーバで障害多発に関連して、当方で検証済みの Hyper-V ゲスト環境における Windows Server 2000 の Panda エラー発生条件を以下のようにまとめてみました。
(Panda エラーとは、Panda Office Cloud Protection を導入した環境において、Panda が原因で発生したシステムエラー/アプリケーションエラーを指します。)
上記のように、Hyper-V ゲスト OS としてインストールされている Windows Server 2000 環境で Panda を動作させるには、ホスト OS となる Windows Server 2008 を R2 にアップグレードし、Panda を再インストールする必要があることがわかりました。
(Panda エラーとは、Panda Office Cloud Protection を導入した環境において、Panda が原因で発生したシステムエラー/アプリケーションエラーを指します。)
ホスト OS | Panda 導入 | 動作結果 |
Windows Server 2008 64bit | 無 | OK |
Windows Server 2008 64bit | 有 | NG |
Windows Server 2008 64bit | 有(再インストール) | NG |
Windows Server 2008 64bit R2 | 無 | OK |
Windows Server 2008 64bit R2 | 有 | NG |
Windows Server 2008 64bit R2 | 有(再インストール) | OK |
上記のように、Hyper-V ゲスト OS としてインストールされている Windows Server 2000 環境で Panda を動作させるには、ホスト OS となる Windows Server 2008 を R2 にアップグレードし、Panda を再インストールする必要があることがわかりました。
2010-09-11
FileMaker:No-break space 書出し時の文字化け
客先より「書き出した文字が化ける」と連絡が入る。 具体的には、スペースが「?」に化けてしまっている。化けた文字を調べてみると、No-break space と呼ばれるASCII/Unicodeで160(A0)のコードだった。 書きだしたフィールドの索引は“日本語”、書出し時の文字セットは「日本語(shift-jis)」である。 ところが、FileMaker索引の“日本語”というのが shift-jis とは異なり、shift-jis では文字が割り当てられていない No-break space をも表示してしまう。 結果、FileMaker内ではちゃんとスペースとして認識されるNo-break spaceは、一旦「日本語(shift-jis)」で書き出されると、shift-jis はこの文字コードに対応していないので、「?」に文字化けしてしまう。 では、FileMakerの“日本語”索引とななんなのか? FileMaker独自の非公開仕様ということらしい。
さて、下記のサイトによると、英語のWebサイトで使用されるこのNo-break space (後続の文字との間に改行を許さないスペース) は、日本語環境のキーボードから入力することは難しいとあるのだが、客先のユーザはどのように入力をおこなったのだろうか?
参考サイト:
さて、下記のサイトによると、英語のWebサイトで使用されるこのNo-break space (後続の文字との間に改行を許さないスペース) は、日本語環境のキーボードから入力することは難しいとあるのだが、客先のユーザはどのように入力をおこなったのだろうか?
参考サイト:
ノーブレークスペース - Wikipedia
大量ファイルのコピー時に、ネットワーク障害を引き起こすPanda Cloud Office Protectionのファイヤウォール
二、三か月前から Windows Server 2003 x32 機(以下、2003機)でネットワーク障害が続く。
障害発生のタイミングは、毎日17時のFドライブ(データが入っているドライブ)のバックアップ時。このバックアップは他機にインストールされたBunBackupというソフトを使用し、毎日17時にタスクスケジュールによりネットワーク越しに実行される。過去1年位はなんの障害もなくNASへバックアップできていたのだが、二、三か月前から急に障害が発生するようになった。
具体的な症状としては、ネットワークを利用する多くのアプリケーションで通信が切断されたり、実行不能に陥る。
例えば、2003機からLAN内のノードに対してpingを実行すると、「PING: transmit failed, error code 1450」や「ping.exe - アプリケーション エラー: アプリケーションを正しく初期化できませんでした。…」といったエラーが返ってくる。 ただ、バックアップジョブが始まって30~40分程度すると、ping が通るようになり、ネットワークは復旧する。
調べてみると、「ネットワークカードを替えてみろ」という人がいたので、高級品?=INTEL PRO/1000 PT SERVER ADAPTER を刺してみても効果無。 いろいろ見ているうちに「このping のエラーはウィルス絡みのエラーかも」というのコメントがあり、ピンときた。 「またPandaか!」と。
例によって、Panda Clound Office Protection (以下、PCOP)が怪しい。 ただ、バックアップジョブはPCOP を搭載した他の複数のOPC/サーバ機でも実行していて問題はないので、頭に?が点滅。 Pandaの設定を確かめることにする。 PCOP ではブラウザ上でセキュリティのプロファイル(ポリシー)を複数作成し、PC/Server毎に作成したプロファイルを割り当てることができる。
チェックしてみて、問題の2003機は他機とは異なり、ファイヤウォールが適用されるプロファイルに属していた(他機はファイヤウォールが非適用)。 そこで、2003機をファイヤウォールが適用されないプロファイルに移してみたら、数か月悩まされたネットワーク障害がピタリと治まった。 やはり、原因はPanda(PCOP) であった。 ちなみに、問題を引き起こしたプロファイルはローカル機側でファイヤウォールをOFFにできる設定にしたあり、実際、2003機のローカル設定でファイヤウォールをOFFにしてみたが、それでもネットワーク障害は解消されなかった。
つまり、管理者がブラウザでファイヤウォールをONにしているプロファイルにPC/Serverを割り当ててしまうと、ローカルのファイヤウォールの設定に関わらず、当該エラーは発生するようだ。
土屋
障害発生のタイミングは、毎日17時のFドライブ(データが入っているドライブ)のバックアップ時。このバックアップは他機にインストールされたBunBackupというソフトを使用し、毎日17時にタスクスケジュールによりネットワーク越しに実行される。過去1年位はなんの障害もなくNASへバックアップできていたのだが、二、三か月前から急に障害が発生するようになった。
具体的な症状としては、ネットワークを利用する多くのアプリケーションで通信が切断されたり、実行不能に陥る。
例えば、2003機からLAN内のノードに対してpingを実行すると、「PING: transmit failed, error code 1450」や「ping.exe - アプリケーション エラー: アプリケーションを正しく初期化できませんでした。…」といったエラーが返ってくる。 ただ、バックアップジョブが始まって30~40分程度すると、ping が通るようになり、ネットワークは復旧する。
調べてみると、「ネットワークカードを替えてみろ」という人がいたので、高級品?=INTEL PRO/1000 PT SERVER ADAPTER を刺してみても効果無。 いろいろ見ているうちに「このping のエラーはウィルス絡みのエラーかも」というのコメントがあり、ピンときた。 「またPandaか!」と。
例によって、Panda Clound Office Protection (以下、PCOP)が怪しい。 ただ、バックアップジョブはPCOP を搭載した他の複数のOPC/サーバ機でも実行していて問題はないので、頭に?が点滅。 Pandaの設定を確かめることにする。 PCOP ではブラウザ上でセキュリティのプロファイル(ポリシー)を複数作成し、PC/Server毎に作成したプロファイルを割り当てることができる。
チェックしてみて、問題の2003機は他機とは異なり、ファイヤウォールが適用されるプロファイルに属していた(他機はファイヤウォールが非適用)。 そこで、2003機をファイヤウォールが適用されないプロファイルに移してみたら、数か月悩まされたネットワーク障害がピタリと治まった。 やはり、原因はPanda(PCOP) であった。 ちなみに、問題を引き起こしたプロファイルはローカル機側でファイヤウォールをOFFにできる設定にしたあり、実際、2003機のローカル設定でファイヤウォールをOFFにしてみたが、それでもネットワーク障害は解消されなかった。
つまり、管理者がブラウザでファイヤウォールをONにしているプロファイルにPC/Serverを割り当ててしまうと、ローカルのファイヤウォールの設定に関わらず、当該エラーは発生するようだ。
土屋
2010-09-10
『売上猫くん on MySQL』開発日記 - 番外11 - 外部キー ってさぁ… orz
MySQL Workbench 5.2 の外部キー作成クエリがオカシイっぽいことは 番外10 書いた通り。 今回もなかなか思ったように動いてくれない。
この Referenced Column で選択したいのは estimatedId なのだが、候補として表示されるのはなぜか[customerNo]のみ。 どうにもならないので、構わず“Apply”を実行すると、次のようなSQL文が表示される。
ALTER TABLE `neko`.`estimatedtls`
ADD CONSTRAINT `fk_purchaseId_est`
FOREIGN KEY (`purchaseId` )
REFERENCES `neko`.`estimates` (`customerNo` )
ON DELETE CASCADE
ON UPDATE NO ACTION
, ADD INDEX `fk_purchaseId_est` (`purchaseId` ASC) ;
ここで cutomerNo を強引に estimateId に書きかえて、“Apply SQL” を実行してみると
ERROR 1005: Can't create table 'neko.#sql-be8_19b' (errno: 150)
なんてエラーが出る。 そこでしばし調べてみると、
, ADD INDEX `fk_purchaseId_est` (`purchaseId` ASC) ;
が機能していないようで、仕方なく、purchaseId の索引を別途作成。 その後、上記SQL文から「,ADD ~」移行を削除して、実行するとどうにか外部キーが作成できた。
Workbench の生成するSQL文はそのままではエラーが出ることがしばしばあるようだ。
土屋
追記(10/09/10)
companies というテーブルからあるフィールド(cmnKey)を削除しようとすると、
ERROR 1025 (HY000): Error on rename of...(errno: 150)
と表示される。 削除しようとしているフィールドが他から参照されているから削除できない、とのことだが、この cmnKey フィールドはどこからも参照されていない。 companydepts というテーブルからは外部キー制約を companies に対して設定しているが、この制約の REFERECES フィールドは cmnKeyではない。 要するにどう考えてもオカシイ。 どうもMySQLのバグらしいことがわかったので、cmnKey とは全く関係ないこの外部キー制約を一旦削除。 その後、cmnKey を削除することができた。 どうもMySQLはオカシナことが多発し過ぎる。
関連リンク:『売上猫くん on MySQL』開発日記の記事一覧
この Referenced Column で選択したいのは estimatedId なのだが、候補として表示されるのはなぜか[customerNo]のみ。 どうにもならないので、構わず“Apply”を実行すると、次のようなSQL文が表示される。
ALTER TABLE `neko`.`estimatedtls`
ADD CONSTRAINT `fk_purchaseId_est`
FOREIGN KEY (`purchaseId` )
REFERENCES `neko`.`estimates` (`customerNo` )
ON DELETE CASCADE
ON UPDATE NO ACTION
, ADD INDEX `fk_purchaseId_est` (`purchaseId` ASC) ;
ここで cutomerNo を強引に estimateId に書きかえて、“Apply SQL” を実行してみると
ERROR 1005: Can't create table 'neko.#sql-be8_19b' (errno: 150)
なんてエラーが出る。 そこでしばし調べてみると、
, ADD INDEX `fk_purchaseId_est` (`purchaseId` ASC) ;
が機能していないようで、仕方なく、purchaseId の索引を別途作成。 その後、上記SQL文から「,ADD ~」移行を削除して、実行するとどうにか外部キーが作成できた。
Workbench の生成するSQL文はそのままではエラーが出ることがしばしばあるようだ。
土屋
追記(10/09/10)
companies というテーブルからあるフィールド(cmnKey)を削除しようとすると、
ERROR 1025 (HY000): Error on rename of...(errno: 150)
と表示される。 削除しようとしているフィールドが他から参照されているから削除できない、とのことだが、この cmnKey フィールドはどこからも参照されていない。 companydepts というテーブルからは外部キー制約を companies に対して設定しているが、この制約の REFERECES フィールドは cmnKeyではない。 要するにどう考えてもオカシイ。 どうもMySQLのバグらしいことがわかったので、cmnKey とは全く関係ないこの外部キー制約を一旦削除。 その後、cmnKey を削除することができた。 どうもMySQLはオカシナことが多発し過ぎる。
関連リンク:『売上猫くん on MySQL』開発日記の記事一覧
2010-09-09
SonicWALLの新製品テクニカルセミナー 2010/08/26
ブログ記述が遅れてしまいましたが、8月26日(木)に SonicWALL ネットワークセキュリティアプライアンス テクニカルセミナーに参加してきました。
セミナー内容はビジネスセッションとテクニカルセッションの基本的な部分は前回出席した SonicWALL セミナーとほぼ同様で特に真新しいと感じるところはなかったのですが、 SonicWALL が投資家グループ Thoma Bravo およびオンタリオ教師年金基金によって買収されたことにより SonicWALL 社が非上場企業になったことに触れていました。
今回の買収は、プライベート・エクイティファインドである Thoma Bravo から安定した資金調達を確立することにより、製品ロードマップはそのままに製品開発に注力していくことを目的とした、前向きなものであるということでした。
参考:SonicWALL、7億1700万ドルで投資家グループが買収へ
SonicWALL UTM 製品で前回のセミナーに追加されていた項目で目についたのは、消費電力の低さで、たとえば NSA 4500(製品情報はこちら)でも消費電力は 66W で、Fortinet の FG310B (製品情報はこちら)の 120W と比較しても約半分の消費電力となっています。
テクニカルセッションも基本的には前回とほぼ同様の内容でしたが、SSL-VPN 機能について少々詳しい内容が盛り込まれていました。
SSL-VPN 機能の特徴
- Windows, Linux, Mac に対応(IPSec 機能では Windows のみ対応)
- 初回ログイン時に NetExtender モジュールをインストールし、NetExtender が SonicWall に対し SSL で暗号化されたトンネルを構築
- 1 要素認証のみサポート。高度な認証や同時接続ユーザ数が必要な場合は専用 SSL-VPN 装置を用意する必要あり。
参考:Introduction to the SonicWALL SSL VPN 200 (英語)
セミナー内容はビジネスセッションとテクニカルセッションの基本的な部分は前回出席した SonicWALL セミナーとほぼ同様で特に真新しいと感じるところはなかったのですが、 SonicWALL が投資家グループ Thoma Bravo およびオンタリオ教師年金基金によって買収されたことにより SonicWALL 社が非上場企業になったことに触れていました。
今回の買収は、プライベート・エクイティファインドである Thoma Bravo から安定した資金調達を確立することにより、製品ロードマップはそのままに製品開発に注力していくことを目的とした、前向きなものであるということでした。
参考:SonicWALL、7億1700万ドルで投資家グループが買収へ
SonicWALL UTM 製品で前回のセミナーに追加されていた項目で目についたのは、消費電力の低さで、たとえば NSA 4500(製品情報はこちら)でも消費電力は 66W で、Fortinet の FG310B (製品情報はこちら)の 120W と比較しても約半分の消費電力となっています。
テクニカルセッションも基本的には前回とほぼ同様の内容でしたが、SSL-VPN 機能について少々詳しい内容が盛り込まれていました。
SSL-VPN 機能の特徴
- Windows, Linux, Mac に対応(IPSec 機能では Windows のみ対応)
- 初回ログイン時に NetExtender モジュールをインストールし、NetExtender が SonicWall に対し SSL で暗号化されたトンネルを構築
- 1 要素認証のみサポート。高度な認証や同時接続ユーザ数が必要な場合は専用 SSL-VPN 装置を用意する必要あり。
参考:Introduction to the SonicWALL SSL VPN 200 (英語)
2010-09-03
Panda のせい?複数のサーバで障害多発
最近になってやたらとサーバ機の不具合が多発するため、試しに Panda をアンインストールしてみたら突然快調に動き出したので、どうやら Panda が障害を引き起こしている可能性が高いと思い始めています。
弊社が遭遇したトラブルを以下にまとめてみました。
ちなみに、Windows Server 2008 で使用している Hyper-V は OS に付属のものを使用しています。
Windows Server 2008 32bit
現象:Blue Screen 障害の後、勝手にサーバ機が再起動するという現象が二ヶ月ほど前から断続的に発生。
サーバ機の診断を行うと、NIC がユーザによって無効になっているというメッセージが表示される(実際は NIC は動作しており、ネットワーク接続も可能となっている)。
Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2000
現象:起動に 5 分以上かかり、ネットワーク関連のイベントエラーが大量に記録される。
常時起動させたままにしている FileMaker 5.5 Unlimited で開いているネットワーク共有データベースが切断されることがある。
* ちなみに、別サーバ機の Windows Server 2008 64 ビット R2 の Hyper-V のゲスト OS Windows Server 2000 の Panda は問題なく動作しているようです。
Windows Server 2003
現象:自動バックアップを実行する時間になると、ネットワークが一時的に遮断される。
上記いずれも Panda をアンインストールした途端に快調に動き出します。
また、以下の環境ではまだ Panda のアンインストールはしていなのですが、現象が現象だけにどうしても Panda の影響を疑いたくなってきています。
Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2003
現象:起動が若干遅い。FileMaker Server 10 の起動に時間がかかる。また、FMS 10 の管理ツールの起動にも時間がかかるだけでなく、データベースが自動公開されない。
(仕方なくいつも手動で公開するが、すぐに公開された試しがない。)
今まで Hyper-V 搭載機で Panda エンジンの自動更新後の不具合で散々泣かされてきていますが、今度は通常の OS インストールで使用中のサーバ機にも影響が出てきているため頭が痛いところです。
本記事はまだ記述中ですが、今後解決策が見えてきたところで情報を更新したいと思います。
2010/09/13追記:
Windows Server 2008 32bit のBlue Screen 障害は、NIC の再インストール、Panda の再インストールを行った後に診断ツールでのエラーが解消しました。こればかりでは Blue Screen 現象自体が解決したとは言い切れませんが、診断ツールが警告を出さなくなったという点では、Panda 絡みの問題が発生していたと考えても良いと思います。
Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2000 でのイベントエラー大量発生については、Windows Server 2008 を R2 にアップグレードしてから Panda を再インストールしたらエラーイベント記録が治まりました。
結論としては、Panda 導入によるマシン環境の不具合は、どうやら OS のバージョンや構成に依るところが大きいようです。
当方で検証したエラー発生条件については改めて投稿します。
弊社が遭遇したトラブルを以下にまとめてみました。
ちなみに、Windows Server 2008 で使用している Hyper-V は OS に付属のものを使用しています。
Windows Server 2008 32bit
現象:Blue Screen 障害の後、勝手にサーバ機が再起動するという現象が二ヶ月ほど前から断続的に発生。
サーバ機の診断を行うと、NIC がユーザによって無効になっているというメッセージが表示される(実際は NIC は動作しており、ネットワーク接続も可能となっている)。
Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2000
現象:起動に 5 分以上かかり、ネットワーク関連のイベントエラーが大量に記録される。
常時起動させたままにしている FileMaker 5.5 Unlimited で開いているネットワーク共有データベースが切断されることがある。
* ちなみに、別サーバ機の Windows Server 2008 64 ビット R2 の Hyper-V のゲスト OS Windows Server 2000 の Panda は問題なく動作しているようです。
Windows Server 2003
現象:自動バックアップを実行する時間になると、ネットワークが一時的に遮断される。
上記いずれも Panda をアンインストールした途端に快調に動き出します。
また、以下の環境ではまだ Panda のアンインストールはしていなのですが、現象が現象だけにどうしても Panda の影響を疑いたくなってきています。
Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2003
現象:起動が若干遅い。FileMaker Server 10 の起動に時間がかかる。また、FMS 10 の管理ツールの起動にも時間がかかるだけでなく、データベースが自動公開されない。
(仕方なくいつも手動で公開するが、すぐに公開された試しがない。)
今まで Hyper-V 搭載機で Panda エンジンの自動更新後の不具合で散々泣かされてきていますが、今度は通常の OS インストールで使用中のサーバ機にも影響が出てきているため頭が痛いところです。
本記事はまだ記述中ですが、今後解決策が見えてきたところで情報を更新したいと思います。
2010/09/13追記:
Windows Server 2008 32bit のBlue Screen 障害は、NIC の再インストール、Panda の再インストールを行った後に診断ツールでのエラーが解消しました。こればかりでは Blue Screen 現象自体が解決したとは言い切れませんが、診断ツールが警告を出さなくなったという点では、Panda 絡みの問題が発生していたと考えても良いと思います。
Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2000 でのイベントエラー大量発生については、Windows Server 2008 を R2 にアップグレードしてから Panda を再インストールしたらエラーイベント記録が治まりました。
結論としては、Panda 導入によるマシン環境の不具合は、どうやら OS のバージョンや構成に依るところが大きいようです。
当方で検証したエラー発生条件については改めて投稿します。
登録:
投稿 (Atom)