Gamefest 2011 Presentations Posted

The presentations for the Gamefest 2011 conference are now available on Microsoft downloads. Here are the main talks of interest to Windows developers. Note: As mentioned during the Gamefest conference keynote, content related to the next version of Windows is available from the //BUILD/ Windows conference. Performance How Valve Makes Games Better with XPerf (Windows…


Premier Field Engineering–Dynamics

I wanted to take a quick break from all the great technical content being provided here to give more detail on just who exactly is developing this content and where else you might be able to find our information out in the wild.  It’s been approximately 15 months since we started this blog, and in…


Debug Diagnostic 2 : Générer une série de dumps en mode Hang de manière manuelle pour un processus spécifique

[Mise à jour le 18 décembre 2017] Actuellement la dernière version de Debug Diagnostic est Version 2 Update 2, le téléchargement est disponible ici : https://www.microsoft.com/en-us/download/details.aspx?id=49924 (Note: les versions 64bit et 32bit sont disponibles, veuillez choisir le bon fichier en fonction de votre machine.) Cette version de Debugdiag fournit 2 composants : Debugdiag 2 Collection et…


Application Pool reset after installing 3rd party program

Understanding the differences between how and where 32bit and 64bit programs can run is, at the beginning, a little tricky.  Simply, 32bit programs can run on 32bit and 64bit machines, while 64bit programs can only run on 64bit machines. When the topic concerns IIS application pools on 64bit machines, the context is the same.  If…


Create an IIS configuration backup

The first step to take when making changes to a system is to backup what you currently have so that if there are problems with the system after the changes have applied, you have time constraints and can’t get the system to work, then you have at least a backup of the systems state to…


DO’s&DONT’s #3: やらなければいけないこと – 非典型的パラメータ値が存在する場合の再コンパイル

神谷 雅紀 SQL Server Escalation Engineer   非典型的パラメータの問題   非典型的パラメータ値に起因する問題があります。これは、ストアドプロシージャやパラメータ化クエリなどに、典型的ではない、普段使わないような特殊な値のパラメータ値が渡され、その値を用いてコンパイル及び最適化された実行プランがキャッシュされることによって引き起こされる問題です。この問題は、パラメータとして渡された値によって、検索範囲や結果セットが大きく変わる場合に発生します。このような実行プランは、parameter sensitive plan と呼ばれることがあります。また、このような非典型的なパラメーターに起因する問題は、atypical parameter problem と呼ばれることがあります。   それによって、何が起こるのか?   パフォーマンスの問題が発生します。 以下のようなケースを考えてみましょう。 「休業日のデータを検索した。その後、普段は時間のかからない営業日のデータ検索に時間がかかるようになった。」 「本店で、全支店のデータ検索が行われた。その後、支店別のデータを検索すると、いつもに比べて非常に時間がかかる。」 ストアドプロシージャやクエリが実行される時、まず、それらの実行プランが既にキャッシュされているかどうかが確認されます。キャッシュされていれば、キャッシュされている実行プランを用いて、処理が実行されます。キャッシュされていなければ、指定されているパラメータ値を使用して、コンパイル及び最適化がおこなわれ、実行プランが生成されます。その実行プランはキャッシュされます。 先の例では、キャッシュされている実行プランがなければ、「休業日のデータ検索」のためにストアドプロシージャを実行した時に、「休業日のデータ検索」に最適な実行プランが生成され、その実行プランはキャッシュされます。それ以降、このストアドプロシージャが実行される時には、キャッシュされている「休業日のデータ検索」に最適な実行プランを用いて実行されます。その実行プランが「営業日のデータ検索」にも最適であればパフォーマンスの問題は発生しません。しかし、「休業日のデータ検索」には最適であっても、「営業日のデータ検索」には最適でなければ、言い換えれば、「休業日のデータ検索」の時に指定されたパラメータが非典型的であれば、「営業日のデータ検索」にはパフォーマンスの問題が発生することになります。   どのように対応するか?   非典型的なパラメータが存在すると予想される場合には、実行ごとにコンパイル及び最適化することを指定します。そのための方法としては、以下の方法があります。 ステートメントに OPTION(RECOMPILE) を指定する。 (SQL Server 2005 以降のみ) SELECT * FROM tabname WHERE colname = 123 OPTION(RECOMPILE) ストアドプロシージャの場合には、 ストアドプロシージャを WITH RECOMPILE 指定で作成する。 CREATE PROCEDURE p (@param1 int) WITH…