ちょう's profileSEの雑記BlogLists Tools Help

SEの雑記

SQL Server をメインに (したい…) 調べたことや後で読みたいことをつらつらと。毎日が勉強です。コメント / トラックバックは大歓迎です。

ちょう

Occupation
Location
Interests
IIS&Web 勉強会に参加されている方のサイトです。どのサイトも参考にさせていただいています。

やることリスト

  1. WSFC のログについての投稿
  2. OpsMgr を構築して PRO 機能の検証
  3. ISA の検証
  4. MED-V の基本を wiki 化
  5. Windows Server バックアップの基礎まとめ
  6. SQL Server バックアップの基礎まとめ

今月の目標

SQL Server 関連の投稿 10 件!!

セミナー/勉強会情報

July 05

SQL Server 管理レポート その 1

SQL Server の管理用カスタマイズレポートの作成状況を今日からすこしずつ書いていきたいと思います。
現在はトップページを小出しに作成中です。

メインページはサーバーの概要を載せたいなと思い、現在は以下の構成で作成しています。

image

現状は大枠だけ作成してみました。

時間がある時にサーバー情報でよく見る項目を少しずつ追加していきたいと思います。
AWE / MAX DOP だけでなく max worker threads や affinity mask も概要ページで見れると便利そうですね。
#sys.configurations で確認できる情報はこのページからリンクレポートを設定して全部見れるようにする予定です。

この手の自分の勉強用のツールを作るのは楽しくていいですね~。

パフォーマンスチューニングや運用のノウハウを補足として記載しながらレポートを作成していきたいです。

July 04

SQL Server 2008 Management Studio のカスタムレポートについて

Reporting Services の勉強を兼ねて SQL Server 2008 用の管理用カスタムレポートを作成しようと思い、
BI Development Studio 2008 でまずは簡単なレポートを作成してカスタムレポート表示をしたら以下のエラーが。

image

SQL Server 2008 の Management Studio 用のカスタムレポートは BI Development Studio 2005 で開発する
必要があるみたいですね。

下が BIDS 2005 で作成したカスタムレポートを SSMS 2008 で表示した内容になります。

image

まずはサーバーダッシュボードのようなものを少しずつ作っていきたいと思います。
# 最終的には自分で Performance Dashboard Reports のようなものを作ってみたいです。

July 03

クライアントのコンピュータアカウントのパスワード格納場所

Active Directory とは依然として仲良しにはなれていないのですが、そうも言っていられない日々が続いています…。

今日はコンピュータアカウントのパスワードについて。

コンピュータアカウントのパスワードはセキュリティポリシーの
- [ドメイン メンバー: 最大コンピュータ アカウントのパスワード有効期間]
の設定値で定期的に変更され、ドメイン コントローラーでも保持しているパスワードと一致しない場合は、
セキュアチャネルの確立ができず、ドメイン ログオンに失敗する仕組みになっています。

image

パスワードは 1 世代前のものも保持されており、現在のパスワードと 1 世代前のパスワードの両方を使用して
セキュアチャネルが確立できないと NG になります。

Netdom.exe を使用して Windows 2000 ドメイン コントローラのコンピュータ アカウントのパスワードをリセットする方法

セキュアチャネルについては Microsoft の Network & AD サポートチームの以下の記事がとても参考になります。

ドメインにログオンできない ~ セキュア チャネルの破損 ~

パスワードを無期限にする方法に関しては Microsoft エバンジェリスト 安納さんがまとめてくださっています。

【Hyper-V】スナップショットとコンピュータアカウントパスワードの微妙な関係

ちなみに、パスワード不整合が起きたかどうかはドメイン コントローラで対象のコンピュータアカウントの
- [badPwdCount]
- [badPasswordTime]
を見るとわかります。
ドメインコントローラーのイベントビューアでイベント ID [5722] で見る方法も。

ドメインコントローラー側は Active Directory 上にパスワードを持っているとして、クライアント側の場合は
どこにパスワードを持っているのかというと [LSA (ローカル セキュリティ 機関)] に格納されています。

LSA の内容は以下のレジストリで内容を見ることができます。

- [HKEY_LOCAL_MACHINE\SECURITY]
image

デフォルトの状態ではこのレジストリには [SYSTEM] しか読み取りの権限がありませんので他のユーザーで内容を確認したい場合は、
[SECURITY] を右クリックして [アクセス許可] を選択し、読み取り権限を明示的に付与する必要があります。

  1. [アクセス許可] を選択
    image
  2. 操作しているユーザーに [読み取り] を追加
    image

Windows 2000 の場合は [regedit.exe] からはアクセス許可の設定ができないため、[regedt32.exe] を使用します。

アクセス許可を設定すると [SECURITY] が展開できるようになります。

image 

コンピュータアカウントの情報は以下の場所に格納されています。
- [HKEY_LOCAL_MACHINE\SECURITY\Policy\Secret.s\$MACHINE.ACC]
image 
このレジストリキーを展開すると以下の階層が表示されます。
image

[CurVal] [OldVal] がコンピュータアカウントのパスワードの値になるようです。
# [CupdTime] [OupdTime] がそれぞれの値の変更されたタイミングになります。
 ただし、世代移動のタイミングで両方の値が更新されるようで、変更されたタイミングは同じ値が入っていました。

意図的にコンピュータアカウントのパスワード不整合を発生させたい場合は、[CurVal] [OldVal] を書き換えると現象を発生させることが可能です。
あまりにも変な値を入力するとログオンできないだけでなく、ドメインからはずせなくなりますのでご利用は計画的に。

次回は意図的にパスワード不整合を発生させ、ログオンできない状態にさせてみたいと思います。

June 30

repadmin /syncall で別サイトの DC と同期

WIndows 2000 / 2003 のサポートツールに含まれている repadmin.exe を使用すると DC のレプリケートを
コマンドラインで実行することができます。

オプションを何も設定しないで実行すると同一サイト内の DC とのみレプリケートが実行されますので、
複数のサイトを作成している場合は /e オプションを指定する必要があります。

[自サイト内の DC とのみレプリケート]

repadmin /syncall

 

[他のサイトの DC も含めてレプリケート]

repadmin /syncall /e

 

[Active Directory サイトとサービス] を使用して [今すぐレプリケート] で同期をとる場合は
対象の接続オブジェクトを選択するので別サイトでも問題はありませんが、コマンドで実行する場合は
気をつけないといけないですね。

June 24

VBScript で別ファイルをインクルード

よく忘れるのでメモ。

Scripting.FileSystemObject の ReadAll で別ファイルの内容を読み込んで、
ExecuteGlobal に読み込んだ内容を渡して別ファイルをインクルード。

ExecuteGlobal ステートメント