LessThanDot Site Logo

LessThanDot

A decade of helpful technical content

This is an archive of the posts published to LessThanDot from 2008 to 2018, over a decade of useful content. While we're no longer adding new content, we still receive a lot of visitors and wanted to make sure the content didn't disappear forever.

SQL Saturday Iowa another success!

The annual SQL Saturday in Iowa has always been one of my favorite SQL Saturdays. This year it was a little later in the year which made it even better for me. See, in Wisconsin, bow hunting has opened the same weekend that Iowa's SQL Saturday fell on. Now, for a bow hunter, it's a big thing to not go out on opening weekend. In fact, I've never missed an opening morning out in the woods. Until SQL Saturday in Iowa started up that is. The first year this event was organized, I decided that it was one I couldn't miss so bow hunting came second. If anyone has grown up or related to anyone that is a bow hunter, you'll know that it says a lot about how good this event is that one would skip opening day to attend. <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-size: small;"><span style="font-family: Calibri;">The last two years I've submitted sessions in hopes they would be selected as part of the schedule for this SQL Saturday.<span style="mso-spacerun: yes;"> </span>I've been very fortunate that each year the organizers did select me to be part of the schedule.<span style="mso-spacerun: yes;"> </span>This year I was selected to present multiple sessions and that was truly exciting for me.<span style="mso-spacerun: yes;"> </span>It's one thing to have the chance to attend a great event like this but a completely new level to be part of it and contribute to it as a presenter.<span style="mso-spacerun: yes;"> </span></span></span> </div> <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-size: small;"><span style="font-family: Calibri;">The sessions that were selected </span></span> </div> <div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; vertical-align: baseline; mso-outline-level: 4;"> <span style="font-family: &amp;quot; color: #272727; font-size: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-border-alt: none windowtext 0in; border: windowtext 1pt; padding: 0in;">Query Tuning for Developers and DBAs</span><span style="font-family: &amp;quot; color: #272727; font-size: 13.5pt; mso-fareast-font-family: 'Times New Roman';"> </span> </div> <div class="MsoNormal" style="line-height: 15pt; margin: 0in 0in 0pt; vertical-align: baseline;"> <span style="font-family: &amp;quot; color: #272727; font-size: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-border-alt: none windowtext 0in; border: windowtext 1pt; padding: 0in;">As a seasoned DBA, we often forget the basics of query tuning may be an area others haven't been introduced to. Tuning can be a mystery for developers and DBAs that are starting out with SQL Server. Each operation and its cost can lead to lengthy research escapades, determining if the work is even worth the time to attempt a change in the overall execution plan. This session is going to discuss the basics of tuning; however, we can't end there. The second half of the session, the discussion portion, will focus on the key operations in the execution plan. The overall goal of the session is to take away knowledge on how to start with a query and use execution plans to refine it and turn it into a finely tuned process.</span> </div> <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-family: Calibri; font-size: small;"> </span> </div> <div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; vertical-align: baseline; mso-outline-level: 4;"> <span style="font-family: &amp;quot; color: #272727; font-size: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-border-alt: none windowtext 0in; border: windowtext 1pt; padding: 0in;">SSIS: The DBA Multiplier</span><span style="font-family: &amp;quot; color: #272727; font-size: 13.5pt; mso-fareast-font-family: 'Times New Roman';"> </span> </div> <div class="MsoNormal" style="line-height: 15pt; margin: 0in 0in 0pt; vertical-align: baseline;"> <span style="font-family: &amp;quot; color: #272727; font-size: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-border-alt: none windowtext 0in; border: windowtext 1pt; padding: 0in;">Ever wanted to create clones of yourself to get all your work done faster? I will demonstrate how SSIS can help you perform your DBA tasks as if there were more than one of you. You will leave the session knowing how to use SSIS to automate tasks such as performance monitoring above (and below) the normal health checks and transporting databases from one environment to another. You will also learn how SSIS can be used in assisted HA and DR failover strategies as well as backup solutions that go beyond the simple BACKUP statement. We're going to take SSIS and make it a standard tool for your administrative tasks!</span> </div> <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-family: Calibri; font-size: small;"> </span> </div> <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-size: small;"><span style="font-family: Calibri;">Both of these sessions went really well.<span style="mso-spacerun: yes;"> </span>Query Tuning for Developers and DBAs proved to be a great session.<span style="mso-spacerun: yes;"> </span>The room was packed and everyone that attended seems to really enjoy it and there was some great questions and overall interaction.<span style="mso-spacerun: yes;"> </span>Those types of sessions are as much rewarding to a presenter as they are to an attendee that takes knowledge that can help them away from the attendance. </span></span> </div> <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-size: small;"><span style="font-family: Calibri;">On top of the sessions that I gave, the SQL Saturday organizers also put together a Birds of a Feather lunch.<span style="mso-spacerun: yes;"> </span>This lunch event is a group of tables with specific topics that attendees can sit with presenters and others to discuss just about anything.<span style="mso-spacerun: yes;"> </span>My table was really fun and we all talked about SSIS and dove into more tuning areas.<span style="mso-spacerun: yes;"> </span>I highly recommend to all SQL Saturday organizers to consider having a Birds of a Feather luncheon.<span style="mso-spacerun: yes;"> </span>It is a relaxing setting and can spark some great conversations around SQL Server and personal experiences.<span style="mso-spacerun: yes;"> </span></span></span> </div> <div class="MsoNormal" style="margin: 0in 0in 10pt;"> <span style="font-size: small;"><span style="font-family: Calibri;">I wanted to send out special thanks to the organizers of SQL Saturday in Iowa Ed Leighton-Dick, Mark Crooks, Michelle Ufford, Russ Allen, Brian Duhn, Jeff Belina, Mark DeWaard, Jen Lockhart, Jason Adams, Chris Leonard and the many volunteers I saw through the day helping the even run smooth. <span style="mso-spacerun: yes;"> </span>Keep this annual SQL Saturday going! <span style="mso-spacerun: yes;"> </span>It truly is one of the SQL Saturdays out there that is great and leads the way for others.<span style="mso-spacerun: yes;"> </span>Also special thanks to all that attended my sessions and the Birds of a Feather lunch.<span style="mso-spacerun: yes;"> </span>I had a great time and cannot wait to get back to Iowa to see you all again.<span style="mso-spacerun: yes;"> </span></span></span> </div>

Read More...

A New Adventure: Tech On Tap

It was February 27, 2011. Derek Schauland (twitter | blog), Microsoft File Storage System MVP, was stepping off the plane after attending MVP Summit when he sent me a message on Twitter: I have an idea. I love ideas. I thrive on them. I asked him to give me more information. The next two words sold me: tech beers. I saved his message, and I’m glad I did, because today, I can share with you what he did with me. “Tech presentations at a microbrewery with some deep content.” I was intrigued.

Read More...

Massive (the micro-ORM), VB.Net and Named argument cannot match a paramarray parameter

Introduction I have been playing with Massive the micro-ORM for a week now and it works with VB.Net, just as it works with C#, of course it works, I hear you say. Well, there is no “of course” here, but I will not rant about that now. The offending function If you go into the Massive.cs file you will find this function. public virtual IEnumerable&lt;dynamic&gt; All(string where = "", string orderBy = "", int limit = 0, string columns = "*", params object[] args) { string sql = BuildSelect(where, orderBy, limit); return Query(string.Format(sql, columns, TableName), args); } ``` Do you see the <code class="codespan">params object[] args</code> thing? You can use this quite well in C# with named arguments like this. (from the Massive website) ```csharp var tbl = new Products(); var products = tbl.All(where: "CategoryID = @0 AND UnitPrice &gt; @1", orderBy: "ProductName", limit: 20, args: 5,20);``` However if you try the same thing in VB.Net. ```vbnet Dim tbl = New Products() Dim products = tbl.All(where:= "CategoryID = @0 AND UnitPrice &gt; @1", orderBy:= "ProductName", limit:= 20, args:= 5,20)``` You will get this nice error. <span class="MT_red">Named argument cannot match a paramarray parameter</span> And guess what this is [documented behavior][2]. > You have supplied a named argument (specified with the argument&#8217;s declared name followed by a colon and an equal sign, followed by the argument value); however you cannot pass a parameter array by name. When you call the procedure, you supply an indefinite number of comma-separated arguments for the parameter array, and the compiler cannot associate more than one argument with a single name. > > Error ID: BC30587 > To correct this error > > Pass the argument by position, rather than by name. In other words, **<span class="MT_red">don&#8217;t do that</span>**. So I have to do this instead. Dim tbl = New Products() Dim products = tbl.All(“CategoryID = @0 AND UnitPrice > @1”, “ProductName”, limit:= 20, “*”, 5,20)```

Read More...

SQL Saturday #92 – Portland, OR

Where can you get your next @grrl_geek sighting? Check out SQL Saturday #92 in sunny Portland, OR on Saturday, October 8, 2011! Check out this schedule! There are 40 presentations throughout the day, so you’re sure to get your T-SQL, PowerShell, SSIS, Statistics or Denali fix. I’ll be presenting a preview of my PASS Summit session “Reporting Services 201: From Basic to WOW!” I’m going to show you rarely-used report and table properties that make reports pop. I’ll walk you through the basics of a matrix. I’ll demo one of my favorite features, lists. I’ll also show off one of SSRS 2008R2’s best features, charts and visualizations.

Read More...

SQL Server Deep Dives Volume 2

Many books through the year are published revolving around SQL Server. Typically they are focused on a features, methodology, design or administrative eccentric. A few years ago, a different type of book was published named SQL Server Deep Dives. This book was essentially all of the others placed into one. This was accomplished by the vast number of authors that were part of the book. Those authors were found completely from one group of well-known experts around the world: SQL Server MVPs. 

Read More...

Troubleshooting SQL Server: A guide for the Accidental DBA

I'm very excited to announce that the book, "Troubleshooting SQL Server: A guide for the Accidental DBA" will be at the PASS Summit this year. Jonathan Kehayias is well known as one of the best all-around SQL Server Professionals out there and any publication is always valued. This book is composed of some of the most common problems and real-life experiences that go into resolving them. Even the thought of the caliber of the names on this book putting on paper all they have in steps to resolving some of the worst problems out there, holds a lot of value that can prove, priceless. It gets better. Gail Shaw has also contributed as the editor and contributor on this book. The addition of Gail in this book rounds it out as, in my opinion, one of the best DBA books that you can have on your shelf. One that you can turn to in any event you are in need of determining resolutions to many problems that may happen with SQL Server.

Read More...

Using Roboguice to inject your dependencies in an Android app

Introduction After the writing of your first application and [the first tests][1]. It is time to make our application a bit more testable by using dependency injection. I choose to use [RoboGuice][2] for this, which is a subproject of Guice made especially for the Android sub-culture. Setting it up. You can read how to set up Roboguice to work with your application on the [wiki][3]. It’s not rocket science. I ended up with using Roboguice 1.1.2 and the guice-2.0-no_aop.jar for this little demonstration.

Read More...

2011 Quarter 3 Goals: Kicking [beep], Taking Names

It’s the end of the third quarter. What a fun year! Right now, I’m practically falling out of my chair with excitement. Next Friday, I leave for a nine-day trip that includes SQL Saturday #92 in Portland, OR; the Portland Half Marathon; and PASS Summit in Seattle, WA. Who needs sleep? So, three-quarters of the way through the year, how am I doing on my 2011 goals? Blogging Thumbs up. Way up. I had 9 blogs this quarter, including three of my favorite of all time. I talked about user groups, PowerShell punctuation, and making SSMS awesome. And I’m back in the writing groove. I have one new series started already, and two more ideas.

Read More...

Massive (The Micro-ORM), winforms and VB.Net

Introduction I’ve been using nHibernate for quite a few years now and have been having plenty of success with it. But sometimes it’s just to much. So today I had a little project I had to do and I decided I would take Massive from Rob Connery a spin. Install Well, there is no install. Massive is just a gigantic C# file that you would insert into your project if you were using C#. Of course you can’t do that in VB.Net. For VB.Net you just create a new C# Class Library project and call it Massive, no need to be adventurous here. And then you just add a reference to that.

Read More...

VBCop or project Roslyn

A few weeks back I saw the presentation that Lucian Wischik made at devdays 2011. In that presentation he talked about VBCop. VBCop being similar to Stylecop but then for VB.Net and not for C#. I already talked about a need for such a product for VB.Net and why it is not available for VB.Net. I looked it up on Google but I could not find anything. So I sent a mail to the VB-team to ask what happened to that project.

Read More...