Wednesday, April 16, 2008
I'm in Germany for the PASS conference this week. We all went out to a bar in downtown Dusseldorf called Zum Schiffer (or something like that). I snapped a few pictures and wanted to get them posted for the group.
The first from left to right is Klaus, Bob Ward, myself, Todd Robinson and Johann.
The middle picture ... well, I knew all the names last night. We'll give it a try ... from left to right Robert, Hendrick, Mark, (the one I can't remember), Ronald, Charley Hanania (one of the volunteers organizing the event), myself, Hilmer, Steve and Marcus. All I can say to all of you is "Cheers!".
I only know a few of the people in the last picture. Allan Mitchell is on the left smiling at the camera. Next to him is Rebecca. In the back right corner is Wayne Snyder and his wife. I'll try to post some pictures of the actual conference soon.
Update
Here's the last social picture. (Probably.) This was from Wednesday night after the conference. From left to right are Allan, Andre's friend from the Netherlands whose name I can't remember, Todd, Rebecca, me, Andre and Chuck. A great night with way too much wine! Then our cab driver decided he was Michael Schumacher on the drive home. Thanks to Rebecca for bringing her camera as I'd forgotten mine.
Tuesday, April 08, 2008
What a night! Mario Chalmers hits a last second three to send the game into overtime and KU rolls from there. Twenty years ago when KU won their last national championship I was at KU. I just had to head down to Lawrence and enjoy the party again. These pictures are from downtown Lawrence. They had 5-6 blocks cordoned off and it was wall to wall people. What a fantastic night!

That's me in front with a buddy from high school and his son. And various crowd shots. There were so many people. Just amazing!
Friday, February 29, 2008
I attended the SQL Server 2008 launch in Los Angeles for PASS. It was VERY nice to leave sub-freezing Kansas and arrive in warm, sunny Los Angeles.
My pictures of the keynote didn't turn out all that well unfortunately. The ones I took before it started turned out the best. I also ran into Janette from Idera. Idera and Quest were the only two SQL Server tools vendors that I saw there. The keynote presentation was projected onto some type of clear screen. You could see the presentation and see through it. It gave it a neat 3D look.
The walk from the Nokia Theatre over to the convention center was short but unusual.
PASS was in the Microsoft Pavilion and shared a booth with Culminis and INETA. I always forget how hard it is to work in a booth all day. I saw quite a few people I knew including Dinakar who blogs here but didn't have time to talk much.


I managed an invite to Microsoft's party (or maybe AMD's) after the event where they had The Barenaked Ladies playing. That was pretty cool.
Monday, February 25, 2008
I'll be in Los Angeles for the launch this week. I'll be the PASS representative at the Heroes Community Booth in the Microsoft Pavilion. When you enter the Microsoft Pavilion we'll be all the way back in the left corner. Come by and say Hi if you get a chance. I arrive Tuesday night and leave Thursday morning. Is anyone else reading going to be there?
Friday, January 25, 2008
Francois Ajenstat posted today that Microsoft expects to release SQL Server 2008 to manufacturing in the third-quarter of 2008.
Microsoft is excited to deliver a feature complete CTP during the Heroes Happen Here launch wave and a release candidate (RC) in Q2 calendar year 2008, with final Release to manufacturing (RTM) of SQL Server 2008 expected in Q3. Our goal is to deliver the highest quality product possible and we simply want to use the time to meet the high bar that you, our customers, expect.
Their previous plan was to RTM in Q2 so it looks like things are slipping a little. Still I'd rather have a little delay than release the product before it's ready.
Saturday, January 19, 2008
Microsoft just updated the SQL Server 2005 Best Practices Analyzer. There are over 60 new rules included in this release. You can find more information on the SQLCAT blog.
Friday, January 04, 2008
One of the joys of being a consultant is trying to keep track of remote desktop connection information for a dozen clients. Each one has multiple servers so the combination of clients, machines, user names and passwords add up quickly. Recently I've been using Terminals to manage all my RDP connections.
This is a small open-source application that provides a wrapper for the RDP client. It allows me to securely store all my connection information for multiple machines. Connecting to any machine I work with is as easy as selecting it from the drop down list. As you can see from the screen shot the tabbed window allows multiple open RDP sessions and the ability to easily switch between them.
If you regularly use RDP (or remote desktop) I highly recommend this handy little utility. They are currently working on a 1.6 release but I'm still running the older 1.01.
Wednesday, December 19, 2007
Microsoft just released an updated Read80Trace that works on SQL Server 2005. The name is simplified to just ReadTrace. ReadTrace is a command-line utility that analyzes a SQL Server trace file and summarizes performance. The new version has a more graphical interface. The original was one of the most helpful performance tuning utilities I've ever used. I expect this one will be just as useful.
I typically use the tool to summarize performance by SQL statement. ReadTrace will "normalize" the SQL statements by replacing constants with placeholders. This lets you identify which SQL statements are using the most resources.
You can read the PSS team's blog entry or just download the utilities. There is some additional functionality for replaying traces.
Thursday, November 15, 2007
It looks like SQL Server 2008 CTP5 should be available for download on Friday. It's already in Connect for certain testing groups.
Wednesday, October 31, 2007
Every now and then I stumble across something and say "I know I knew this before!" In Profiler, the Audit Login event includes regular logins and connection pooling reuse. If you run a trace and see a large number of logins you'll need to include the EventSubClass column to determine if they are pooled connections.
Even more misleading is PerfMon. If you capture the SQLServer:General Statistics - Logins/sec counter you'll see regular logins and connection pooling reuse. I haven't found a way to have PerfMon just show me "real" logins and not connection pooling events. I've started watching User Connections and Logouts/sec to see how many logins are really happening. Logouts/sec doesn't report anything related to connection pooling.
On SQLTeam.com I have roughly twenty logins per second but under one logout per second while the number of connections is stable. That tells me I really have one "real" login per second and nineteen connection pooling reuse events per second.
Wednesday, October 10, 2007
The world needs more SQL injection comics.
Thursday, September 27, 2007
The Code To Live video starts with an All-Girl AC/DC cover band. I'm not really sure what else you need to know.
Steve Loethen is a Developer Evangelist for Microsoft here in Kansas City (or some such related job -- I never really remember what he does). We used to work together at this odd little company years ago. I'm certain he would be voted the Microsoft employee most likely to be mistaken for a biker. He and his co-host travel the country talking to developers. With a Harley. Dressed like bikers. I'm not sure who cast Steve in that role but it's sheer brilliance. The other guy is no slouch in the biker category either.
The video after the All-Girl AC/DC cover band is actually pretty cool. The first episode covers gaming and XNA. I'm afraid my game programming skills stop at turning on an XBOX but I certainly appreciate those that write them. I'm kind of curious where this will go. Steve tends to get himself into some interesting predicaments so who knows what will happen.
Did I mention "Hells Bells", the All-Girl AC/DC cover band yet?
Technorati tags:
codetolive
Sunday, September 23, 2007
Bob Ward announced in his PASS pre-conference session that Microsoft will be releasing a SQL Server 2005 version of Read80Trace in roughly 30 days. It's currently going through a security review. They're planning to call it ReadTrace instead of Read90Trace though. I don't know what this will do to my plans for more work on ClearTrace. I'll have to wait and see exactly what they release.
Wednesday, September 05, 2007
If you're reading this post on the actual SQLTeam.com Weblogs homepage you'll notice that the count of posts now says 1,000. I'm happy to say that 90% of those posts have come from other people.
Three weeks from now is the four year anniversary of starting these blogs. My goal in starting this group blog was to give smart people a place to say interesting things. We certainly have smart people and they do say interesting things.
So a great big thanks to Mark, Mladen, Jeff, Tara, Brett, David, Damian, Chris, Davide, Travis, Derrick, Rob, Randy, Jon, Phil, Denise, Dinakar and Joe. Your opinions, comments and insights have made this place what it is today. Keep up the great work.
If you'd like to join us and post here send me a note and tell me what you'd like to talk about.
Friday, August 24, 2007
I just finished writing a small data update utility to copy a single row of data from a custom written application into a piece of packaged software. Usually when I do this I turn on Profiler, watch the packaged software insert a row and then copy what they did. This helps me find all the odd little status fields and related tables that aren't obvious from looking at the table. And yes, if the developer provided documentation it would help. They didn't.
A simple login, adding one row and logging out generated over 10,000 SQL:BatchCompleted events since this application uses ODBC cursors for all its data access. This meant I had to wade through 10,000 sp_cursor* statements to find the dozen actual SQL statements that were issued.
Last year I wrote an article on examining SQL Server Trace files. In that article I show examples of what a server-side cursor or SQL statements issued through ODBC look like:
declare @P1 int
set @P1=180150001
declare @P2 int
set @P2=8
declare @P3 int
set @P3=1
declare @P4 int
set @P4=1
exec sp_cursoropen
@P1 output,
N'select SomeColumn FROM TableName',
@P2 output,
@P3 output,
@P4 output
select @P1, @P2, @P3, @P4
GO
exec sp_cursorfetch 180150001, 2, 1, 1
GO
exec sp_cursorclose 180150001
GO
Today I got the "opportunity" to see how updates worked in this case. Using a similar example an update would look like this:
declare @p1 int
set @p1=1073741854
declare @p2 int
set @p2=180150297
declare @p5 int
set @p5=1
declare @p6 int
set @p6=4
declare @p7 int
set @p7=0
exec sp_cursorprepexec @p1 output,@p2 output,NULL,
N'SELECT Column1, Column2 FROM TableName WHERE PkColumn = 37',
@p5 output,@p6 output,@p7 output
select @p1, @p2, @p5, @p6, @p7
GO
exec sp_cursorfetch 180150297,2,1,1
GO
exec sp_cursor 180150297,4,1,N'',@Column1='2007-0660',@Column2='Accident'
GO
exec sp_cursorfetch 180150297,8,-1,1
GO
exec sp_cursorclose 180150297
GO
The sp_cursor statement declares the new values for the columns that are updated. I found some third-party documentation on sp_cursor but didn't find much from Microsoft in very limited searching. Apparently the second parameter indicates whether this is an update or insert. The sp_cursorfetch with the -1 appears to commit the row back to the database.
The sp_cursor statement can be separated from the corresponding statement to create the cursor by hundreds of rows in Profiler. I found myself searching for sp_cursor, finding the cursor number and then searching backwards in the trace to find the declaration of the cursor.