広告

2014年8月31日日曜日

「アドバンストMS SQL SERVER 2008 構築・管理」SQL Serverで何かあると本書を確認してます


わたしが自腹で買った本ではないのですが、「アドバンストMS SQL SERVER 2008 構築・管理」は特にSQL Serverのトラブルシューティングや運用管理の実務で使えるいい本で、SQL Server関連のトラブルがあるとまず本書を確認する感じです。

そこで本書を紹介したいと思います。



■目次


まず目次はこんな感じです。(Amazonから抜粋)

第1章 導入と構成
第2章 ストレージ要件の整理とファイル配置
第3章 テーブルとインデックス
第4章 統計情報とCHECKDB
第5章 フラグメントと領域監視
第6章 データの移動
第7章 バックアップ管理
第8章 セキュリティ
第9章 モニタリングツール
第10章 メモリ、プロセッサ、I/O
第11章 ロック
第12章 クエリインデックスチューニング
第13章 クラスタリング
第14章 データベースミラーリング
第15章 ログ配布
第16章 レプリケーション

SQL Serverの機能についてひと通り網羅されていることがわかると思います。


■実務で使えるネタ多数あり


マイクロソフト製品の中でもSQL Serverは

SQL Server 2008 自習書シリーズ

徹底検証シリーズ | SQL Server 2008 R2


等比較的公開情報が充実している方だと思いますが、やはり実務で使えるノウハウに関する情報は少ないのが現実です。「アドバンストMS SQL SERVER 2008 構築・管理」は実務で使えるノウハウが多いです。

わたしとしては特に以下が役に立ちました。

  • SQLトレース等の負荷の目安
  • 実行プラン解析例
  • デッドロック解析例
  • クラスタ復旧パターン


■SQLトレース等取得すべき項目と負荷の目安


SQLトレースは負荷がかかると一般に言われますが、じゃあどの項目を取得するとどれだけ負荷がかかるのか?という情報は中々ありません。本書ではSQLトレースも含めて、一般の運用時、トラブル解析時にそれぞれ取得すべきデータ項目一覧と負荷の目安が記述されています。


■実行プラン解析例


またやたら処理時間がかかるクエリの原因調査を行う場合、実行プランの解析が必要になります。この実行プランの解析については中々情報がないのですが、本書はある程度実行プランの解析方法についてもまとめられています。


■デッドロック解析例


第11章 ロックではログからデッドロックの原因をログからの調査例が記載されています。


■クラスタリング環境のトラブルパターンと復旧手順例


第13章 クラスタリングでは、単にSQL Serverクラスタリングの仕組みだけでなく、発生しうるトラブルのパターンとパターンごとの復旧手順例まで記述されており、実際にクラスタ環境のトラブルシューティングや運用手順作成時に役に立つと思います。


仕事で使ったポイントを記載してきましたが、同じことで困っている人であれば本書は助けになると思いますので一度目を通してみてください。



2014年8月25日月曜日

.NET Framework 4、4.5、および 4.5.1 のサポートも2016年1月12日に終了でお客様説明に苦労しそう

Internet Explorer 8のサポートが2016年1月12日で終了する旨が話題になってますが、ヒッソリと.NET Framework 4.x についてもサポートポリシーが変更になってます。

Microsoft .NET Framework サポート ライフサイクル ポリシーの FAQ








.NET Framework 4、4.5、および 4.5.1 のサポートが 2016年1月12日に終了し、以降はバージョン4.5.2のみがマイクロソフトのサポート対象になるとのこと。


.NET Framework 4.5はWindows 8及びWindows Server 2012、4.5.1はWindows 8.1及びWindows Server 2012 R2にプリインストールされていますが、.NET Frameworkのサポートを受けるためには2016年1月12日までに最新の4.5.2をインストールする必要がある事になります。

今後Windows 8系をターゲットにした新規.NETアプリケーションについては、OSにプリインストールされている.NET 4.5や4.5.1ではなく、最新の.NET Framework 4.5.2を前提に開発するひつようがありそうです。


■既存の.NET 4.5、4.5.1アプリはどうするか?


 問題なのは、既存の.NET 4.5、4.5.1アプリケーションです。

上記のマイクロソフトのサポートページによると、.NET 4.5や4.5.1でコンパイルされた.NETアプリケーションは再コンパイルの必要なく、.NET Framework 4.5.2上で動作するとあります。ただ完全互換をマイクロソフトが保証するわけではありませんので、 既存の.NET 4.5や4.5.1アプリケーションを.NET 4.5.2上で動作保証するためには、また再試験が必要となりお客様説明などに苦労しそうです。

2014年8月22日金曜日

IE11エンタープライズモードがSIerには悩みの種になりそう

2016年1月12日以降最新のIEのみがサポート対象になり、そのためWindows 7+IE8を動作保証対象としている企業システムは対策を迫られます。

その対策として、今まで話題になりそうで、あまりなってなかったIE11のエンタープライズモードが改めて注目されそうですが、このエンタープライズモード、SIerにとって逆に悩みの種になりそうな気がします。


■IE11エンタープライズモードとは



IE11エンタープライズモードというのは、以下のマイクロソフトのブログ記事にもありますが簡単に言うとIE11上で特定のページのみIE8互換で動作させる仕組みです。

Blogs - Japan IE Support Team Blog - Site Home - TechNet Blogs

機能自体は多分?よく出来てるんだと思います。


■エンタープライズモードがお客様との費用交渉を難しくする


とは言え、このエンタープライズモードでマイクロソフトがIE8完全互換を保証してくれるわけではありません。そのためSIerの立場で既存のIE8対象システムをエンタープライズモードで動作保証するためには、結局ひと通りの確認試験をせざるを得ないということになります。

逆にお客様はIE11に移行する費用をエンタープライズモードを使って大幅に安くするようにSIerに求めてきますので、かえって費用交渉が難しくなるんですよね…。

今後、IE11エンタープライズモードを使うことで確認試験費用をいかに下げられるかがSIerの課題になりそうです。

2014年8月18日月曜日

2014 年8 月13日公開の問題の更新プログラムが家のPCにもインストールされてました

2014 年 8 月 13 日公開の更新プログラムを適用すると、Stop 0x50 エラーで起動しなくなる場合があるとのことで、結構問題になっていますね。

マイクロソフトのセキュリティチームのブログ

【リリース後に確認された問題】2014 年 8 月 13 日公開の更新プログラムの適用により問題が発生する場合がある - 日本のセキュリティチーム - Site Home - TechNet Blogs

によると、

  1. 2982791 [MS14-045] カーネル モード ドライバーのセキュリティ更新プログラムについて (2014 年 8 月 12 日)
  2. 2970228 Update to support the new currency symbol for the Russian ruble in Windows
  3. 2975719 August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
  4. 2975331 August 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012

の4つの更新プログラムが問題とのこと。


■家のWindows 7 PCにも問題の更新プログラムが…


わたしのWindows7母艦PCを確認してみたところ




おもいっきり問題の更新プログラムがインストールされてました…。が、とりあえずわたしのPCでは起動時にSTOPエラーは発生しませんでした。

まあ流石にWindows Updateで自動更新されるプログラムについてはGDRである程度ちゃんとした試験が行われているはずですので、 多分特定の環境でのみSTOPエラーや異常終了が発生するんだろうと思います。


■とりあえずアンインストールしておきました


MSのブログでは上記更新プログラムがインストールされていた場合、問題が発生してなくてもアンインストールが推奨されてます。以下のとおりアンインストールしておきました。



 上記の更新プログラムは現在は配信停止されているとのことですので、現時点でインストールされていない場合、インストールされていてもアンインストールできればひとまず安心です。


■起動しなくなった際の対処策もMSブログにあり


なお起動しなくなった場合の対処策も上記MSブログにありましたので、困っている人は確認して下さい。

2014年8月14日木曜日

C++の定番本ですが「Effective C++」は読んでおくべき

C++を勉強したい人向けに、定番本ですが「Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series」をオススメしたいと思います。


■Effective C++書籍の構成


本書の目次を見ると

第2章 メモリ管理
5項 newとdeleteのペアは、同じ形式に備えよう

というように1項ごとに一つのトピックについて記述し、それが合計50項記載されるという形式をとっているのですが、単なる断片的なノウハウ集ではなく、C++の基本事項が網羅されていると思います。


■まず読むべき項目


特にわたしがためになった箇所は

第2章 メモリ管理
第3章 コンストラクタ、デストラクタ、代入演算子

の章全体と第4章の

21項 使える時は必ずconstを使おう
22項 値渡しよりも、リファレンス渡しを使おう

あたりです。上記の項を読むことでC++ではどのようなときに新しいオブジェクトが作られメモリが使われるか、無駄なオブジェクト作成を避けるためにどのようなコーディングをすべきかということが理解出来ました。

古い本で改訂版も出ているのですが、今回紹介した改訂2版であればAmazonで格安で入手できます。まずは古い版を読んでみるのがいいのではないかと思います。



■もう一冊おすすめ「CプログラマのためのC++入門」



もう一冊C言語はある程度知ってる人が、C++言語を勉強する際のおすすめの書籍として「CプログラマのためのC++入門」も上げておきます。

こちらも古い書籍ですが、その分安く入手可能です。



2014年8月12日火曜日

IE8サポートが2016年1月12日で終了で企業システムは対策が必要ですね

Microsoft、IE 8のサポートを2016年1月12日に終了へ - ITmedia ニュース

の記事によると、Internet Explorer 8のサポートが2016年1月12日で終了するとのこと。

正確に言うと、各OSにインストール可能な最新のIEのみがサポート対象になるようです。

http://blogs.msdn.com/b/ie/archive/2014/08/07/stay-up-to-date-with-internet-explorer.aspx


マイクロソフトのブログにも以下の記載があり、

After January 12, 2016, only the most recent version of Internet Explorer available for a supported operating system will receive technical support and security updates. For example, customers using Internet Explorer 8, Internet Explorer 9, or Internet Explorer 10 on Windows 7 SP1 should migrate to Internet Explorer 11 to continue receiving security updates and technical support.
例えばWindows 7 SP1では2016/1/12以降はIE8,9,10はサポート及びセキュリティアップデートは提供されないとのことです。


■IE8サポート終了で企業システムは対策が必要


これ一般コンシューマーはともかく、企業システムにとってはでかいニュースではないでしょうか。

企業システムはOSにプリインストールされているIEバージョンを動作保証対象にしているケースが多いですし、基本的にOSのサポート期限までプリインストールバージョンのIEもサポートされる前提で考えてたと思います。

Windows 7だと 2020/01/14が延長サポート終了予定日です。IE8もそこまではサポートされるのかなと私も思ってました。

今後、企業システムでは対応の見直しが必要になるでしょうね。

2014年8月10日日曜日

「LINQテクノロジ入門」 ラムダ式やデリゲートを勉強したい人にもオススメの本

マイクロソフト関連の仕事をしている人にはお馴染みの赤間信幸氏の著書「LINQテクノロジ入門 MS VS2008による新たなクエリ構築技法 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)を紹介します。





■ LINQは使わなくてもラムダ式やデリゲートは使うはず


「LINQなんて使っているところ見たことないよ」と思われるかもしれません。私もLINQを使っている現場を経験したことはないです。

じゃあ何でこんな本を買ったの?ということですが、LINQを理解したかったというよりは、.NET Frameworkの実装を理解する上で重要な「ラムダ式」と「デリゲート」の具体例が知りたかったのが理由です。
また赤間信幸氏の本は他にも何冊が読んでおり、基本わかりやすくて面白いというのもありました。

他にも、自動型推定機能や匿名データ型等、.NET Frameworkのコーディングを理解する上で必要な概念が色々記載されています。LINQを理解するためには、まずこれらの概念を理解する必要があるためです。

そのためLINQ自体には興味がなくても、先に述べたキーワード(ラムダ式、デリゲート、自動型推定、匿名データ型等)に興味のある方にとっても興味深い本になっています。

あ、もちろんLINQ自体を理解する上でもいい本ですよ。




2014年8月9日土曜日

「絵で見てわかるSQL Serverの内部構造」SQL Serverを深く知りたい人は挑戦すべき書籍

絵で見てわかるSQL Serverの内部構造 (DB Magazine SELECTION)」を紹介します。


タイトル通り、SQL Serverの内部構造を豊富な図を交えて解説した本です。本書は
  • SQL Serverの内部アーキテクチャや仕組みを深く知りたい人
  • SQL Serverのトラブルシューティングやチューニングを担当する人
に読んでもらいたい書籍です。


■目次


目次は以下のとおりです(Amazonから引用)。

SQL ServerによるCPUリソースの使用
SQL Serverが実行するI/O動作
SQL Serverのメモリ管理~前編
SQL Serverのメモリ管理~後編
データベース構造の深層
テーブル構造の深層
データベース破損への対応
バックアップと復元の深層
リレーショナルエンジンを徹底解剖
SQL Serverとネットワーク
お勧めのSQL Server便利ツール
特選トラブルシューティングTips


■内容はかなり濃いです


SQL Serverはスレッド管理をOS任せにせず、SQLOSスケジューラでスレッド管理とCPU割り当てを独自に行いうのですが、「SQL ServerによるCPUリソースの使用」の章ではその仕組を丁寧に説明しています。

またSQL Serverのメモリの使い方やファイル構造については、SQL Server内部で使われているWindowsのAPI(WriteFileGather、VirtualAlloc関数)やOS自体のメモリ管理の仕組み(ユーザーモード、カーネルモード)も含めて説明されています。

ページ数は270ページほどでそうボリュームがあるわけではないですが、上記の通り内容はかなり濃いと考えて下さい。一読しただけで内容を全て理解することは出来ないと思います。

私自身もヒマを見て何回か読み返していますが 内容を完全に把握したとは言えないです。逆に本書の内容を頭にいれることができれば、SQL Serverの内部挙動をかなり推測、説明できるようになるでしょう。

SQL Serverを仕事で使う人、特にDB管理やチューニング、トラブルシューティングを担当する人はぜひ挑戦したい書籍でしょう。

2014年8月7日木曜日

「生産管理・原価管理システムのためのデータモデリング」DB論理設計の詳細な具体例が知りたい人向けの本です

以前、データベースの論理設計をする際に参考にした本「生産管理・原価管理システムのためのデータモデリング(渡辺 幸三)」を紹介します。



データベース論理設計を生産管理・原価管理システムの具体例から解説した、わたしの知る限りあまり類書がない本だと思います。

■目次

目次は以下のとおりです。

第1部 データモデリング入門
 第1章 データベースとデータモデル
 第2章 エンティティ関連と正規化
 第3章 システム設計に関する知識

第2部 生産管理システムのデータモデル
 第1章 部品表と工程表
 第2章 未来を見通す在庫システム
 第3章 入出荷と製造
 第4章 月次計画と原価計算)

本書の構成は、「第1部 データモデリング入門」で関数従属性や第一~第三正規形等のRDBでのデータベース論理設計を行うための基本的な知識の説明を行い、「第2部 生産管理システムのデータモデル」で、第1部の知識を使って具体的な業務においてどのように設計を行うかの具体例を解説する、という流れになっています。


■本書の特徴


この手の本では通常データベースの基本的な知識の説明がメインで、その具体例というのはオマケ程度で実際の業務の参考にはならないというパターンが多いですが、この本は違います。むしろ「第1部 データモデリング入門」はさらっとした説明にとどめ、「第2部 生産管理システムのデータモデル」の説明に重点が置かれています。ページ数で見ても第1部が70ページ程度に対して、第2部は200ページ以上のボリュームです。

生産管理業務おいて、「品目」とは何か?「部品表」とは何か?これらの業務をデータベースで表現するにはどのように設計すればよいか?、原価計算における集計と配賦に適したデータモデルは?というようなことが延々と記載されています。


■とにかくDB論理設計の詳細な具体例の解説が欲しい人にオススメ


データベース論理設計(データモデリング)の理論だけではなく実在の業務での具体例が知りたいという人にはピッタリの本だと思います。本書のタイトルに生産管理、原価管理とありますが、具体例が生産管理、原価管理システムというだけで、考え方自体は、他の業務システムのデータベース設計にも役立つと思います。