2010年3月21日日曜日

SQL Sqrver 2005でトリガーを利用してデータベースの変更を記録する

SQL Serverであるテーブルの操作のログを取りたいと考えています。

単に「更新されました」とか「削除されました」というログではなく、もともとAというデータがBに変更されましたという具合にデータも含めたログを取ります。

アプリケーション側で実装することもできますが、メンテナンス性が悪いのでSQLのトリガーを使った方法を解説します。

 

データベースの準備

SQL Serverにデータベースを作成します。

テーブルの準備

2つのテーブルを準備します。1つはtbl社員、もう1つはtbl社員ログとします。

スキーマは簡単に次のようにします。

tbl社員 tbl社員ログ
ID (PK、int) ID (PK、int)
氏名(nvarchar(50)) 氏名(nvarchar(50))

トリガーの作成

テーブルtbl社員に行の追加、更新があればtbl社員ログに更新前のデータと更新後のデータをコピーするようにします。

SQL Server 2005 Management Studioを開いてtbl社員の+をクリックして展開します。トリガという項目がありますので、右クリックして「新しいトリガ」を選択します。

(ほかにプログラムという項目にデータベーストリガというのがありますが、こちらと間違えないようにします。)

右側ペインにトリガーのテンプレートが表示されますので、すべて削除します。

次のようにトリガーを入力します。

CREATE TRIGGER トリガーサンプル ON tbl社員

AFTER INSERT, UPDATE

AS

BEGIN

INSERT INTO tbl社員ログ(氏名) SELECT 氏名 FROM deleted

INSERT INTO tbl社員ログ(氏名) SELECT 氏名 FROM inserted

END

入力が完了したら「実行」をクリックします。

「コマンドが正常に終了しました。」となれば完了です。

トリガーの解説

1行目の

「CREATE TRIGGER トリガーサンプル ON tbl社員」はトリガーの作成を指示していて、トリガーの名前とどのテーブルでトリガーを使うかを示しています。

2行目の

「AFTER INSERT, UPDATE」はトリガーの実行されるタイミングを指示しています。(INSERT、UPDATE、DELETEが指定できます。SELECTは指定できません。)

3行目のAS句はお約束で付けます。AS句以降がトリガーの処理になります。

4行目のBEGINはENDとペアになっていて処理をグループ化します。INSERT文が2行ありますが、BEGIN~ENDを使わないと初めのINSERT文しか処理されません。

5行目の

「INSERT INTO tbl社員ログ(氏名) SELECT 氏名 FROM deleted」はSQL文です。SELECT文で射影された値をINSERT文に渡して行の追加を実行しています。

deletedというテーブルは削除される値、更新で上書きされる値が格納されている擬似的なテーブルです。

6行目も5行目と同様です。

insertedというテーブルがありますが、これは追加される値、あるいは更新で上書きする値が格納される擬似的なテーブルです。

deletedとinsertedを利用すると変更前、変更後の値にアクセスができるということです。(deletedがあるおかげでBEGIN UPDATEで事前に別のトリガーを呼び出して変更前のデータを取得しなくてよいので気が利いています。)

その他

トリガーは再起動などしてもいつでも動くようになっています。

INSERT文に項目を追加すれば「追加されました」などのコメントも出力できます。

もっと複雑な処理をするためにAS句以降にストアドプロシージャを実行することもできます。が、あまり複雑なことをするのはメンテナンス性を損なうのでほどほどにというのが良い設計のようです。

2010年2月23日火曜日

回復コンソールでデータを抜き取る

起動しなくなったPCからデータを抜き出す場合いくつかの手法がありますが、回復コンソールを使った場合のデータ抜き取りの小技を紹介します。

回復コンソールでPCを起動する前にUSBハードディスクを取り付けておきます。

回復コンソールが起動したらMAPコマンドを実行。
おそらくUSBハードディスクが認識されているはずです。

USBハードディスクはドライブルートのみ書き込みが可能ですがデータの抜き取りにはなんとか使えるでしょう。

ちなみにUSBメモリは認識されますが書き込みできません。
これはセキュリティーポリシーの設定によるものなのでWindowsが起動しているうちに事前にポリシーを変更しておけば書き込み可能なのですが、いざ、起動しない段階ではどうしようもありません。

USBメモリが使えない理由はUSBメモリとUSBハードディスクのメディアとしての取り扱いが異なるため適用されるポリシーも異なるからです。
USBメモリはリムーバブルメディアとして認識され、USBハードディスクはハードディスクとして認識されます。
回復コンソールでSETコマンドを実行すると
AllowRemobableMedia=FALSE
AllowAllPath=FALSE
となっているのが確認できます。
リムバブルディスクは不許可、サブフォルダも不許可であることが分かります。

2010年2月14日日曜日

WindowsXPでGuestアカウントが有効でもパスワードを求められる

WindowsXPでファイル共有がうまく行かなかった1つのケースを紹介します。

WindowsXPでファイルを共有していましたが、ある日突然共有フォルダにアクセスするとパスワードを求められるようになりました。
ファイルを共有しているPCのGuestアカウントは有効になっているため本来なら認証を求められることはありません。しかも、アカウントを入力しようにもGuestがすでに入力された状態でグレーになっていてアカウントの入力ができない状態になっています。

アカウントGuestのまま、パスワードを空白でOKをクリックするとPCにはログインできてフォルダの一覧が表示されます。しかし、フォルダをクリックすると「このコマンドを処理するのに必要な記憶領域をサーバーで確保できません。」というエラーが発生。

いままでにもXP Homeなのにパスワードを求められたり、今回のようにGuestが有効なのにパスワードを求められることがありました。原因はウイルスソフトのインストールによるIRPStackSizeの不足と判明しました。

http://support.microsoft.com/kb/177078/ja

にて詳細と復帰の方法が記載してありますので参考にしてください。

また、レジストリの編集は十分注意してください。

WebDAVへの接続ができない場合の対処

Windows XPでWebDAVへの接続を追加しようとすると次のようなエラーが表示されて接続を作成できないことがある。
「入力したフォルダは有効ではないようです。別のフォルダを選択してください。」
この場合次のように対応する。

1、ファイル名を指定して実行より「webfldrs.msi」と入力しOKをクリックする。
2、「Select reinstall」を選択する。
3、つぎの項目にチェックを入れる。
  • Repair all detected reinstall problems
  • Force all files to be reinstalled,regardless of checksum or version
  • Veryfy that required user registry entries are present
  • Veryfy that required local machine registry entries are oresent
4、「OK」をクリック。
5、「Reinstall」をクリック。

この操作の後、管理ツールのサービスでWebClientサービスを停止させる。

以上の操作でWebDAVの接続の追加ができるようになります。

2010年2月13日土曜日

システムリソースの確認方法

WindowsXPではシステムリソースを確認するためのリソースメーターがありません。
通常はリソースの使用状況を確認する必要はありませんが、ひとたびリソース不足のエラーが出るとリソースを確認する方法が欲しくなります。
リソースの確認のためのツールでお勧めなのはMicrosoftが配布しているProcess Explorerです。
Process ExplorerはXPだけでなくVista Windows7でも動作します。また、インストール不要です。
Process Explorerは、http://technet.microsoft.com/ja-jp/sysinternals/bb896653.aspxよりダウンロードできます。
英語版ですが使い方は簡単です。(日本語化するツールのあるようですが必要を感じません)
ダウンロードしたファイルを解凍してprocexp.exeをクリックすればProcess Explorerが起動します。

デフォルトではリソースの利用状況は表示されません。
表示のためには、Process、PIDと並んでいるタイトル部分を右クリックしてSelect columns...メニューを開きます。
メニューよりProcess Memoryタブを開き、下のほうにあるGDI ObjectとUSER Objectにチェックを入れます。

この2つがWindows98などのリソースメーターに表示されていたリソースに相当します。
リソース不足のエラーの場合、ほとんどはソフトの不具合によりますのでリソースを無駄使いしているソフトをアンインストールすることでリソース不足のエラーを回避することが可能です。

Proxyソフト Delegateのログファイルの無効化

Windows版のDelegateではデフォルトでログファイルが生成されます。
DelegateはWebへのアクセスを制限するフィルタタイプのProxyというより、ソフトウェアルーターという位置付けと思われます。
よってデバッグ以外の目的でログを利用することがあまりありません。
ログは自動的に消去されませんので、いずれハードディスクを使い切ってしまいます。
そこでログファイルの生成をしないように設定します。
Delegateのcfgファイルをつぎのように記述します。
http.cfg
-P=80
SERVER=http
LOGFILE=””
MANAGER=http@mail.com

ミソはLOGFILE=""の一行です。
この一行を付けることでログファイルの生成が停止されます。

この例ではHTTPのログについて生成されなくなります。
必要に応じてsmtpやpopのcfgファイルも変更してログを生成しないようにします。

2010年2月6日土曜日

Windows 7のオフライン共有

Windows7でオフライン共有は改良されて狭帯域での使用などが考慮されて使いやすなっています。

仕事が直行直帰が多いので外出先や自宅でサーバーのファイルを閲覧、編集したいことが多いのでWindows XP時代からオフライン共有にはお世話になっていました。

Windows 7ではデフォルトでオフライン共有は無効になっています。オフライン共有を使うためにはオフライン共有を有効にする必要があります。

手順は、「スタートメニュー」-「プログラムとファイルの検索」に”オフラインファイル”と入力します。(Enterは押下しません)


「オフラインファイルの管理」が検索されますのでクリックします。


「オフラインを有効にする」をクリックして、再起動します。



再度、 、「スタートメニュー」-「プログラムとファイルの検索」に”オフラインファイル”と入力します。(Enterは押下しません)



今度は、「オフラインファイルの暗号化」「オフラインファイルによるディスク領域の使用管理」の項目が追加されていることがわかります。

これで、オフライン共有が利用可能になりましたので、オフライン共有したいネットワーク上のフォルダを右クリックします。

メニューに「常にオフラインで使用する」を選択します。

同期が始まります。

以上で作業は終了です。複数のフォルダをオフライン共有したい場合は、ほかのフォルダも同様に作業します。

目的のフォルダのショートカットを作成しておくと便利です。



本丸サーバーと持ち出し用PCでファイルが2重化されるのでバックアップの意味合いもあります。

PCの紛失、盗難もありますので暗号化をしておくことをお勧めします。

2010年2月5日金曜日

Windows Vista Windows 7からWindows 2000 Serverの共有フォルダにアクセスできない


Windows Vista Windows 7ではサーバーアクセスの際の認証にNTLMv2認証が使われます。 Windows 2000 ServerはNTLM認証が使われています。 Vista、7から2000Serverにアクセスする際には、この認証の整合性が取れないため正しいアカウント情報を入力しても認証されず、認証画面が表示されつづける状態になります。 Windows 2000 SeerverもNTLMv2認証に対応しているためサーバー側をNTLMv2認証を使うように変更するか、Viata、7NTLM認証を使うように変更する必要があります。 サーバー側を変更できない場合はVista、7側を変更するしかありません。 Vista、7側のNTLM認証への変更手順は
  1. 「コントロールパネル」-「管理ツール」-「ローカルセキュリティポリシー」を開きます。
  2. 左側のペインより、「ローカルポリシー」-「セキュリティオプション」
  3. 右側のペインより、「ネットワークセキュリティ:LAN Manager認証レベル」をダブルクリックします。
  4. 「NTLM応答のみに送信する」を選択する

2010年1月30日土曜日

Windows7のカスタム用紙サイズの設定

Windows7はデザイン部分では殆どVistaを継承しているものの若干はちがっている。
用紙サイズの作成が見つからず探したところ、
「コントロールパネル」-「管理ツール」-「印刷の管理」という項目があり、こちらから行うことになる。


印刷の管理を開いて見るといくつかの項目が参照、設定できることがわかる。
残念なことに、あまり大したことが設定できるわけでもなくXPの「プリンタとFAXのプロパティ」で十分と思われた。


用紙のアイコンを右クリックして「用紙の管理」をクリックすると用紙サイズの作成ができる。
この画面はXP時代と全く変化がない。用紙サイズの作成については以前と同じ画面なので戸惑うことはないものの表示される用紙が4つしか表示できず、標準で設定されている用紙も多いので目的の用紙を探すのに骨が折れる。ここは改善して欲しかった。


いずれにしてもWindows7での用紙サイズの作成は「コントロールパネル」-「管理ツール」-「印刷の管理」から行うということになる。

2010年1月21日木曜日

システムリソースが不足しているため、要求されたサービスを完了できません。

Windows XPの「システムリソースが不足しているため、要求されたサービスを完了できません。」のエラーに対する対応方法は、対症療法的にレジストリでリソースの量を増やします。

レジストリエディタで次のキーを探します

HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥SessionManager¥SubSystem

Windowsというキーの値が3072になっていますがこれを増やします 。
(「SharedSection=1024,3072,512」の部分を「3072」(3MB)から「6144」(6MB)に変更して「OK」ボタンをクリックする。この値は256の整数倍で指定する。 )


4096か5120、6144あたりに増やします。

(単純に256の倍数です。3072≒3MBなので4MBあるいは5MBということです。)

XPは標準ではリソースを確認するツールはありません。
(Microsoftが配布しているProcess Explorerというツールと使えば確認できます)

リソースはWindowsが各プロセスを管理するためのメモリ領域で初期値は3072KBです。
メモリの量を増やしてもリソースに割り当てられたメモリが増えるわけではないのでリソースを使いきった段階でエラーが出たりシステムが不安定になります。

作りの甘いアプリケーションはリソースを無駄にします。
何らかのアプリケーションを起動している最中にリソース不足のエラーが出る場合は、そのアプリケーションを疑うべきです。
特にメモリリーク(リソースリーク)の場合はシステムリソースの量を増やしても、時間がたつにつれていずれはエラーが出てしまいます。

メモリが安価になったため大きく増やせばよいかというと、かなずしもそうではないようです。コツとしてはすこしづつ増やしてください。

2010年1月17日日曜日

YAHAMAルーターのファームのバージョンアップ

YAMAHAルーターのファームウェアのバージョンアップはTFTPにて行います
次の手順にてバージョンアップします

事前準備
YAMAHAサイトにてファームウェアをダウンロードしておきます

ファームアップ手順
telnetでルーターにログオンします
tftpを利用できるように「tftp host Any」コマンドを実行
telnetを終了
「tftp -i ルーターIPアドレス put rtxxxxx.bin(ファームファイル名) exec」コマンドを実行

注意点
tftpコマンドでファームのバイナリふぁルーターに転送されたのち、ルーター内部でファームの更新が行われます。この時、tftpコマンドがタイムアウトを返すことがありますが、ルーターの電源をOFFにしないようにします。もしタイムアウトになった場合は2、3分放置したうえでルーターのランプが点滅していないことを確認したうえでtelnetでアクセスしてみます。正常に応答すればファームの書き換えは成功あるいは失敗で完了しています。応答がないうちは電源のOFFをしないで10分程度放置して電源をOFF、ONしてみます。

YAMAHA RTXシリーズのネットボランチDNSの登録

YAMAHAの提供しているボランチネットDNSの登録は以下のように実行します。

ボランチネットDNSはインターネット上からルーターのWAN側アドレスを探すことがほとんどと思われるので、インターネット接続のための設定がPP1に設定されていることを想定しています。

以下コマンド

pp select 1
netvolante-dns hostname host pp [取得するホスト名]
netvolante-dns go pp 1
[ホスト名.xxx.volantenet.jp]を登録しました。
新しい接続を保存しますか(Y/N)Y
セーブ中...終了

解説
pp select 1
(インターネット接続用のPP1にボランチネットDNSのホスト名を関連付けるためPP1を選択)
netvolante-dns hostname host pp [取得するホスト名]
(希望するホスト名を指定します)
netvolante-dns go pp 1
(登録を実行します)
[ホスト名.xxx.volantenet.jp]を登録しました。
新しい接続を保存しますか(Y/N)Y
(正常に登録されると保存を聞いてきます。Yを入力します)
セーブ中...終了

設定は以上です

PP1に以下のコマンドが追加されます

netvolante-dns use pp auto
netvolante-dns hostname host pp [取得するホスト名]

注意点
ルーターのファームウェアのバージョンによって登録後の応答が若干異なります
取得するアドレスは「ホスト名+xxx+volantenet.jp」となりますが、xxxの部分はルーターによって異なります。xxxはルーターのMACアドレスによって異なるため、べつのルーターにすでに取得したホスト名を設定することはできません。

2010年1月11日月曜日

Windows7でのtelnetの利用


Windows7ではデフォルトでtelnetを利用することができませんでした。
一般の方はtelnetを利用する機会は少ないと思われますが、仕事柄ルーターの設定などがあるので私にはtelnetは必須アイテムです。

そこで、Windows7でtelnetを利用する順ですが、
「コントロールパネル」-「プログラムと機能」-「Windowsの機能の有効化または無効化」よりtelnetクライアントにチェックを入れて「OK」をクリックします。
設定が完了するとtelnetが利用できるようになります。

XPモードのアプリケーションインストール


Windows7のXPモードでアプリケーションのインストールを実行すると、「Windowsインストーラは、リモートすくトップ接続からのインストールを許可していません。」とエラーになることがあります。
原因はインストーラがWindows7のドライブに保存されているためです。エラーの内容を鵜呑みにするとハマってしまいます。
この場合はXPモードのデスクトップなどにインストーラをコピーしてから実行することで問題なくインストールできます。

2009年9月27日日曜日

Proxyソフト Delegateの設定

Delegateは国産の、しかもフリーのProxyソフトです。
電子技術総合研究所の佐藤豊さんが作成しています。
UNIX、Linix、Windows、MacOS等の主要OSに対応しています。
本家サイトは、http://www.delegate.org/です。

対応しているプロトコルもHTTPはもちろん、FTP、SMTP、POPも対応しています。
TCPやUDPの第4層のプロトコルを処理してくれるためソフトウェアルーターのように動作してくれるため柔軟なネットワーク設定に対応します。

国産ですが英語サイトのみしかなく、マニュアルもスイッチの説明が主なため設定のハードルはすこし高めです。

ここではWindows版のDelegateで、HTTP、HTTPS、FTP、SMTP、POPの設定を説明します。

Delegate導入の動機と目的は、本社を中心に拠点をVPNでつないだ環境があり、インターネットへは本社ルーターを経由する必要がありますが、ルーターには拠点からインターネットに接続するルーティングテーブルの設定がありません。拠点のクライアントは本社ネットワークまでは接続できるのでDelegateを導入することでインターネット上のWeb、FTP、メールのサービスを代行してもらいます。もちろん最善解はルーターにルーティングテーブルを設定すればよいのですが事情によりルーターの設定変更ができないためDelegateを導入します。

では実際の設定手順です。概要はつぎのとおりです。


  1. 本家サイトよりDelegateをダウンロード
  2. ダウンロードしたファイルの解凍と配置
  3. cfgファイルの作成
  4. Delegateの起動とサービス登録

1、Delegateのダウンロード

本家サイトよりWindows版のファイルをダウンロードします。現時点での最新バージョンは、9.9.4でダウンロードファイルは、dg9_9_4.zipでした。http://www.delegate.org/anonftp/DeleGate/bin/windows/latest/dg9_9_4.zip


2、ダウンロードしたファイルの解凍と配置

ダウンロードしたファイルを解凍します。
解答したファイルは”dg_9_9_4”のようなフォルダ名になります。
解凍したフォルダをPlogram Filesに配置します。(実際は任意の位置で動作します)

3、cfgファイルの作成
cfgファイルはDelegateを起動する際のスイッチをファイルにまとめて保存したものです。
今回は、HTTP、HTTPS、FTP用とSMTP用、POP用のcfgファイルを作成します。
また、SMTP用は一般的な25番ポートを利用するものと、Outbound Port 25 Blockingに対応するための587番ポートを利用するもので2つcfgファイルを作成して全部で4つのcfgファイルを作成します。

http.cfg
-P=80
SERVER=http
MANAGER=http@mail.com

smtp.cfg
-P=25
SERVER=smtp://smtpサーバーアドレス/
MANAGER=smtp@mail.com

smtp587.cfg
-P=587
SERVER=smtp://smtpサーバーアドレス:587/
MANAGER=smtp@mail.com

pop.cfg
-P=110
SERVER=pop://popサーバーアドレス/
MANAGER=pop@mail.com

以上の4つのcfgファイルを作成し、Delegate本体と同じ場所に保存します。

各cfgファイルとも3行しかありません。
-PはProxyで利用するポート番号です。
SERVERはDelegateのサポートするプロトコルです。
MANAGERは管理者のメールアドレスです。ダミーでOKですが無いと起動できません。

Delegateの導入の動機からするとログの取得等は必要がないためシンプルになっています。
SERVERオプションでは、smtpとpopはサーバーのアドレスが必要です。
HTTPSとFTPはDelegateをデフォルトで起動すると同時に起動するため特に設定がありません。

4、Delegateの起動とサービス登録
Delegateはサービスとして起動します。テスト時はコマンドプロンプトで対話起動することもできます。
また、HTTP用、SMTP用、POP用とで別々のプロセスで動作するようになっています。
Delegateの起動はコマンドプロンプトでつぎのように入力します。
dg9_9_4.exe –P80 +=http.cfg
サービスに登録するかを聞かれますので”y”を入力してEnterで確定します。



残りの3つのcfgファイルも同様に設定します。

管理ツールよりサービスで起動していることが確認できます。



設定は以上で終了です。

2009年6月26日金曜日

RRASとIPSecの考察

Windows XPでVPNといえばPPTPがもっともメジャーな存在です。

安価なブロードバンドルーターにもPPTPサーバーの機能が備わっている製品もあるため、簡単、低コストでVPNが構築できます。



PPTPの弱点は認証をユーザーアカウントとパスワードのみに頼っているため、もしもアカウントとパスワードが漏れてしまえば、すぐにVPNに侵入されてしまうことです。

実体験から言えば退職者のアカウントが放置されて、退職後もひそかにLANに侵入することができます。



PPTP自体はきちんとした暗号化も備えているため、何もしらない第3者がLANに接続することはまれです。しかし、どのクライアントに接続設定がされているか確認するのは困難ですし、アカウントとパスワードさえ分かっていれば、WindowsXP端末なら簡単に接続を作成できるため、いつ、誰がアクセスしているかをコントロールできずに安全性がきわめて低くなることが予想されます。



PPTPに代わるソリューションで、まず考えられることはFortiGateやNetScreenなどのファイヤーウォール系のソリューションです。

これらのソリューションは堅牢です。しかし、設定すらままならないこともあります。正規のアカウントやパスワードがあっても接続設定自体が不透明で困難です。また、専用のクライアントソフトを必要とすることがほとんどで、新しいOSが登場してもなかなかクライアントソフトは登場せず、端末のリプレースを困難にすることも少なくありません。

RRASはPPTPの他に標準でL2TP/IPSecも対応していますので、こちらの利用を検討します。
ちなみに、ここのところ実装している事前共有キーでのL2TP/IPSecの認証は、アカウント+パスワード+事前共有キーで、結局のところPPTPとあまり変わりません。
事前共有キーは1つしか設定できないため、もしも変更する場合はクライアントすべてを変えなくてはなりません。管理者自身ですべて変更できなければ、通知して変えてもらうしかありませんが、これでは意味がありません。
Windowsのアカウントは有効、無効が管理者で簡単に制御できますし、アカウントロックの機能もポリシーで細かく制御できるため、こちらの方が気が利いています。しかし、Windowsアカウントはパスワードが生年月日になっていたり、部署内でパスワードをお互いに知っていたりすることは普通なことです。これでは、リモートアクセスを許可されている人のアカウントで簡単にLANに侵入されます。

Windows2003ServerはCAとしての機能も備えているため証明書を利用することがベストと思われます。設定については今後確認していきますが、以前設定した際にはかなり簡単だったと記憶しています。証明書であれば、管理者でなくては発行できないため漏洩の可能性はかなり低くなります。また、リモートアクセスが許可されたユーザーであっても証明書がインストールされていなければ接続できないため、自宅のPCに勝手に設定することも防ぐことができます。この時点で管理者はリモート接続のユーザーと端末を管理できます。また、接続を不許可にしたい場合は証明書を失効させることで不許可にできます。

RRASはWindowsServer上のソフトウェアルーターのためスループットは専用ルーターに比べて見劣りするものです。ただし、モバイル端末の運用が一般的になってきた昨今では端末の接続管理のための機能が充実しているため導入の価値があります。
ゲートウェイ製品を利用したアカウント管理は概ね英語のインターフェースか元々英語だったインターフェースを日本語にしただけのものが多く遣いづらいものが少なくありません。WindowsServerはこの点でもアドバンテージがあります。

IPSecは固定IPでなくてはいけないとか、証明書は高価だという過去の知識でIPSecの導入を見送ることはもったいないといえます。

2009年6月25日木曜日

リモートデスクトップ、ターミナルサービスでプリンタがマウントされない

あるユーザーでは2003Serverのターミナルサービスを利用して業務を行っています。ターミナルサービスは遠隔地のサーバーの画面を透過的に見るため、データは一括してサーバーに保管されますし、データの実行環境(このユーザーはMicrosoft Access)もクライアントPCに左右されなくなるのでメリットがあります。遠隔地のサーバーの画面を見ているとはいえ印刷はクライアントのある場所でないと不便になります。もちろんこの点についてはきちんと考えられていて、クライアントのプリンタをサーバー経由でリダイレクトして印刷ができるようになっています。

PCの入れ替えやコピー、印刷機の入れ替えの際は、プリンタがリダイレクトされるように設定する必要がありますが、基本的にはリモートデスクトップ接続を作成するときにプリンタをリダイレクトする項目にチェックを入れるだけでOKになります。
ところが、この設定をしていてもプリンタが表示されない現象にあたるケースが2回ほど続いたため調べたところ、つぎのような情報がありました。

2003ServerにリダイレクトするプリンタのポートがLPT、COM、USBのいずれでもない場合リダイレクトされません。

この情報を鵜呑みにすると、リダイレクトできるプリンタはセントロ、RS-232C、USBでクライアントPCに接続されていなくてはいけないことになります。昨今のプリンタはLANで接続が当たり前なのでこれでは使い物になりません。

もちろん実際にはLAN接続のプリンタも使えるのですが、リモートデスクトップのプリンタのリダイレクトをチェックしてもマウントされない場合はレジストリより設定を変更します。以下のURLを参考に変更することでリダイレクトされるようになります。
http://support.microsoft.com/kb/302361/ja
ユーザーのPCにてレジストリを変更する場合は十分な注意が必要です。

2009年6月23日火曜日

Excelで1文字目が勝手に確定する



Excelで文字入力中に1文字目が勝手に確定してしまう症状が発生することがあります。


例えば「佐藤」と入力すべきところが「sあ藤」などとなってしまいます。




特ににExcel2007での報告例が多いようです。




障害復旧の手順としては、Excel.exeを右クリック(ショートカットではない)


Excel2007なら”C:\Program Files\Microsoft Office\Office12”のexcel.exeを右クリックして互換のタブを開いて入力設定の”このプログラムでは詳細なテキストサービスを無効にする”にチェックをすることで回避できるようです。






今のところ実際に確認していません。




また、同様の設定がIMEにもあるらしいのでExcel以外での発生時にはこちらも確認する必要がありそうです。

2009年6月19日金曜日

BackupExecとSQLの照合順序の問題点

Symantec Backup ExecのSQL対応版をインストールする際に発生したトラブルを1つ

SQL Serverは大塚商会のSumileのために稼動しており、これをBackupExecでバックアップするように設定しようとしたところ次のようなトラブルが発生しました。

BackupExecインストール後、同ソフトを起動しようとするとメディアサーバーへの接続が表示されてアカウントとパスワードを入力するように求められます。
アカウントとパスワードを入力すると、「メディアサーバーに接続できませんでした。」とエラーになってしまう状況になります。
BackupExecの動作に必要なサービスがダウンしていて、手動で起動しても起動できない状態です。

「Backup Exec Server サービスが起動されていません。 オブジェクト 11 で内部エラー (-536837662) が発生しました。 」 というようなメッセージもでます。


この原因はBackupExecのインストール時にBackupExecが動作するためにSQLサーバー上にデータベースを作ります。このデータベースはBackupExecのインストール時に既存のインスタンスにデータベースを追加するか、専用にインスタンスを作成するかを選ぶことができますが、既存のインスタンスに間借りする場合、そのインスタンスの照合順序がバイナリになっているとこのようなエラーになるようです。

大塚商会のsmileはまさにこの状態でした。

別インスタンスにしたところ正常に動作するようになりました。

2009年6月18日木曜日

YAMAHAルーターのconfigの設定、保存

YAMAHAのルーターの設定情報(config)を保存するためにはTFTPを利用します。

取得
 tftp [router-ip] get config /[administrator password] config.txt

設定
tftp [router-ip] put config.txt config /[administrator password]

設定、取得をするルータは事前にtftpの使用を許可する必要があります。

tftpのアクセスを許可するためには

#tftp host [許可するip]
#save

とします。

接続を許可するipを限定しない場合は
#tftp host any
#save
としておきます。