Apr 152014

Heraflux-Logo-Color-SMyucca_groupMy company, Heraflux Technologies is proud to partner with Yucca Group to sponsor this year’s SQL Saturday Chicago, a free one-day event for SQL Server professionals. The event is being held at DeVry University in Addision, IL, on Saturday, April 26th. For more details and to get registered, go to http://sqlsaturday.com/291/eventhome.aspx.

I am fortunate enough to be presenting two sessions at this SQL Saturday. The first session at 10:30am in Room 116 is ‘SQL Server Virtualization 101‘, where database professionals can get a solid introduction to the fundamentals of virtualization – one of the most disruptive technologies to hit the datacenter in decades. The second session, a follow up session from the first, is being held at 2:45pm in Room 216, and is entitled ‘Squeezing Top Performance from your Virtualized SQL Server‘, where database administrators who currently manage virtualized SQL Servers can learn how to work with their systems administrators to get the most performance out of their databases.

In addition to the sessions on the day of SQL Saturday, I am also presenting a full day pre-conference training session next Friday, April 25, entitled ‘SQL Server Virtualization for DBAs‘. Data professionals will spend the day learning the in’s-and-out’s of the virtualization technologies that they are guaranteed to be exposed to in their organizations, where they will learn how they can leverage virtualization to improve the reliability, availability, and performance of their mission-critical systems. Register today for this exciting event, as seats are limited and going fast!

Apr 102014

Today marks another installment in my ‘Smart Moves with SQL Server VMs’ blog post series. Today we are going to help stretch the minds a bit farther and talk about another way to help SQL Server DBAs move large quantities of data between VMs in an extremely rapid manner. 

Last time we talked about using network and virtual machine proximity to reduce the network bottleneck when moving around a lot of data. Today let’s use a different strategy to do a similar action. In some cases, this could even move the data faster than before, but it takes a bit more scripting to do the same thing. What am I referring to here? 

Move the virtual hard disk from one VM to another to rapidly move a lot of data from one server to another.

The scenarios here are endless…. migrating data from one SQL Server to another for database migrations, huge volumes of ETL processing, emptying local database backup locations for archival purposes, etc. 

In this example, I’ll click through how to do this with a VMware vSphere 5.5 environment, but not only will any hypervisor do the same thing here, you can script out this process in a large number of ways to automate the process.

First, pick a VM (in this case one called DB1) and add a dedicated virtual disk for the placement of the data that needs to be moved.


Inside the guest operating system, mount and format the new disk. Label it something obvious.



Add whatever files you wish to add to the new virtual disk that you wish to move to a second server.


Now, disconnect the virtual disk from this VM. Before you do this, determine the exact location in the infrastructure where this disk resides. Do not delete them from the underlying infrastructure.


Note that the source VM no longer has this drive mounted.


Back in vCenter, let’s add this disk to a second VM (DB2). This time, let’s find the existing hard disk.





and after!


You just moved 15GB of data in roughly the thirty seconds that it took you to click about ten times. If you were to script this action, you are talking about just a couple of seconds or so.

Consider what scripting a solution like this could do in your environment. If you are on a VMware environment, PowerCLI is your PowerShell extension answer (PowerCLI book on Amazon for your reference). If you are on a Hyper-V environment, the Hyper-V PowerShell commandlets are your answer (Hyper-V book with PoSH examples at Amazon). Go automate your data movement and make your systems more efficient!

Apr 022014

Today VMware released the list of 754 people who are the proud recipients of the coveted vExpert award for 2014. I am proud to say that I have been awarded this great award for the second year in a row!


The VMware community is very strong, and I thank John Troyer (@jtroyer) and Corey Romero (@vCommunityGuy) for all of their ongoing efforts to herd cats within the vExpert community.

To check out the full list and congratulate the folks you know who made the cut, visit the vExpert directory here.

Thanks everyone in the VMware community, and keep up the great work! 

Mar 242014

Teglie-Logo-Blue-Transparent-smallTomorrow at 11am PST I will be holding a free webinar, hosted by Tegile Systems, entitled ‘Avoiding Common SQL Server Virtualization Pitfalls‘. 

The following topics will be explored:  

  • What are the common issues that SQL Server DBAs encounter with virtualized SQL Servers
  • What talking points and solutions will resonate with infrastructure admins such as Storage and Server administrators
  • How to get the best performance from your mission-critical systems

Register for this free event today! This session will be a blast, and I hope you get a lot out of it!

UPDATE: The recording for this webinar is now available here at the Tegile home page.

Mar 242014

sql saturday 287 madisonThis coming weekend is the SQL Saturday #287 in Madison, Wisconsin. It’s my first time at this particular SQL Saturday, and I am really looking forward to it. I am a huge fan of SQL Saturdays, as is evident by my speaking schedule this year, and given the amazing speaker lineup for this event, feel that if you are anywhere in the region, you should attend this event! It is going to be amazing.

I will be presenting my session ‘Squeezing Top Performance from your Virtualized SQL Server‘ at 9am in Room A2141. 

Abstract: Just about anyone can click through a SQL Server installation and get it working, but more than a little tuning is required to get the most performance out of your servers. Once virtualized, additional tuning can help get even more performance out of that virtual machine. David Klee (@kleegeek) will discuss valuable details for both VMware vSphere and Microsoft Hyper-V on how to tweak and tune your virtual infrastructure for business-critical virtualized SQL Servers. Tips on configuring your SQL Server installations for maximum performance when virtualized will be covered in detail.

Also, if you are interested, there are just a few seats left for my Preconference training session on Friday, aptly entitled ‘Virtualization for SQL Server DBAs‘. 

Session Information:

VMware vExpert and SQL Server performance expert David Klee leads this full-day, hands-on introduction to enabling and managing a virtualized SQL Server environment. The focus of the course is to help those new to virtualization and/or infrastructure concepts to become familiar with the concept and purposes of virtualization and how it can benefit them as data professionals. Participants will gain exposure to all layers of virtualization underneath SQL Server, from storage to hypervisor to the SQL Server instance, and will learn how to construct the entire stack with the focus on SQL Server performance. 

Upon completion of this course, attendees will be able to:

  • Understand key virtualization and cloud concepts
  • Determine the optimal infrastructure configuration for best performance
  • Construct a SQL Server virtual machine template with best practices for agility and performance
  • Understand how and what stack metrics to benchmark and baseline to ensure proper objective performance measurement
  • Identify and remediate common virtualized SQL Server performance killers
  • Understand proper virtualized capacity management techniques for long term management 

Attendees with the following experiences will benefit the most from this course:

  • Basic familiarity with the core components of a server
  • SQL Server installation and configuration
  • Exposure to SQL Server performance metric measurement and identification 

A working set of the screens and configuration settings referenced in the session, together with the reference slides and documentation, will be provided to attendees, for prospective reference in working with virtualized SQL Server in their own environments.

Don’t forget – Jes Borland & Ted Krueger are holding a precon called ‘Make me a Tuning Believer’ (wait-listed), and Dan English is holding one called ‘Self-Service BI to the Max’. All of these are fantastic, and I encourage you to attend a precon! 

Come to the SQL Saturday event, and if you are interested, register for the Preconference training session now, as the registration closes Wednesday, March 26th at 7:30am!

Mar 122014

Today I am starting a new series of short posts designed to help SQL Server administrators with virtualized SQL Servers twist the mind a bit and think about virtualization in a different light. I call it “Smart Moves with SQL Server VMs“.

Virtualization technologies for non-VM-admins usually result in just P2V’ing a system and then forgetting about it. Once virtual, the world can change (for the better, I promise) in ways not usually considered, and you – the data manager – can dramatically benefit from embracing the new technology.

The first post in this series discusses a trick with using virtual machine proximity when dealing with large volumes of data movement, such as nightly ETL processes, application server data handling, or database backups.

First, we’ll be using a free utility called iperf to demonstrate the raw performance differences here. You can read more about how to use it at this blog post.

So the scenario is as follows. You have two servers – a SQL Server VM that runs a nightly ETL process, and an application server VM where you are pulling large quantities of data from. The traffic occurs over the physical network.

A quick iperf test can show the total possible network bandwidth between the two servers.


This test shows that we’ve got just about the maximum possible bandwidth between the two servers on this 1Gb network. At this point, the data that you will transfer is most likely limited by this bandwidth bottleneck. 

Now, what if you were to place both of these VMs on the same physical machine? If the networking is set up properly, the situation can change. You can rerun the same iperf test and see the following results.


We get an over 15x performance boost in this scenario.

Your network traffic now is passing through the backplane of the physical machine and not even touching the physical network. All of it is transparent to the SQL Server, operating system, or application code. There are no code changes, no funny tricks with Windows Server networking…. just a very dramatic performance boost.

Think about this performance difference for a moment. With the networking stack out of the picture, your large data movement bottleneck could now be the storage speed reading from disk, or it could be the CPU scalability of the ETL process itself. Both of these bottlenecks have much higher thresholds than the networking stack’s performance.

Your large volume data transfer process is virtually sure to experience a performance improvement, and therefore cut down the run time of the process and resource consumption on the networking stack. 

The best part is that both VMware vSphere and Microsoft Hyper-V have PowerShell interfaces into the hypervisors, and scripting out a command to co-locate these two VMs on the same host is a relatively trivial task. All you need are simple permissions from the virtualization admins to achieve this. It can be programmed to execute as a prerequisite step in the ETL processes or jobs that perform these tasks.

Go forth and improve performance! More tips and tricks like this are coming in the following weeks!