Thoughts on SQL Server

posts - 122, comments - 279, trackbacks - 27

Wednesday, April 16, 2008

Pictures from PASS Europe

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.

PASS Europe-0463 PASS Europe-0466 PASS Europe-0464

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

OLYMPUS DIGITAL CAMERA

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. 

posted @ Wednesday, April 16, 2008 2:52 AM | Feedback (6)

Tuesday, April 08, 2008

ROCK CHALK JAYHAWK!

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!

MiscPics-0415 MiscPics-0428 MiscPics-0430

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!

posted @ Tuesday, April 08, 2008 7:08 AM | Feedback (4)

Friday, February 29, 2008

SQL Server 2008 Launch Event

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.

LA Launch-0319 LA Launch-0322 LA Launch-0324

The walk from the Nokia Theatre over to the convention center was short but unusual.

  LA Launch-0331 LA Launch-0334 LA Launch-0335

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.

Bill at the PASS BoothLA Launch-0342

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. 

posted @ Friday, February 29, 2008 7:32 AM | Feedback (0)

Monday, February 25, 2008

Are you attending the SQL Server 2008 Launch in LA?

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?

posted @ Monday, February 25, 2008 7:27 AM | Feedback (1)

Friday, January 25, 2008

SQL Server 2008 to RTM in Q3 of 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.

posted @ Friday, January 25, 2008 3:58 PM | Feedback (1)

Saturday, January 19, 2008

SQL Server 2005 Best Practices Analyzer Updated (Jan 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.

posted @ Saturday, January 19, 2008 9:40 AM | Feedback (0)

Friday, January 04, 2008

Terminals: A Great RDP Client

imageOne 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.

posted @ Friday, January 04, 2008 8:23 AM | Feedback (3)

Wednesday, December 19, 2007

ReadTrace for SQL Server 2005

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.

ReadTrace GUI

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.

image

You can read the PSS team's blog entry or just download the utilities.  There is some additional functionality for replaying traces.

posted @ Wednesday, December 19, 2007 7:59 PM | Feedback (0)

Thursday, November 15, 2007

SQL Server 2008 CTP5 on Friday

It looks like SQL Server 2008 CTP5 should be available for download on Friday.  It's already in Connect for certain testing groups.

posted @ Thursday, November 15, 2007 2:41 PM | Feedback (1)

Wednesday, October 31, 2007

Login Events include Pooled Connections

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.

Image of Profiler showing pooled and non-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.

posted @ Wednesday, October 31, 2007 8:52 AM | Feedback (2)

Wednesday, October 10, 2007

SQL Injection Comic

The world needs more SQL injection comics.

posted @ Wednesday, October 10, 2007 4:13 AM | Feedback (1)

Thursday, September 27, 2007

Code To Live

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:

posted @ Thursday, September 27, 2007 12:04 AM | Feedback (1)

Sunday, September 23, 2007

Read90Trace coming soon!

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.

posted @ Sunday, September 23, 2007 10:20 PM | Feedback (0)

Wednesday, September 05, 2007

Crossing a Threshold

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.

posted @ Wednesday, September 05, 2007 12:49 PM | Feedback (2)

Friday, August 24, 2007

Viewing Database Updates through ODBC using Profiler

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.

posted @ Friday, August 24, 2007 10:35 AM | Feedback (0)

Powered by: