aij[beta]

日々の芥

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) |
忘れないようにメモ
SQL Serverはトレースログを記録できるが、常に記録しておくと、パフォーマンスも落ちるし、ディスク容量も心配。飛行機の墜落事故時にボイスレコーダとフライトレコーダを解析して事故原因を追求するように、DBの障害時にトレースがあったらなあとおもうこともしばしば。

標準機能だけでBalckBox Traceをとるには以下のようにする。(SQL Sevrer 2005の場合)

Trace定義

use master
go
create procedure StartBlackBoxTrace as declare @tid int
exec sp_trace_create @tid output, 8
exec sp_trace_setstatus @tid, 1
go


Trace開始

exec sp_trace_setstatus @traceid = 2, @status = 1;
GO


これで、5MB単位で上書きされるトレースログblackbox_XXXX.trcが、データのデフォルトパスに作成される。
sp_trace_createのオプションはヘルプ参照のこと。

SQL Server起動時に自動起動させるためには以下のようにする。

exec sp_procoption 'StartBlackBoxTrace','startup', true;
go



SQL Serverが停止されると、当然ながらトレースも停止されるので、最後のトレースファイルを採取すると障害原因がわかるかもしれない。大規模なシステムだと5MBではほんの数分なので役に立つかどうかは微妙。正直言って、DBのトラブルは、多数のユーザがログインするようなシステムでは再現することが困難なので、状況を説明する材料程度に考えること。

クラスタ等の無停止状態で、停止させる必要がある時は
Trace停止

exec sp_trace_setstatus @traceid = 2, @status = 0;
GO

で手動で停止させる。


スポンサーサイト
Windows 7、値下げと無償アップグレードで大ヒットなるか? - ITmedia エンタープライズ

なんて書いてあると、6年がかりの作戦じゃねえーのと思った。

Windows 2003 Serverのインストール。久しぶりに現場仕事。最近は管理業務ばかりなので気持ちと頭のリフレッシュを兼ねてグループ内の情報共有サーバーをセットアップ。

最近のプライマリパーティションは20GBがデフォルトなのかとか、相変わらずWindows UpdateでインストールできないHotFixがあるなぁとか。

今回のH/WはDellのPowerEdge 2950III。いつもながらDellは最低限のソフトと、比較的挑戦的なハードウェア構成のバランスが面白い。オンボードに緊急ブート用のUSBキースロットがあったりする。バックアップはDATではなくて、RDXにしてみた。要は2.5"HDDのリムーバブルHDだけど、毎日DATでバックアップするよりは、スピードとコストで見合うかなというかんじ。DATは定期的にクリーニングしたり、交換したりが面倒だし。LTOのシングルドライブは少し大げさ。
quad-coreのdual CPUなので、タスクマネージャからはCPUが8個見える。こんなサーバーが、数十万円で買えるのだから素晴らしい。

そういえば、DellのサイトはSafariでアクセスできるようなった。以前はIEだけだったのに。


2月13日から、IE7が自動更新の対象になる。

どうも、ピンと来ないのだけど、これを指折り数えて楽しみにしている人がいるのだろうか?Windows Internet Explorer 7: 自動更新インストールのお知らせでは、カウントダウンまでしている。

欲しい人はすでにインストールしているだろうし、逆に企業の情シスではやれやれと思っているだろうし、誰もメリットを感じていないと思うのだけど。直接担当しているわけではないけれど、業務アプリをwebアプリケーションで実装していると、ブラウザの検証だけではなく、アプリそのものや、シェルとしてのExploerやらも面倒を見る必要があるし、OSのアップグレードよりタチが悪い。こういう外的要因の検証なんてコストもかけられないしな。誰も嬉しくないよね。


サーバーとして使用しているWindows 2003 server上のアプリケーションやバッチファイルをリモートから実行指示をかける話。

方法1
WMIを使う。
バッチファイルを起動する程度あればこれが一番楽。
リモートのWMIプロバイダに接続して、Win32_Processをコントロールしてやればよい。
リファレンスとしては、WMI Operating System Classes (Windows)。ただし、実行するアプリケーションがネットワーク上のリソースを必要とする場合はうまく実行できない、ネットワーク上のサーバーからファイルをコピーするとか。どうもWMIから実行されるプロセスに制限があるようなのだが、そのあたりのドキュメントが見つからない。

WMI Fun !! ~ WMI に興味がある方・システム管理者必見 !! ~このあたりも必読。


方法2
タスクを使う。
スケジュールしない(無効な)タスクとして、アプリケーションを登録して、そのタスクを外部から呼び出す方法。管理共有が有効であれば、リモートからタスクを呼び出すことが可能なので、

schtasks /Run /S マシン名 /U ユーザー名 /P パスワード /TN タスク名

あたりで、なんとかなるか。
UNCパスから、.NET Frameworkで作成されたアプリケーションを起動する時は、caspol.exeで、file URLを追加してやるとうまくいく。

同じURLを複数追加すると、ポリシー判定がうまくいかなくなる。
caspol.exeはお馬鹿だから、同じポリシーがあることに気がつかない。って、こんなことにハマって半日無駄にした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。