Wednesday, August 13, 2008

Yes, it's that time again (well a little bit earlier than usual). With the Fall SQL Server Connections show coming up soon, its time to start planning for the Spring 2009 show. Once again Kimberly and I will be Co-Chairs of the Conference and we'd like to invite you to submit abstracts for the Spring 2009 SQL Connections conference, to be held in Orlando, March 22nd-26th, 2009.

The conference will focus heavily on SQL Server 2008. Abstracts are still welcome on best practices for SQL Server 2005 and how to upgrade and migrate applications from SQL Server 200x to SQL Server 2008. However, we will consider all topics - from design to performance to troubleshooting to architectures to programming. Also, we're likely to closely follow our past conference format with three primary themes/tracks: Infrastructure and Scalability, Programming, and Business Intelligence. You should aim for the intermediate to advanced audience for any SQL Server 2005 materials and for SQL Server 2008 we'll consider any level - especially depending on the newness of the release.

Note: You will not be able to speak at a DevConnections show if you are also presenting at a competitor’s show, in the same state, within 30 days of the DevConnections show. To be more specific, if you wish to speak at SQL Connections or any other DevConnections show next Spring in Orlando, you are precluded from speaking at any competing conferences in the state of Florida between February 22nd, 2009 and April 26th, 2009.

For submitting session abstracts, please use this URL: 
http://www.deeptraining.com/devconnections/abstracts

The tool will be open from August 15th to midnight EST September 6th, after which we won't accept any abstracts. If you have used this site before and have forgotten your password, you can have your secret word mailed to you. It's better to do this then to create a new account.

Please keep the abstracts under 200 words each and in one paragraph. Please do not use bulleted items or line breaks, and please use a spell-checker. If you have an issue with the site, please follow up with an email to paul@sqlskills.com.

Please create a new speaker record (if you haven't submitted before) and submit at least 3 abstracts; however, it will help your chances of being selected if you submit 5 or 6 abstracts. Note: if you submit 2 abstracts or less you will not be chosen.

What you will get if selected:
- $500 per conference talk. (Additional compensation for pre/post conference workshops.)
- Coach airfare and hotel stay paid by the conference
- Free admission to all of the co-located conferences
- Speaker party
- The adoration of attendees
- etc.
 
Thanks for your continued support for our SQL Connections conference and we look forward to seeing your bright and shiny *new* abstracts!

Thanks,
Kimberly L. Tripp & Paul S. Randal
SQL Connections Conference Chairs

Wednesday, August 13, 2008 7:10:54 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Monday, July 21, 2008

While we were at TechEd in June, Kimberly and I participated in an hour-long discussion panel (Leveraging SQL Server Technologies to Build a Solid High-Availability Strategy) that was video-taped by the TechEd Online folks. It's now been edited and is available for download/viewing. We cover everything from requirements analysis to technology details in SQL Server 2008. The other panel members were Satya Jayanty, Allan Hirt, Kevin Farlee, and Amit Bansal.

You can browse the various online videos at http://technet.microsoft.com/en-us/events/teched/cc561184.aspx or go straight to the panel discussion video here.

Enjoy!

Monday, July 21, 2008 10:00:50 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Thursday, July 10, 2008

September, October, and November are going to be a whirlwind this year - after 3 weeks in the UK and Ireland in September, teaching and the San Francisco Power Workshop in October, we have three back-to-back conference weeks in Barcelona, Las Vegas, and back to Seattle! Hey - who booked that schedule?!?!?! Well, at least it helps us keep our top frequent-flyer status on United :-)

Here's the line-up - see our Upcoming Events page for all the abstracts (including those from Bob Beauchemin and Stacia Misner too).

TechEd EMEA IT Pro, November 3-7, Barcelona, Spain

  • We're still working with the TechEd team to finalize the content we'll be delivering but it's looking like the same three sessions from TechEd US, plus a bunch of new ones and Instructor-Led-Labs
  • Sessions (at least):
    • Are Your Indexing Strategies Working?
    • Corruption Survival Techniques: From Detection to Recovery
    • Essential Database Maintenance

SQL Server Connections Fall, November 9-14, Las Vegas, USA

  • This is the second of the twice-yearly SQL Connections conferences that Kimberly and I Co-Chair
  • Workshops:
    • November 9: Pre-pre-con: Database Best Practices for the Involuntary DBA
    • November 10: Pre-con: Relational Data Warehousing: Leveraging Key Features of SQL Server 2005/2008
  • Sessions:
    • Index Internals and Usage
    • Essential Database Maintenance
    • DBCC CHECKDB: The Definitive Guide
    • Follow the Rabbit: Interactive Q&A on Database Maintenance

PASS Community Summit 2008, November 17-21, Seattle, USA

  • As unbelievable as this may be, I've *never* been to PASS before, even in the few times it was in Seattle - something always conflicted. Kimberly hasn't been since 2005 so it'll be cool for us both to be there this year.
  • Workshop:
    • November 18: Database Maintenance: From Planning to Practice to Post-Mortem
  • Spotlight Session:
    • Corruption Survival Techniques: From Detection to Recovery
Thursday, July 10, 2008 1:49:18 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 

People have been complaining that I've stopped blogging so much - vacation folks, vacation! Today I've got a few class and conference posts to get through and then I'll get back to the technical posts.

We're doing a 2.5 day public class based on the SQL Server 2008 material we developed earlier this year. This will be part of a larger conference being hosted by Dev Connections in San Francisco, USA. Our workshop will run October 6th through 8th.

You can register and get more details at http://www.devconnections.com/SFWorkshops/default.asp?s=127.

Here's the abstract:

SQL Server 2008 offers an impressive array of capabilities for professional developers that build upon key innovations introduced in SQL Server 2005. The use of many of these will have manageability and infrastructure implications for a database—and hence the DBA! There are also enhancements to existing high-availability technologies, plus a variety of significant new tools to aid in managing performance, scalability, administration, and troubleshooting. This workshop helps you understand how to exploit the new toolset and how to manage a database that makes use of the new features in SQL Server 2008. The multi-day format of this event allows us to explore each feature in more detail, with more in-depth demonstrations and labs.

Topics covered include:

  • Availability Enhancements
    • Database Mirroring
    • Backup Compression
    • Peer-to-Peer Replication
  • Security Enhancements
    • Transparent Data Encryption
    • Extensible Key Management
    • All Actions Audited
  • Policy-Based Management and Multi-Server Administration
  • Troubleshooting and Throttling
    • Resource Governor
    • Extended Events
  • New Development Technologies
    • Spatial Indexes
    • Sparse Columns
    • Filtered Indexes and Statistics
    • Change Tracking and Change Data Capture
    • FILESTREAM
  • Performance Data Collection
  • Scalability Enhancements
    • Data Compression
    • Partition-Level Lock Escalation

This workshop runs Oct 6 (9am - 4pm), Oct 7 (9am - 4pm), Oct 8 (9am - 12pm).

Thursday, July 10, 2008 11:07:47 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Thursday, June 19, 2008

TechEd US is done for another year! As I mentioned before, we did a lot of stuff but still found time to chill by the pool a few times in the Speaker Hotel. This was my first US TechEd since leaving Microsoft last year so it was quite interesting seeing the organizational side of things from the outside. I was particularly pleased that my new Surviving Corruption - From Detection To Resolution session clinched a prestigious top-10 rating (#6) for the whole conference - look out for it at all the other conferences I'll be at this year (next post today...)

Edit: Forgot to say - thanks to all those in the Olympia, WA User Group who came out yesterday to see us present the Surviving Corruption session!

We've already started posting scripts from our session demos (see the Past Conferences page) and I'm blogging detailed walkthroughs of my demos from the corruption session in my CHECKDB From Every Angle series. The online panel we did hasn't been released yet on the TechEd Online site - I'll blog when it is.

Now we're off for a couple of weeks of real vacation - flying, diving, bird-watching, and best of all, not working!

I'll leave you with my usual conference wrap-up... thanks to Carlos Santillana for the photos!

Thursday, June 19, 2008 2:30:20 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Wednesday, June 11, 2008

Today I presented my brand new session Surviving Corruption: From Detection to Recovery at TechEd. I had a lot of fun putting together the demos, presenting the session, and talking to people afterwards. During the session, I promised to blog each of the demos so that everyone can run through them - here's the first one.

On SQL 2000, it was pretty easy to get into the system tables and manually change them - all you had to do was:

EXEC sp_configure 'allow updates', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO

And then you could insert, update, and delete whatever you wanted in the all the system tables, including the critical three - sysindexes, sysobjects, and syscolumns. The problem was that sometimes people actually did this and messed things up - for instance, by manually deleting an object from sysobjects, but leaving around all the other info about the object - such as indexes and columns. DBCC CHECKCATALOG in SQL 2000 would find this, but DBCC CHECKDB would not - as it didn't run the DBCC CHECKCATALOG code - any most people do not run DBCC CHECKCATALOG at all. Many times now, I've seen databases upgraded to 2005 and suddenly DBCC CHECKDB is reporting metadata corruption errors - all because someone had manually changed the system tables on 2000, and I changed DBCC CHECKDB in 2005 to include the DBCC CHECKCATALOG checks.

This demo is all about that. I created a 2000 database, manually deleted a row in sysobjects and then upgraded the database to 2005. The corrupt database is available in a zip file - DemoCorruptMetadata.zip. If you unzip it into a folder C:\SQLskills then you can attach it using:

RESTORE DATABASE DemoCorruptMetadata FROM DISK = 'C:\SQLskills\DemoCorruptMetadata.bak'
   
WITH MOVE 'DemoCorruptMetadata' TO 'C:\SQLskills\DemoCorruptMetadata.mdf',
   
MOVE 'DemoCorruptMetadata_log' TO 'C:\SQLskills\DemoCorruptMetadata_log.ldf',
   
REPLACE;
GO

So what does the corruption look like on 2005?

DBCC CHECKDB (DemoCorruptMetadata) WITH NO_INFOMSGS, ALL_ERRORMSGS;
GO
Msg 8992, Level 16, State 1, Line 1
Check Catalog Msg 3853, State 1: Attribute (object_id=1977058079) of row (object_id=1977058079,column_id=1) in sys.columns does not have a matching row (object_id=1977058079) in sys.objects.
Msg 8992, Level 16, State 1, Line 1
Check Catalog Msg 3853, State 1: Attribute (object_id=1977058079) of row (object_id=1977058079,column_id=2) in sys.columns does not have a matching row (object_id=1977058079) in sys.objects.
CHECKDB found 0 allocation errors and 2 consistency errors not associated with any single object.
CHECKDB found 0 allocation errors and 2 consistency errors in database 'DemoCorruptMetadata'.

This is what we expect. Notice that there's no recommended repair level at the end of the output - this is because CHECKDB can't repair metadata corruptions. We can't fix this with a backup - unless we have a backup from 2000 from before the manual delete in the system tables. To fix this we'd need to go back to 2000, fix the corruption, and then upgrade again - usually not feasible.

Instead, we're going to fix it by manually altering the system tables in 2005 - something that's purportedly not possible. First let's see what tables there are that could include column information (remembering that the system catalogs were completely rewritten between 2000 and 2005):

SELECT [name] FROM DemoCorruptMetadata.sys.objects WHERE [name] LIKE '%col%';
GO

name
------------------
sysrowsetcolumns
syshobtcolumns
syscolpars
sysiscols

I know that sysrowsetcolumns and syshobtcolumns are involved at low-levels of the Storage Engine and don't contain relational metadata, so let's try syscolpars. I want to see what columns there are to see if one of the looks like an object ID, and another looks like a column ID. This query will just return the table columns, with no rows (because the condition 1=0 is always false:

SELECT * FROM DemoCorruptMetadata.sys.syscolpars WHERE 1 = 0;
GO

Msg 208, Level 16, State 1, Line 1
Invalid object name 'DemoCorruptMetadata.sys.syscolpars'.

I can't bind to internal system tables in 2005. But - I can bind to internal system tables using the Dedicated Admind Connection (or DAC for short). This is documented in Books Online at http://msdn.microsoft.com/en-us/library/ms179503.aspx. You can get to the DAC through SQLCMD using the /A switch. So - assuming I'm now connected through the DAC, I'll try that command again:

C:\Documents and Settings\paul>sqlcmd /A
1> USE DemoCorruptMetadata;
2> GO
Changed database context to 'DemoCorruptMetadata'.
1> SELECT * FROM sys.syscolpars WHERE 1=0;
2> GO
id          number colid       name

xtype utype       length prec scale collationid status      maxinrow xmlns
 dflt        chk         idtval

----------- ------ ----------- -------------------------------------------------
-------------------------------------------------------------------------------
----- ----------- ------ ---- ----- ----------- ----------- -------- -----------
 ----------- ----------- -------------------------------------------------------
-----------

(0 rows affected)
1>

This looks like the table. Now I'll query against it using the object ID from the original corruption message:

1> SELECT colid, name FROM sys.syscolpars WHERE id = 1977058079;
2> GO
colid       name
----------- --------------------------------------------------------------------
------------------------------------------------------------
          1 SalesID
         
2 CustomerID
(2 rows affected)
1>

Cool. So I'll try deleting the orphaned columns:

1> DELETE FROM sys.syscolpars WHERE id = 1977058079;
2> GO
Msg 259, Level 16, State 1, Server ROADRUNNERPR, Line 1
Ad hoc updates to system catalogs are not allowed.
1>

Hmm. And it doesn't help if I set 'allow updates' to 1, or try putting the database into single-user mode.

There IS a way though. You can put the SERVER into single-user mode, then connect with the DAC and you can then update the system tables. This particular twist on using the DAC isn't documented anywhere except in an MSDN forum thread answered by someone from Microsoft (see here).

BEWARE (if I could put little flashing lights around this too then I would...) that this is undocumented and unsupported - misuse will lead to unrepairable corruption of your databases.

The sequence of events to follow is:

  • make a backup of the database just in case something goes wrong
  • shutdown the server
  • go to the binaries directory (e.g. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn) and start the server in single-user mode using 'sqlservr -m'
  • connect back in using SQLCMD /A, and run the deleta again. This time it will work, but will give an error about metadata cache consistency:

C:\Documents and Settings\paul>sqlcmd /A
1> USE DemoCorruptMetadata;
2> GO
Changed database context to 'DemoCorruptMetadata'.
1> DELETE FROM sys.syscolpars WHERE id = 1977058079;
2> GO

(2 rows affected)
Warning: System table ID 41 has been updated directly in database ID 12 and cache coherence may not have been maintained. SQL Server should be restarted.
1>

  • The system table has been updated, but the in-memory cache of metadata is now out-of-sync with the system tables. So, shutdown the server again as the message suggests and restart it normally
  • run CHECKDB again and you'll see the corruption has been fixed.

Hope this helps some of you. Watch this space for the next demo from TechEd of repairing corruption when no backup is available.

Wednesday, June 11, 2008 5:42:23 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]  | 
Thursday, June 05, 2008

That time has rolled around again and we're flying down to Orlando for TechEd US tomorrow - my first US TechEd since I left Microsoft. We're doing a lot of stuff this year - here's our schedule if you're going to be there:

Monday

  • Full day pre-con seminar: SQL Server 2008 Overview for DBAs

Tuesday

  • 13.15 - 14.30 (Room N230) DAT354 Are Your Indexing Strategies Working?
  • 15.00 - 16.00 (TechEd Online Stage) Panel: Leveraging SQL Server Technologies to Build a Solid High-Availability Strategy
  • 16.00 - 18.00 DAT track booth

Wednesday

  • 10.15 - 11.30 (Room N220D) DAT375 Corruption Survival Techniques: From Detection to Recovery
  • 11.30 - 14.45 DAT track booth
  • 15.00 - 16.00 Blogger's Lounge

Thursday

  • 10.15 - 11.30 (Room S230E) DAT363 Essential Database Maintenance
  • 11.45 - 13.00 Speader Idol judging
  • 14.30 - 18.00 DAT track booth

Hopefully a bunch of you will stop by and say hi - I'm looking forward to seeing some familiar faces and some new ones! I'll try to blog while I'm there on questions I get and I've got some cool demos for the corruption session that I'll be blogging about over the summer.

See you next week...

Thursday, June 05, 2008 1:26:54 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Wednesday, April 23, 2008

Today's the final day of SQL Connections proper (tomorrow is post-conference workshops). We've really enjoyed the conference (as usual!) and it's been a blast answering everyone's questions. We'll be posting resources over the next week or so (most likely on Kimberly's blog) and we did a video interview with our good friends Richard and Carl (from DotNetRocks) which should be available for download soon.

We spoke with many conference attendees and one request was the ability to give online feedback. While the conference itself doesn't have that ability (yet), we'd love to hear any feedback you have about the conference - the good, the bad, and the ugly! As we're the co-chairs of the SQL conference, all the feedback comes to us anyway, and we'll pass on any non-SQL feedback to the Connections organizers.

So - send feedback email to me with anything you'd like to share. If it's about a specific session/speaker/topic, please try to give as much detail as you can. All feedback will be in strictest confidence.

Thanks!

Wednesday, April 23, 2008 12:58:27 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Monday, March 10, 2008

(Cross-posted on Paul and Kimberly's blogs)

With the Spring SQL Server Connections show coming up next month, its time to start planning for the Fall show. Once again Kimberly and I will be Co-Chairs of the Conference and we'd like to invite you to submit abstracts for the Fall 2008 SQL Connections conference, to be held in Las Vegas, November 10-14th, 2008.

The conference will take place shortly after the SQL Server 2008 launch (when it actually RTMs, not the 'launch' that happened February 27th), and will focus heavily on SQL Server 2008. Abstracts are still welcome on best practices for SQL Server 2005 and how to upgrade and migrate applications from SQL Server 200x to SQL Server 2008. However, we will consider all topics - from design to performance to troubleshooting to architectures to programming. Also, we're likely to closely follow our past conference format with three primary themes/tracks: Infrastructure and Scalability, Programming, and Business Intelligence. You should aim for the intermediate to advanced audience for any SQL Server 2005 materials and for SQL Server 2008 we'll consider any level - especially depending on the newness of the release.

Note: You will not be able to speak at a DevConnections show if you are also presenting at a competitor’s show, in the same state, within 30 days of the DevConnections show. To be more specific, if you wish to speak at SQL Connections or any other DevConnections show this Fall in Las Vegas, you are precluded from speaking at any competing conferences in the state of Nevada between October 10, 2008 and December 13, 2008.

For submitting session abstracts, please use this URL:  http://www.deeptraining.com/devconnections/abstracts

The tool will be open from March 10th to midnight EST April 9th, after which we won't accept any abstracts. If you have used this site before and have forgotten your password, you can have your secret word mailed to you. It's better to do this then to create a new account. Please keep the abstracts under 200 words each and in one paragraph. Please do not use bulleted items or line breaks, and please use a spell-checker. If you have an issue with the site, please follow up with an email to paul@sqlskills.com.

Please create a new speaker record (if you haven't submitted before) and submit at least 3 abstracts; however, it will help your chances of being selected if you submit 5 or 6 abstracts. There's one slight change for this conference only - we won't have a fourth track for speakers just delivering a single conference session, so if you only submit a single session abstract, you're unlikely to be picked.

What you will get if selected:

  • $500 per conference talk. (Additional compensation for pre/post conference workshops.)
  • Coach airfare and hotel stay paid by the conference
  • Free admission to all of the co-located conferences
  • Speaker party
  • The adoration of attendees :-)
  • etc.

Thanks for your continued support for our SQL Connections conference and we look forward to seeing your bright and shiny new abstracts!

Thanks,
Kimberly L. Tripp & Paul S. Randal
SQL Connections Conference Chairs

Monday, March 10, 2008 1:29:38 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Sunday, February 24, 2008

SQL Connections is in less than two months now and our pre-con and post-con workshops are filling up fast - checkout my previous blog post here for the full list of what we're presenting.

Now we've finalized our TechEd US sessions with Microsoft and can let you all know that we're going to be there as usual! This time Kimberly and I are doing a joint pre-con workshop on SQL Server 2008 - so if you can only make it to one conference this year, you can choose TechEd or SQL Connections and still catch our 2008 workshop plus other sessions :-)

There's a catch though - this year TechEd US has split into two weeks (to mirror what TechEd Europe has been doing for a while). The first week is for Developers and the second week is for IT Pros. We'll be at the IT Pro week in Orlando, June 10-13. Here's what Kimberly and I are doing (all jointly presented this year):

Pre-Conference Workshop: PRC21 Microsoft SQL Server 2008 Overview for Database Professionals (Monday 6/9)

SQL Server 2008 offers an impressive array of capabilities for professional developers that build upon key innovations introduced in SQL Server 2005. The use of many of these will have manageability and infrastructure implications for a database—and hence the DBA! There are also enhancements to existing high-availability technologies, plus a variety of new tools to aid in managing performance, scalability, administration, and troubleshooting. This workshop helps you understand how to exploit the new toolset and how to manage a database that makes use of the new features in SQL Server 2008. Come to this workshop so your developers don't surprise you with new demands once your company upgrades!

Topics covered include:

  • Availability Enhancements (Database Mirroring, Backup Compression, Peer-to-Peer Replication)
  • Security Enhancements (Transparent Data Encryption, Extensible Key Management, All Actions Audited)
  • Policy-Based Management
  • Troubleshooting and Throttling (Resource Governor, Extended Events)
  • New Development Technologies (Spatial Indexes, Sparse Columns, Filtered Indexes, Change Data Capture, FILESTREAM)
  • Performance Data Collection
  • Scalability Enhancements (Data Compression, Partition-Level Lock Escalation)

Session 1: Essential Database Maintenance

In this session, Paul and Kimberly will run you through their top-ten database maintenance recommendations, with a lot of tips and tricks along the way. These are distilled from almost 30 years combined experience working with SQL Server customers and are geared towards making your databases more performant, more available, and more easily managed (to save you time!). Everything in this session will be practical and applicable to a wide variety of databases. Topics covered and myths debunked include: backups, shrinks, fragmentation, statistics, and much more! Focus will be on 2005 but we'll explain some of the key differences for 2000 and 2008 as well.

Session 2: Corruption Survival Techniques

Your database is corrupt - what do you do? Well, it depends! How critical is the data? Do you know what's really wrong with the database? What does all that DBCC CHECKDB output mean? Should you restore or repair? It’s all about limiting downtime and data-loss when a corruption occurs - from knowing the tools to understanding the implications of choices you make. In this demo-heavy session Paul and Kimberly will give you insight into how to recover from corruption without making things worse. Most importantly you'll get step-by-step instructions for dealing with the more common scenarios.

Session 3:  Are Your Indexing Strategies Working?

So you spent a bunch of time figuring out what indexes you should have while designing and testing your database. Now you're in production and six months have gone past. Are your strategies still valid now? Is SQL Server using the indexes you created? Are the users issuing the queries you thought they would - or are you missing crucial indexes? More importantly - how can you figure any of this out? In this demo-heavy session, Paul and Kimberly will show you how to analyze what's currently going on with your database and how to bring your initial strategy up-to-date. Come along to this session to help you find out what you might not know about your workload!
The whole conference line-up looks great - with a bunch of our SQL MVP friends doing sessions too. So - no matter which conference you come to, we're really looking forward to meeting new people and seeing some of the your faces again!
Sunday, February 24, 2008 8:11:28 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Thursday, February 14, 2008

Phew - last week Kimberly and I spent 3 days teaching the ins-and-outs of SQL Server 2008 for DBAs/IT-Pros to about 130 Microsoft SQL Server experts and MVPs (like Kalen Delaney, Adam Machanic and Ron Talmage). This was the (95% complete) Beta delivery of a course we've been developing for the last six months for Microsoft that they'll use to train their SQL experts around the world on the new release. It's been very interesting watching the features develop through the CTPs (especially since I left the fold last August) - and making demos work on pre-release builds of the CTPs.

Teaching the course was a *blast* - the thing I love about teaching a really geeky crowd is the plethora of great questions and opportunities for going deep with explanations. Our team actually wrote and delivered the concurrently presented Developer and BI tracks as well. As you can see from the list below (and this is just the features a DBA needs to use/know about), SQL Server 2008 isn't a dot release of Yukon at all, as some people have suggested. Over the three days we covered:

  • Database Mirroring (D)
  • Backup Compression
  • Peer-to-Peer Replication (D)
  • Transparent Data Encryption (D)
  • Extensible (Off-Box) Key Management
  • All Actions Audited (D)
  • Policy-Based Management
  • Resource Governor (D)
  • Extended Events (D)
  • Spatial Indexes
  • Integrated Full-Text Search
  • Sparse Columns (D)
  • Filtered Indexes
  • Change Tracking
  • Change Data Capture (D)
  • FILESTREAM (D)
  • Performance Data Collection
  • Query Optimizer Enhancements
  • Data Compression (D)
  • Service Broker
  • Partition-Level Lock Escalation (D)

The features marked with a (D) are ones I demo'd during the course (Kimberly demo'd a bunch of the others - especially the tools features). Some of the demos were challenging to make work in time as we only got a pre-CTP6 build mid-January just before we headed off to China.

So why am I posting this? Well, a bunch of these features are in CTP-6, which should be just around the corner, and I have some easy-to-understand demos of them that I'll be posting here over the next month or so. Also, if this course sounds interesting, Kimberly and I will be teaching it in various configurations over the next year - starting with SQL Connections in April, a soon-to-be-announced class in Iceland in March, and the ITPro portion of TechEd in June.

Watch this space starting next week (today's the last day of six straight weeks of teaching for us so this weekend's a break :-))

Thursday, February 14, 2008 4:38:30 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]  | 
Thursday, January 03, 2008

120x240_SQLConn_IBT.jpg120x240_SQLConnSpring08.jpg

 

No sooner has Fall conference season finished then it's New Year and we start everything all over again! SQLskills (Me, Kimberly, Bob, and Stacia) is doing a *ton* of stuff at SQL Connections this Spring. The conference is in Orlando as usual and runs from April 20th to 23rd, with pre-con workshops on the 20th. From this conference onwards Kimberly and I are the Co-Chairs of SQL Connections - it's been great fun putting together a killer line-up of speakers and sessions for you.

We've got so much cool stuff to talk about that as well as doing a pre-con on the 20th, we're also doing a pre-pre-con on the 19th (and so is Bob) AND a post-con workshop on the 24th! And if that's not enough to help us lose our voices during the week, we're also doing 10 conference sessions between the four of us! Tuesday 21st is Microsoft day and the session line-up is shaping up well - lots of juicy details about SQL Server 2008 - as well as some best-practices sessions for those of you who are happy with SQL Server 2000 or 2005 for now.

 

Here's what we're doing:

Workshops

  • April 19 - Pre-pre-con: SPR301: The Accidental DBA: Survival Tips, Tricks, and Techniques

(Paul S. Randal & Kimberly L. Tripp)

Have you been nominated as "the SQL person" on your team? Are you a developer who's suddenly found their test database has become critical for your company's business? Have you become a DBA—even only accidentally—and do you find yourself managing SQL Server database(s) more and more? Are you sure your data is protected? Are you sure your applications can scale? The one thing you NEED now, to manage this system correctly—is knowledge! We'll cover all of the critical components related to configuring, implementing, and maintaining a SQL Server system. Topics will include an overview of SQL Server components, protecting and maintaining the data, writing effective server-side components (e.g., procedures and transactions), and many other items that all require server-side smarts. Come to this workshop to find out the things you need to know to successfully manage SQL Server from the beginning—a day spent here will save you many more!

  • April 19 - Pre-pre-con: SPR302: SQL Server 2008 Overview for Developers

(Bob Beauchemin)

SQL Server 2008 introduces a number of exciting new features for developers, from support for Spatial Data types to a mechanism to store SQL BLOB data using the NTFS file system, to improvements in any development-related area from T-SQL to SQLCLR to XML. This one-day seminar is meant to get you up to speed quickly on the new features and give you some insight into how to most effectively use them to your advantage with either new or existing development projects. Some of the topics covered include:

  • Spatial data—how to geocode existing data, import spatial reference data, and use spatial queries and indexes for best performance.
  • Filestream data—when to store large binary data in the database or in SQL Server's filestream data storage. How to read and write filestream data with the system streaming I/O functions.
  • Extended date/time data type support—the specifics of SQL Server 2008's four new temporal data types and extensions to T-SQL date/time functions.
  • T-SQL enhancements—learn the "zen" behind the new T-SQL MERGE statement, grouping set support, table-valued parameters, change tracking, metadata tracking, and improved syntax.
  • Query Performance Improvements—besides covering T-SQL syntax, I'll cover how the new T-SQL statements help to improve performance, as well as covering performance and query plan guide improvements to not only "make SQL run faster" but also to stabilize query plans.
  • SQLCLR improvements—covering how to use the improvements in this area, including nullable type support, large UDTs and UDAggs, multi-input UDAggs, and ordered table-valued functions.
  • Service Broker enhancements—diagnose Service Broker setup problems easily using the new SSBDiag utility and set message priorities on a service/contract.
  • April 20 - Pre-con: SPR303: SQL Server 2008 Overview for DBAs

(Paul S. Randal & Kimberly L. Tripp)

SQL Server 2008 offers an impressive array of capabilities for professional developers that build upon key innovations introduced in SQL Server 2005. The use of many of these will have manageability and infrastructure implications for a database—and hence the DBA! There are also enhancements to existing high-availability technologies, plus a variety of new tools to aid in managing performance, scalability, administration, and troubleshooting. This workshop will help you understand how to exploit the new toolset and how to manage a database that makes use of the new features in SQL Server 2008. Come to this workshop so your developers don't surprise you with new demands once your company upgrades!

  • April 24 - Post-con: SPS302: SQL Server - Put Your Knowledge Into Action (Bring Your Own Laptop)

(Paul S. Randal & Kimberly L. Tripp)

After a week of learning and watching demos—spend your last conference day putting your knowledge into action and diving deeper into the implementation details. Bring your own laptop to install our VPC environment setup with hands-on lab exercises to walk you through some of our most important features in Database Maintenance and Disaster Recovery. All labs will be ILLs (instructor-led labs) with supporting hands-on lab content *and* you will walk away with your own copy of the DVD to continue the exercises back at your office. You can attend without a laptop but your experience will be significantly better with one! This is meant as an advanced workshop and will expect a reasonable laptop configuration in order to participate: * Virtual Server or Virtual PC—already installed * At least 1 GB of physical memory w/512 MB dedicated to the VPC environment (2 GB is preferred w/1 GB dedicated to VPC) * 12 GB of physical disk space (20+ GB is preferred) * DVD Drive.

Sessions

  • SDB403: Diagnosis with Extended Events in SQL Server 2008

(Bob Beauchemin)

When I'm doing problem solving, it's always good to have too much information rather than too little. With this in mind, you'll need to look at SQL Server Extended Events (XEvent support) in SQL Server 2008. SQL Server 2008 adds support for extended events that works by creating and activating EVENT SESSIONS with DDL statements. In this session, I'll cover the different event providers, including the event provider for ETW (Event Tracing for Windows) and go over setting up an extended event trace and deciphering the diagnostic information provided.

  • SDB304: PowerShell in SQL Server 2008

(Bob Beauchemin)

PowerShell scripting has become the command shell and scripting interface of choice in Windows, from Exchange administration through Windows Management Instrumentation (WMI) and everywhere in between. In SQL Server 2008, this functionality comes to SQL Server by means of a PowerShell provider for SQL Server and built-in PowerShell functionality from SQL Server Management Studio's Object Explorer. This session will focus on how to use the provider to your best advantage and unique features that separate PowerShell scripting from traditional scripting.

  • SDB307: Learn the XML You Need to Manage Your Database

(Bob Beauchemin)

SQL Server 2005 includes support for an XML data type and XML Query languages. Although at first glance it appears that XML support is only a developer tool, looking at the "XML landscape" in SQL Server 2005, this is not the case. There are not only needs for a DBA to know how to manage database objects like XML SCHEMA COLLECTIONS and XML Indexes, but DBA-specific features that require XML and XQuery knowledge. The DBA-specific items that use an XML format in SQL Server 2005 include Query Plans, Deadlock Graph/Blocked Process Information, Eventdata() function—DDL Triggers and Query Notifications, Bulkcopy—XML format files and bulk copying XML, SQL Server Surface Area Configuration tool format, Query Memory Grant Information, Command line input and output From Database Tuning Advisor, and more! With all of the DBA-specific interest items in XML format, it's not hard to see that knowing XML and XQuery not only makes the DBA able to better manage developer database objects, but enhances the DBA debugging, troubleshooting, and configuration abilities. XML is not a "nice to have" for DBAs any more, with SQL Server 2005 it’s a "must have."

  • SDB308: Follow the Rabbit: Interactive Session on Database Mirroring

(Paul S. Randal & Kimberly L. Tripp)

If there's something you want to know about Database Mirroring, we've got the answer for you! Bring along your questions as we discuss how Database Mirroring works while setting up and implementing a mirroring solution. We'll also discuss monitoring and troubleshooting, plus the various failover scenarios. This session might not seem as structured as other sessions, but you'll be surprised at how informative and fun it is!

  • SDB309: Follow the Rabbit: Interactive Session on Backup and Restore

(Paul S. Randal & Kimberly L. Tripp)

If there's something you want to know about Backup or Restore, we've got the answer for you! Bring along your questions as we discuss how Backup and Restore work, planning a backup strategy, and various restore scenarios. This session might not seem as structured as other sessions, but you'll be surprised at how informative and fun it is!

  • SDV307: Index Internals and Usage

(Paul S. Randal & Kimberly L. Tripp)

Indexes are arguably the most important structures in a database yet they are often poorly understood and neglected. In this session you'll be reminded of the internals of indexes but our focus will be on how they are used by the SQL Server engine and what you need to do to make sure they're kept in optimum health. A myriad of tips, tricks, and optimizations will be discussed and demo'd so that you improve performance immediately.

  • SBI201: Searching Business Intelligence Data in Microsoft Office SharePoint Server 2007

(Stacia Misner)

One great reason to use MOSS as your front-end to business intelligence is the ability to search for all relevant documents regardless of the format used to present the data and thereby eliminate information silos. However, deploying workbooks and reports or creating dashboards only satisfies some requests for information and only if document titles and properties have been created with search in mind. What if you could also search the data itself? In other words, what if you could find all BI reports that include information about a particular product? With a little extra effort, you can enhance MOSS’s search capabilities using the Business Data Catalog to search inside all those Excel 2007 and Reporting Services reports you’ve been deploying to MOSS. Come to this session to understand the technical architecture required to search business intelligence data and to learn how to create Business Data Catalog applications for business intelligence.

  • SBI202: Data Mining for the Rest of Us

(Stacia Misner)

Don’t worry if you don’t hold a PhD in data mining or even if you didn’t take statistics in college. You can still use and, better yet, understand data mining now that Data Mining Add-Ins for Office 2007 is available. Whether you regularly analyze data now or provide technical support for those who do, it’s time to learn how to take business intelligence to the next level in your organization. This session will show you specific examples for exploring common data sets, such as sales and financial data, to find the hidden information in your business. You’ll understand the technical architecture requirements for the Data Mining Add-Ins, learn how to prepare data for data mining, and learn how to apply data mining techniques to specific business problems.

  • SBI307: Troubleshooting MDX Query Performance

(Stacia Misner)

There are lots of ways to optimize your Analysis Services environment, but tuning the server or improving the database design doesn’t help if your MDX queries are not efficient. Learn how to determine whether a query is the root cause of your performance issues and how to use MDX best practices to improve query performance.

  • SBI308: Follow the Rabbit—Interactive Q&A on Analysis Services Performance

(Stacia Misner)

The focus of this discussion is how to adjust database design and server tuning to help you get better performance from your Analysis Services solution. There will be only 5-10 slides covering best practices to get the conversation started, but most of the session time is open for your questions. Come participate in this session for an informative and interactive experience that will give you practical advice to put into practice in your own environment.

So, serious amounts of info, tips, and tricks for you to geek-out on with us and take home to use. We hope to see a lot of you there!

Paul

Thursday, January 03, 2008 2:58:33 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Wednesday, December 12, 2007

While we were in Barcelona we sat down with Richard Campbell and Greg Hughes from RunAs Radio to record a 1/2 hour interview on SQL Server 2008. We touch on a ton of different features (look at the number of Categories I've tagged this with!) and have a bunch of laughs along the way - check it out here.

PS There's been a ton of interest in the slide deck idea I had so we'll be going ahead with that. Look for an announcement sometime in the first few months of next year about how to get them. Thanks to everyone that replied!

Wednesday, December 12, 2007 10:07:05 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Monday, November 19, 2007

With the class we taught yesterday in Zurich for Microsoft, Kimberly and I have just finished almost three weeks of continuous travelling and presenting at conferences. Now we're taking some time off to relax and recharge. My blog will be silent until Monday 26th November, when I'll start posting some cool articles with example scripts showing how to recover from various disasters. Thanks to everyone who's responded to the last few weeks worth of posts, and to those who've sent in questions regarding discussions we had at the various conferences. I will definitely reply to each of them, but it may not be until next week.

If you're in the US, have a great Thanksgiving! See you soon...

Monday, November 19, 2007 10:36:15 PM (Pacific Standard Time, UTC-08:00)  #    Comments [2]  | 
Sunday, November 18, 2007

It's been a very tough couple of weeks for us with back-to-back conferences in Las Vegas and Barcelona. Now we're in Zurich for a few days before heading back to Redmond for the rest of the year. TechEd IT Forum was probably the most tiring conference I've ever done - we did 12 sessions between us in four days, co-presenting 10 of them, and with 5 back-to-back on Thursday. So Friday night was party-time, first with the traditional Speaker Dinner and then a bunch of us went out dancing until 3am. Sore heads abounded the next morning as we all headed to the airport for flights - I'm glad Kimberly and I only had a short hop to Zurich rather than our long flights back to the West Coast.

Here's a shot Kimberly took of me, Mark Russinovich, and John Craddock headed towards the nightclub. Look forward to seeing you in Barcelona again next year!

Sunday, November 18, 2007 7:05:50 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 

On the last day of SQL Connections a couple of weeks back we did a 20 minute TV interview with Steve Wynkoop of SSWUG. Apart from the mandatory mention of our favorite game Blokus, we discussed a bunch of new features coming in SQL Server 2008 while I struggled not to say 'we' instead of 'they' to describe the SQL team. I'm still in recovery I guess...

Check it out at http://www.sswug.org/sswugtv/seeshow.asp?sid=P227.

Sunday, November 18, 2007 6:49:24 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Tuesday, November 13, 2007

(Oops - deleted this by accident - re-entering it.)

Day 1 for us here in Barcelona was pretty tiring. After flying in from Seattle on Monday, and waking up with jet-lag on Tuesday at 2am, we did 4 sessions during the day, with 8 more to go by Friday. By the time we got back to the speaker hotel we were both totally beat but we rallied for a nice dinner with our good friend (and last week's top-scoring TechEd speaker - congratulations!) Rafal Lukawiecki. All our sessions were well attended with lots of excellent questions.

In the afternoon gap between sessions 3 and 4 we sat down with the TechEd TV crew for a short interview on a very comfy couch - check it out (and others from the conference) here.

Tuesday, November 13, 2007 6:42:36 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  | 
Sunday, November 04, 2007

As promised, here's the first of the grab-bag of questions we were asked during conferences. I'm blogging a selection of the stuff I noted down - Kimberly also has a bunch of stuff too that she's blogging about as I type - see here. These are some of the questions we were asked during our pre-con at SQL Connections on Database Maintenance: From Planning to Practice to Post-Mortem. It was cool that people came prepared with so many great questions - most of which we answered during the session and some I need to follow-up with the Product Team about.

Q1) I have a filegroup with two files. I add a third file, use some of the space, and then do a rebuild of the index that takes up most of the space in the original two files. Why doesn't the newly rebuilt index get spread evenly across the three files? I.e. why doesn't SQL Server rebalance the data across the files?

A1) There are two things to consider here. The first is the way that SQL Server allocates space from multiple files in a filegroup. It uses a mechanism called proportional-fill that will allocates space from files in round-robin fashion, but weights the allocations towards files that are larger and have more free space. In the example above, the space in the newly-added third file will be used before the first and second files are grown to add more space. The second thing to consider is that the process of rebuilding an index requires building a new copy of the index before dropping the old on - so in the example above, the existing allocated space can't be reused until after the index rebuild operation completes.

The concept of adding a file and having SQL Server rebalance the data across the files doesn't exist. It was something I proposed during SQL Server 2005 development but we (seriously) didn't have time to do it. The solution I recommend is to create a new filegroup with as many files as you need, rebuild the index into the new filegroup using the CREATE INDEX WITH DROP_EXISTING command, and then drop the old filegroup.

Q2) Multiple questions about whether a non-clustered index gets rebuilt on SQL Server 2005 under different circumstances

A2) See the blog post I wrote here which goes into all the different combinations. A lot of the confusion comes from the fact that on SQL Server 2000, for non-unique clustered indexes where SQL Server has to generate a uniquifying value (called a uniquifier), when it gets rebuilt all the non-clustered indexes have to be rebuilt too as the uniquifier values are regenerated. On SQL Server 2005 this is not the case - a BIG improvement.

Q3) A lot of the features we discussed (e.g. partitioning and online operations) are in Enterprise Edition only. What's the complete list of features that are in Enterprise vs Standard Editions for SQL Server 2005?

A3) The best list we know of is in MSDN - http://msdn2.microsoft.com/en-us/library/ms143761.aspx

Q4) In a maintenance plan, is it a good idea to do an index rebuild followed by an update statistics?

A4) No! An index rebuild will do the equivalent of an update stats with a full scan. A manual update stats will use whichever sampling rate was set for that particular set of statistics. So - not only does doing an update stats after an index rebuild waste resources, you may actually end of with a worse set of stats if the manualy update stats only does a sampled scan.

Q5) How can you tell whether DBCC CHECKDB is doing a deep-dive that's going to take much longer than usual?

A5) There are several algorithms in DBCC CHECKDB that are designed to quickly tell whether a corruption exists or not, but at the expense of not being able to tell exactly where the corruption is. The justification for this is that corruptions are not very common (considering the millions of times per day that DBCC CHECKDB is run) and so it makes sense to engineer for the success case and take the hit of a longer run-time in the error case. When a corruption is discovered there hasn't been any to tell that DBCC CHECKDB is going to run logner than usual until SQL Server 2005 SP2. In SP2 a new error, 5268 was added that will be output to the errorlog when one of the deep-dive algorithms is triggered. I advise you to add an alert on this error.

Q6) What are the various forums where Paul answers questions on corruptions?

A6) There are 4 forums that I (and others with good advice also) frequent:

I'm also happy for you to send me email! Just beware that on forum posts and emails you may not get a reply from anyone for a day or more - so if you have a critical server-down issue then you should contact SQL Product Support.

Ok - that's enough for tonight. More tomorrow from the Disaster Recovery workshop. Thanks to everyone who came to the workshop today!

Sunday, November 04, 2007 7:01:40 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]  | 
Saturday, November 03, 2007

After all the build-up over the last few weeks (putting finishing touches to decks and demos), we're finally off to the last set of conferences for the year. First up is SQL Connections in Las Vegas, with over 5000 attendees!!. We flew down yesterday from Seattle to hang out for an extra few days before the conference, as unbelievably after 9 years in the US it's my first time ever in Las Vegas.

It's a kind of a weird place - you're flying along over desert and mountains and suddenly there's a city in the middle of nowhere. The first landmark I could see that positively ID'd it as Vegas was the distinctive black pyramid of the Luxor hotel - we're actually looking down on it from our room in THE hotel (totally pretentious name :-) but nice rooms). Looking out at the Strip, it seems like every second or third car is a limo of some description.

Now that we're here, we're making full use of the extra time to take in some of the sights and sounds. We had dinner last night at Mix with our good friends Gert Drapers and his wife Karen, plus Michele Leroux Bustamante and her husband Andres. The food was great - I had calamari risotto plus beef tenderloin with foie gras and truffles - and Andres chose some really nice wine for us all. Unfortunately, Kimberly didn't enjoy her entree at all - but she did digress from her usual shrimps and scallops choices (her appetizer was a stunning scallop dish) so I wasn't totally surprised. Actually I tried some of her dish too - cod with sweet crumbly pastry over capers, eggplant, olives, and lemon - not how it was described on the menu and totally not something I'd recommend - and I *love* seafood. Tonight we're heading out again with Michele and Andres to see Elton John playing at Ceasar's Palace. Tomorrow the work begins...

So given that we're doing a pre-pre con tomorrow (see my previous post here for all the details), we needed to head over to the conference centre in the Mandalay Bay to pick up our speaker-shirts and badges. After walking for what seemed like miles through casinos and corridors - Vegas is *busy* - we arrived. Here's the sight that greeted us - a small army of conference crew stuffing bags and finalizing registration details.

This is a pretty exciting conference for us - it's our first as a married couple! Almost all of our sessions are together and for the few that it's only Kimberly speaking I'll either sit at the back and heckle or maybe try my hand at blackjack or some other cunning way of giving all our money away very quickly. I suspect Kimberly would rather I heckle :-)

Seriously though, we *love* presenting together, which is why I left Microsoft in the first place and other the next few weeks we'll certainly be doing a lot of it - with TechEd IT Forum in Barcelona straight after SQL Connections and then a TechNet Deep-Dive on Database Maintenance in Zurich the week after that. When we're done we can finally crash for the year as the next work trip isn't until mid-January when we head to China to teach some more classes (Kimberly's turn to experience somewhere new).

One thing we're definitely going to do while we're on the road is blog lots - at least one of us will post every day with some tidbit of info or answer to an interesting question that came up during a session or workshop.

Hopefully we'll see you at one of these events - stop by and say hi!

Saturday, November 03, 2007 2:26:13 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]  | 
Sunday, October 21, 2007

Two weeks to go until the conferences start...

I've revamped the main Upcoming Events page on SQLskills.com to list all the DBA/IT-Pro, Developer, and BI sessions we're collectively doing at SQL Connections Fall, Microsoft TechEd Developers, Microsoft TechEd IT Forum, and a Microsoft TechNet Deep-Dive in November. (Now that I've finished my Lego model, what else am I going to do on a wet Sunday afternoon?:-))

And there's a lot of it - 4 full-day workshops, 17 sessions, 9 chalk-talks, 3 instructor-led labs, and 1 lunchtime demo session - but they're filling up fast and it looks like we'll be doing a few repeats at IT Forum. Anyone coming to any of our full-day workshops will get one of our DVDs packed full of Hands-On labs - incidentally, the Always-On DVD will be the base for our post-con workshop at SQL Connections.

One of the events I haven't mentioned before - the TechNet Deep-Dive. This is being organized by Microsoft in Switzerland and will be a full-day workshop taught by Kimberly and I on database maintenance. Checkout the link above for details on how to register.

We've had some questions about which of the full-day workshops are applicable to customers running SQL Server 2000. Well, a lot of the technology we talk about was introduced in SQL Server 2005, but the concepts and best-practices remain the same. I'd say that the database maintenance workshop probably has the most content that will transfer to SQL Server 2000. However, if you're planning to upgrade to SQL Server 2005 or 2008, these workshops are packed full of info on new features and syntax that you'll need to know.

Look forward to seeing you at one of the events!

Sunday, October 21, 2007 1:35:25 PM (Pacific Standard Time, UTC-08:00)  #