Top vs. Max

T-SQL
The company I work for has a very well defined need for versioned data. In a lot of instances, we don't do updates, we do inserts. That means that you have to have mechanisms for storing the data that enables you to pull out the latest version of all the data or a particular version of all the data, or the data at a particular moment in time, regardless of version.  That means maintaining a version table and a series of inserts into various tables. Some tables will have pretty much a new row for each version, some tables may only have one or two versions out of a chain. With the help of a very smart Microsoft consultant, Bill Sulcius, we have a mechanism that works very well. However,…
Read More

Virtual Servers

Misc
The dev teams that we support have long believed that if only they had an infinite number of environments then the deployment and integration issues that they, and we, wrestle with would go away. Never mind pointing out that if you have problems integrating then spreading yourself on to even more servers with even more isolation of individual development teams would only radically increase the problem. I tried that. I was shut down. Anyway, we had been using a tool set from one of the heavy hitter virtual environment companies. Supposedly it was going to make it possible for us to implement as many virtual environments, not just servers, but sets of servers, as we wanted. Months of work have gone by. I just got the word through back channels...…
Read More

Slick New Tool from RedGate

Tools
I have no intention of this becoming "tool of the day" or anything, but I can't help tooting the horn for a tool that I've been using a lot from RedGate. It's new and in beta right now, but it's going to be pretty good. It's a data generation tool called, are you ready, Sql Data Generator. Who saw that coming? Ok. I know. I'm not funny. Anyway, this is a great little tool. I've been using it to quickly slap large amounts of data into small sets of tables to test queries that I'm writing or for checking answers that I'm posting over at SQL Server Central. The tool lets you pick which tables and the columns inside those tables that you want filled with data. It has a…
Read More

SCOM Troubles

Tools
I inherited the SCOM project when one of our Admin people left the company. This person had done a ton of work setting things up but ran into some problems. One of the problems was identified as databases missing from particular instances. I investigated further and found that the database list was "distinct" across instances. Meaning, if two instances shared the same database name, only one of the databases was listed. After getting an email from PSS, I did more investigation today. Now it's getting weirder. Some servers aren't showing up in Explorer, some aren't in both Explorer and the console. Not good. I've documented it all and shipped it off to the PSS guys to see what they think.
Read More

SQL Inspect

Tools
I was asked if I would look at a new tool from a company I hadn't heard of. It's SQL Inspect from Yohz Software. Nominally this is a SQL query editor. However, strictly as a query editor, especially when compared to what's available in SQL 2008 or what tools like Red Gate's SQLPrompt or SQLRefactor can do for you, it's not so hot. Luckily, that's not where its strengths lie. Instead, it's all about performance tuning your queries and it does this very well indeed. It takes a query and returns a tree structured execution plan, looking a bit like the old text plans, but much more sophisticated with roll-ups, etc. It shows you all the details of the operations, just like an execution plan, but immediately accessible on the screen,…
Read More

SCOM SQL Agent Job Defaults

Uncategorized
I'm working through implementing SCOM, specifically the SQL Server Management Packs. I've been tweaking and tuning and for the most part I'm really impressed with how MS configured the defaults. Until today. Since I've hit all the really big and important monitors & rules (at least the ones that have caused problems) I'm starting to drill down a bit. I just hit the Duration monitor for SQL Agent Jobs. The run time for a warning state is 1 minute and an error state in 2 minutes. OK. So any backup on a database over about 2gb in size is going to go into a warning state? I don't think so. What the heck were these guys thinking of?
Read More

Presentation Last Week

Misc, SQL Server, T-SQL
Last week I presented at the Southern New England SQL Server User Group (SNESSUG) where I'm the Program Director. I presented from the book, Dissecting Execution Plans, that is supposed to be published any day now. I kept it basic and it flowed very well. The audience seemed receptive and there were a few questions. Mostly around figuring out what to do when you saw certain problems within the execution plans. Since that was the goal of the presentation, I was ready for most of the questions. I got stumped once on a Constant Scan operation. I finally looked it up this morning and feel silly. Here's the query: INSERT INTO [AdventureWorks].[Person].[Address]      ([AddressLine1]      ,[AddressLine2]      ,[City]      ,[StateProvinceId]      ,[PostalCode]      ,[rowguid]      ,[ModifiedDate] VALUES ('1313 Mockingbird Lane'…
Read More

Unit Testing Database Code

Tools
Steve Jones, in his daily email from SQL Server Central, supplied a link to a terrific article in the MSDN magazine. Apply Test-Driven Development to your Database Projects. It was written by Jamie Laflen who is a Tech Lead on the DBPro team.  I've written a couple of articles on database unit testing, but none of them touch this. It's the new gold standard for introducing the topic to beginners (and lending a helping hand to experienced users). It's worth a read, or even two. I'm going to go back and review it a couple of times with Visual Studio open and a project running. No word yet on new virtuals. I'm going to work on another set of tests that I have to run. More on that later.
Read More

SQL Server 2008 November CTP

Uncategorized
My fault, my fault, my most grevious fault... I installed the November CTP to my virtual machine without making a backup of the virtual first. Now I can't get the November CTP to uninstall and the February CTP won't install on top of it. ARRRGGGGH! Anyway, I'll be getting back to 2008 tomorrow, hopefully, after the admin guys get me a new virtual.
Read More