.NET Debugging Quick Start

Many a time I am asked how to get a head start with debugging .NET issues – hangs / crashes and most commonly, memory issues. So I assembled this list of resources which helps you get started. In addition, if you are a Premier Support subscriber, you can avail of our most excellent .NET Debugging WorkshopPLUS conducted by my team (Premier Field Engineering).

I hope you find the links useful and if you do I would appreciate some comments and / or you rating this post!

Failover cluster (group) maximum failures limit

My colleague reported that during testing forced failover for a SQL database engine instance, it just ‘failed’ and refused to fail over to the other node in a 2-node cluster. The failure in this case was initiated by shutting down the local service for the clustered instance – which is tantamount to failing the clustered instance itself.

This behavior was slightly unexpected. After some research, we traced it to the ‘Maximum failures in the specified period’ setting at the cluster group (service application) level:

image

It turns out that the testing activity involved some failures already due to which the above limit was already reached. Subsequently, when the SQL service level failure was initiated, the cluster service did not fail it over to the other node and left it in the failed state.

During this investigation I found some articles which are very useful in this:

Moral of the story: When performing failover drills or testing, it may be appropriate to increase this value to a higher number, such as 5 or 10 for the duration of the testing. Subsequently the value may be reset back to 1 or 2.

FYI when you look at the cluster log, this is the message which is recorded when the limit has been reached (and is therefore disallowing restarts):

0000088c.00001038::2012/03/07-06:09:09.834 WARN  [RCM] Not failing over group <groupname>, failoverCount 8, failover threshold 4294967295, nodeAvailCount 1.

Hope this helps!

MDX Studio Quick Tips

Recently I had to use MDX Studio for some MDX query tuning. 2 quick tips:

Also very quickly, if you are finding that the Perfmon section in MDX Studio shows 0 for most values such as ‘Cells calculated’ then try running the MDXStudio.exe with the ‘Run as Administrator’ option.

Also take a look at Ashwani Roy’s SQL Bits session ‘Supercharge MDX performance using MDX Studio’ which is available from https://www.sqlbits.com/Sessions/Event6/supercharge_mdx_performance_using_mdx_studio

TEMENOS T24 Core Banking Optimized on Microsoft SQL Server Database Platform

I found these links today in response to a customer question around ‘real world’ benchmarks for financial applications running on SQL Server. These benchmarks describe the TEMENOS T24 Core Banking system, which is probably as ‘real world’ as it gets.

http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-48-Files/4617.Benchmark-Results-for-Temenos-T24–with-SQL-Server-2008-R2-on-Intel_2D00_based-NEC-Servers.pdf

http://download.microsoft.com/download/B/2/3/B23E0B02-AA00-4921-8A76-B4384B6197DD/sql-temenos-t24.pdf

 

Parallel Data Warehouse resources

I’ve recently started learning about SQL Server Parallel Data Warehouse (PDW) appliance. In the course of learning, I came across some links and resources in connection with this appliance, which I will share in this blog post. I will keep it updated as much as possible.

Learning resources:

Community blog posts:

I will continue to gather links and post them here as I come across them. In the meantime, I hope the above help you!

SQLDiag Configuration Tool released

 

My colleague and friend, boB Taylor (the spelling is not a typo – please visit http://www.opsvault.com/meet-our-contributors and see why) has recently released a GUI tool which allows you to configure the XML files required for SQLDiag to capture specific types of events, counters etc.)

Download it from http://sdct.codeplex.com

Please review, test, blog about it and provide feedback as you see fit.

bOB blogs at OpsVault. His posts can be easily retrieved from http://www.opsvault.com/author/bobtay/

OPTION(RECOMPILE) redux (a.k.a. Parameter Embedding Optimization not working)

A long time ago, I had blogged about the perils of ‘wildcard’ query patterns. As a response to one of the comments in that post, I learnt about a new optimization introduced in SQL 2008 wherein the OPTION (RECOMPILE) hint would help in these kind of cases. Ever since then, I had used this in some customers; but recently, I found that on SQL 2008 R2 and even in SQL 2008 SP1, the behavior was not working correctly.

Recently, I found the reason for this issue from some other sites, and I also found the official name for this enhancement: Parameter Embedding Optimization. It turns out that, based on some bug reports, this optimization was disabled starting in SQL 2008 CU4 (and also disabled in SQL 2008 R2 RTM). The fixes for the issue are in SQL 2008 SP1 CU5 and SQL 2008 R2 CU5 respectively.

Here are the links which cover the details, and I hope they help you!

window.open without address bar

Recently we were struggling with trying to figure out how to suppress the address bar for a popup window opened using JavaScript’s window.open method. Normally, there is an option there which allows you to specify ‘location=no’ and the address bar is expected to be hidden. However, no matter what we tried, this did not work for us.

Later on I chanced upon an Internet Explorer setting which actually controls the final display. There is a security setting ‘Allow websites to open windows without address or status bar’:

image

This setting needs to be set to ‘Enable’ for the respective zone (such as Trusted sites etc.) for the address bar display to be suppressed.

Hope this hint helps!

DB Mirroring Tips

 

Here are some essential things to consider when trying to tune a DB mirroring setup. They revolve round the following concepts:

  • The effect of Virtual Log Files (VLFs) on recovery and therefore failover times
  • The interplay (or lack thereof) between mirroring and some other SQL Server engine features
  • Network speed and issues

 

  1. Be on the latest available Service Pack and Cumulative Update for SQL 2005 or 2008. There are many issues related to mirroring which are fixed in these updates. Some of the key ones which I have seen are given below.
  • The remedial steps for this set of problems revolves round fixing the Virtual Log File Fragmentation issues, such as what is described by Kimberly Tripp. The relevant blog posts are:
  • You should also be aware of the article in http://support.microsoft.com/kb/937531 (The shrink operation is not duplicated on the mirror database when you use database mirroring in SQL Server 2005)
  • If you are using MSDTC transactions with a database which is mirrored, please consider fact that it is not officially supported, as the below articles.
  • For the networking side, the key things to consider are given below.

I will keep adding to this post as I receive additional information. In the meantime, I hope you stay informed and therefore hopefully avoid known issues with mirroring.

If you like this post, please take a few seconds to leave a comment and do rate the post!