Microsoft SQL Server 2005
Have you ever worked on some of those one and two thousand line stored procedures where the indentation was so messed up you couldn't really tell where that left outer join fit in? Wouldn't it be nice if there was a tool out there which would automatically format your code for you, correcting tabs, lining up outputs, and capitalizing key words and such? Turns out that there are several options out there. I've used two of them:
Reg-Gate produces SQL Refactor ($195) that does a bunch of things beyond just reformatting SQL statements. I tried the demo of this product and felt that it was a great asset and should be in my toolkit. Unfortunately, $195 is a bit steep for something that I don't need all that often as I don't really live inside of SQL Management Studio. Maybe a SQL DBA can justify this cost to their employer, but I couldn't.
I did come across SQLinForm yesterday - a free Java-based formatter which can be used as an online version or as a downloadable desktop version. It's not quite as nice or flexible as SQL Refactor, and it does required cutting and pasting code, but it does get the job done and show you where your missing closing parens are. This was very helpful to me in my hours of need last night.
Chris Hays posted this blog post about repeating group headers on each page, having them say "MyGroup (continued)" on all but the first page. This post went up Sept 27th and was a great stroke of luck on my part b/c my current client really wanted this functionality to match an existing report they've generated using a competing product.
Chris's blog post gives us the 5 step process and a complete code sample which I used to try to solve this problem. No problem. I worked my way through his example and got the functionality working with a continued header and subheader.
Sort of
Turns out there is a (debatable) bug in SSRS. I say it's debatable because I'm still waiting for Microsoft support to get back to me and tell me that it's a bug. Anyway, here is the problem. I've got a report which is set up to print in landscape format. When it's printed, there are about 17 printed pages. However, the development IDE preview mode (that's Visual Studio 2005) and the Report Manager web application both do pagination differently - showing me 10 pages. However, for these 10 pages, my "continued" headers work as expected. Unfortunately, my clients are serving up their reports as PDFs with no web view. When the report gets rendered to PDF, the logic to conditionally show my "continued" headers breaks entirely. It's as if writing to PDF doesn't support this. However, I know that the problem isn't with the PDF format itself because the competitor's product works beautifully to display the "continued" headers.
I'm still waiting to hear from Microsoft on this. I'll be sure to post updates. I'm also waiting on some scrubbed data from the client which I'd be able to distribute.
<update>
It turns out that there is a bug with the PDF (and TIFF) rendering where hidden fields are simply not instantiated. However, there is a serviceable workaround. Instead of conditionally hiding my fields, I'm now conditionally turning them white. You also have to have your control fields visible but white. I'll post my sample RDL at some point, but not now as I'm going to be late to the user group meeting tonight and that means I'll miss the pizza!
</update>
It's well understood that you shouldn't have your MDF and LDF files on the same spindles if you want to maximize IO performance. Unfortunately, you can only specify a default location for the SQL Server "data files", which includes both the MDF and the LDF. Is there a way to separate these so that the these files get created by default in different locations (ex. MDF files go to F:\Data\ and LDF files go to G:\Logs\)?
I can't seem to find any references here. The reason I bring this up is actually for SharePoint. When a new SharePoint site collection is created, the system optionally creates a new Content DB. I'd like to not require the DBA get involved to move the log files to the correct physical location after the new ContentDB has been created.
EDIT
I posted the question online for some assistance and our own local Geoff Hiten responded:
SQL Server 2005 Management Studio.
Object Explorer. Right-click on the server name and select properties.
Choose Database Settings under "select a page (left side)
Last two fields are data and log default locations.
SQL 2005
SQL 2000