« March 2009 | Main | May 2009 »

Hyper-V Unleashed

If you're interested in learning more about what Hyper-V brings to the table, and whether or not it's ready for prime-time, make sure to check out Hyper-V Unleashed – a free Web Seminar from WindowsITPro.

The event will be on July 21st, and I'll be presenting the 'Hyper-V In Depth' session. Registration is free, and there are some great goodies/freebies available for registrants – in addition, of course, to the content.

Here's a recap of the Agenda:

11:00 a.m.

Hyper-V In-Depth

This session would provide detailed information about Hyper-V. We will begin with the Hyper-V architecture and a discussion of the differences in the Hyper-V role and Hyper-V Server 2008 standalone edition. We also would cover storage and networking options; installing and managing Hyper-V on Server 2008 and Server Core; and advanced topics such as offline VHD access, backup and recovery, high availability options, and management.
12:30 p.m.

Partner Technical Presentations

1:45 p.m.

VMware ESX vs. Microsoft Hyper-V

This session would compare ESX server and Hyper-V, showing the differences between their architectures. We would look at the different features and management interfaces and compare the performance of the two products. In addition, we would look at the more advanced enterprise management capabilities offered by VI3 and SCVMM.
3:00 p.m.

Highly Available Hyper-V

This session would present the different high-availability features offered by Hyper-V. We would cover setting Failover Clustering at both the Hyper-V server and guest level and provide an overview of Live Migration, discussing how Live Migration works and then showing how to set up and use Live Migration with Hyper-V and Server 2008 R2


New SQL Server Magazine Articles

I knew that one of my articles was going to be in the April issue of SQL Magazine, so imagine my surprise when the April issue actually arrived with two feature articles from yours truly.

Maximize Storage Performance – Sadly only what amounts to a fairly introductory approach to maximizing disk performance, but something that I've been keenly aware of in terms of how few SQL Server Deployments really take advantage of correctly.

Using SQL Server 2008 FILESTREAM Storage – I always wondered if the conventional wisdom which dictated that storing images and other files in a database truly did result in a performance hit, and in this article I tackle some of those conventional theories while addressing how to use SQL Server 2008's new FILESTREAM storage options. (Which I think I'll have to cover in a video here in a while too… )



Scripting Anomalies, SSMS 2008, sprocs, and sp_executesql

If you're using SQL Server Management Studio 2008 to manage database objects, you may run into an issue that causes you some grief when you right click on a sproc and either specify the Modify or Script > Create options. Specifically, you may see something that wraps your entire sproc in a call to sp_executesql, like what follows:

script_crud

Not only does this behavior needlessly complicate things, but it also makes ad-hoc modifications to your sproc a bit more difficult as any ticks that you had in your actual sproc body, now have to be escaped (i.e. ' becomes '') and then you also need to make sure that you keep on top of that with any modifications or edits you may make.

Personally, I'd rather see the scripts generated by SSMS look more like the following – as that's also what they look like under the covers:

nonMessedUp

As near as I can tell, there are at least one (possibly two) factors involved. First, the exact issue that causes this problem is the scripting option "Include IF NOT EXISTS clause", as shown below.

includeIfNotExists

When that option is set to True is when I've encountered the problem.

Or, more specifically, it appears that when I set that option to True, connect to a SQL Server 2000 server, and generate a script – then I run into the problem with sprocs from SQL Server 2000. More interestingly though, is that this seems to break something internally, because then my scripts for SQL Server 2005 and 2008 servers/objects also get broken.

Seems like a bug to me, but maybe it's just a 'by design side-effect'. Either way, switching the option to False seems to solve the problem for me.



Another SSMS 2008 Improvement: DROP and CREATE

In a recent video on improvements added by SQL Server Management Studio 2008, I covered a number of bigger, and even smaller, changes to SSMS introduced in SQL Server 2008.

One very cool (and very subtle) feature I didn't explicitly call out though deserves some mention: the new addition to generate DROP and CREATE scripts in a single action.

DropAndCreate

Granted, all this option really does is combine the ability to independently generate DROP and CREATE scripts so it's not that big of a deal.

But it can help out in a number of scenarios, and I've found it actually quite useful in a number of recent DBA-related activities where I was cleaning up objects and wanted to ensure that I also had rollback scripts and so on…



Getting Ready to do Something you Might Regret?

If you're mucking around in your database, and need to save your changes in a transactionally safe manner, but JUST might want to leave a flag or some kind of marker that would let you know what you need to return to should you later on decide it was a bad idea, then SQL Server has you covered:

BEGIN TRAN PrePlunge
WITH MARK 'Prior to Doing Stuff I might Regret'

Then, if you decide you need to undo your changes, you can always throw in the STOPATMARK clause as part of a RESTORE + RECOVERY. (Of course, ANY changes you've made SINCE that mark are toast, but it's still nice to have the option.)

Books Online covers this in a bit more detail, and it works with SQL Server 2000, 2005, and 2008.