<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Kalen Delaney</title><subtitle type="html" /><id>http://sqlblog.com/blogs/kalen_delaney/atom.aspx</id><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/default.aspx" /><link rel="self" type="application/atom+xml" href="http://sqlblog.com/blogs/kalen_delaney/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.1">Community Server</generator><updated>2011-09-07T14:27:00Z</updated><entry><title>T-SQL Tuesday: What kind of Bookmark are you using?</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/10/tsql-tuesday-what-kind-of-bookmark-are-you-using.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/10/tsql-tuesday-what-kind-of-bookmark-are-you-using.aspx</id><published>2013-06-11T03:21:00Z</published><updated>2013-06-11T03:21:00Z</updated><content type="html">I’m glad there is no minimum length requirement for T-SQL Tuesday blog posts , because this one will be short. I was in the classroom for almost 11 hours today, and I need to be back tomorrow morning at 7:30. Way long ago, back in SQL 2000 (or was it earlier?) when a query indicated that SQL Server was going to use a nonclustered index to get row pointers, and then look up those rows in the underlying table, the plan just had a very linear look to it. The operator that indicated going from the nonclustered...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/10/tsql-tuesday-what-kind-of-bookmark-are-you-using.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=49537" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="indexes" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/indexes/default.aspx" /><category term="query plans" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/query+plans/default.aspx" /><category term="T-SQL Tuesday" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/T-SQL+Tuesday/default.aspx" /></entry><entry><title>Geek City: SQL Server 2014 In-Memory OLTP (“Hekaton”) Whitepaper</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/05/hekaton-whitepaper.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/05/hekaton-whitepaper.aspx</id><published>2013-06-05T16:42:00Z</published><updated>2013-06-05T16:42:00Z</updated><content type="html">Tech Ed isn’t even over yet, and my new Hekaton Whitepaper is already generating questions I can’t answer yet! Here are the two questions that were in my inbox this morning: 1. The whitepaper says “There are other wait types, such as waiting for a log write to complete.” Does this mean that writing to the transaction log will be the main bottleneck of the system? Hey folks, the product isn’t even publicly available. How can I, or anyone, know what your main bottleneck will be? You do know that there...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/05/hekaton-whitepaper.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=49449" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="Hekaton" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/Hekaton/default.aspx" /><category term="In-Memory OLTP" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/In-Memory+OLTP/default.aspx" /><category term="internals" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/internals/default.aspx" /><category term="whitepapers" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/whitepapers/default.aspx" /></entry><entry><title>Geek City: Document more trace flags?</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/03/document-more-trace-flags.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/03/document-more-trace-flags.aspx</id><published>2013-06-03T15:33:00Z</published><updated>2013-06-03T15:33:00Z</updated><content type="html">It’s been over 5 years since I last blogged about trace flags , so it seems a post on the topic is in order. If a trace flag is undocumented, it means it is unsupported and not guaranteed. It can go away at any time, even from one service pack to the next. If a trace flag doesn’t work the way the person who told you about said it should work, there is no help for that. It is undocumented. Trace flags change SQL Server’s behavior. They are toggles, that can be turned on or off. When they are on, they...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/06/03/document-more-trace-flags.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=49319" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="internals" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/internals/default.aspx" /><category term="traceflags" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/traceflags/default.aspx" /></entry><entry><title>Geek City: More statistics info available!</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/04/09/more-statistics-info.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/04/09/more-statistics-info.aspx</id><published>2013-04-10T01:39:00Z</published><updated>2013-04-10T01:39:00Z</updated><content type="html">I just started using a new DMV (one that’s actually an ‘F’ not a ‘V’, as in Function) that gives us more info about distribution statistics. It returns info about the last statistics update date (which is also available with a function STATS_DATE()). It also provides the number of rows sampled when the statistics were last updated. This is available through DBCC SHOW_STATISTICS, and in a blog post a couple of months ago , I showed you how to get that output into a table for your own querying. One...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/04/09/more-statistics-info.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=48605" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="DMVs" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/DMVs/default.aspx" /><category term="statistics" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/statistics/default.aspx" /></entry><entry><title>Geek City: A Grammar Geek in the Cloud</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/27/grammar-geek-in-the-cloud.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/27/grammar-geek-in-the-cloud.aspx</id><published>2013-02-28T06:25:00Z</published><updated>2013-02-28T06:25:00Z</updated><content type="html">Those of you who know me well know that I am usually a stickler for spelling, grammar and proper word usage. I may have even lost a few friends because of what some people see as obsession. I am not infallible, and I do make typos, but I like to try to correct them if possible as soon as I discover them (or as soon as they are brought to my attention.) So now I will admit that I made a mistake in my usage of of the word ‘premise’, when talking about Cloud vs. non-Cloud databases. I was using the...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/27/grammar-geek-in-the-cloud.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=47950" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="SQL Azure" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/SQL+Azure/default.aspx" /><category term="writing" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/writing/default.aspx" /></entry><entry><title>Geek City: Join With Me!</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/14/index-intersection.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/14/index-intersection.aspx</id><published>2013-02-14T22:16:00Z</published><updated>2013-02-14T22:16:00Z</updated><content type="html">I remember one of the most surprising changes in SQL Server 2000 2005 was how the graphical plans showed the use of a nonclustered index to seek, and the plan included something that looked like a JOIN to find rows in the base table. Here’s an example. Although I used SQL Server 2008R2, the graphical plan will be pretty similar to what it looked like back in SQL Server 2000 2005. My code will make a copy of a table in the AdventureWorks2008 database, and then build an index on one of the columns....(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/02/14/index-intersection.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=47727" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="indexes" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/indexes/default.aspx" /><category term="nonclustered index" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/nonclustered+index/default.aspx" /><category term="query plans" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/query+plans/default.aspx" /></entry><entry><title>Geek City: Accessing Distribution Statistics</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/01/18/accessing-distribution-statistics.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2013/01/18/accessing-distribution-statistics.aspx</id><published>2013-01-18T20:08:00Z</published><updated>2013-01-18T20:08:00Z</updated><content type="html">Distribution statistics are one of the most important sources of information that the Query Optimizer uses to determine a good query plan. In this post, I’m not going to tell you everything about distribution statistics. I’m just going to show you a few tricks for getting access to the statistics. If you want a deeper understanding of what the statistics keep track of, and you don’t have any of my SQL Server Internals books handy, check out this whitepaper: Statistics Used by the Query Optimizer...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2013/01/18/accessing-distribution-statistics.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=47218" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="internals" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/internals/default.aspx" /><category term="statistics" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/statistics/default.aspx" /></entry><entry><title>Geek City: What Triggered This Post?</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/12/31/what-triggered-this-post.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2012/12/31/what-triggered-this-post.aspx</id><published>2013-01-01T00:00:00Z</published><updated>2013-01-01T00:00:00Z</updated><content type="html">I’d really like to get another post up onto my much neglected blog before the end of 2012. This will also start one of my New Year’s resolutions, which is to write at least one blog post a month. I’m going to tell you about a change in SQL Server that wasn’t announced in any “What’s New” list that I ever saw, perhaps because it was just a chance in internal behavior, and nothing that required any change in user applications. Do you retest what you know is true for every new version? When I update...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/12/31/what-triggered-this-post.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=46911" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="internals" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/internals/default.aspx" /><category term="testing" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/testing/default.aspx" /><category term="transaction log" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/transaction+log/default.aspx" /><category term="update-in-place" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/update-in-place/default.aspx" /></entry><entry><title>Did You Know? I’m delivering my first SQL Server 2012 class this week!</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/08/07/my-first-sql-server-2012-class.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2012/08/07/my-first-sql-server-2012-class.aspx</id><published>2012-08-08T04:14:00Z</published><updated>2012-08-08T04:14:00Z</updated><content type="html">This is actually just a very short post to get my name back up in the list on the right side of SQLBlog, because Adam’s configuration removes people who haven’t posted in 3 months. I’ve been extremely busy trying to get my new book finished, and then get my course updated for its first delivery this week. I’ll be teaching it again in Norway at the end of the month. It’s a great class this week, and a couple of questions have inspired longer posts, which hopefully I be able to get to next week. Hopefully...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/08/07/my-first-sql-server-2012-class.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=44609" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="seminars" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/seminars/default.aspx" /><category term="SQL Server 2012" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/SQL+Server+2012/default.aspx" /><category term="training" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/training/default.aspx" /></entry><entry><title>Did You Know? Turning Off Locking</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/05/07/turning-off-locking.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2012/05/07/turning-off-locking.aspx</id><published>2012-05-07T23:35:00Z</published><updated>2012-05-07T23:35:00Z</updated><content type="html">Back when the lock manager was rewritten for SQL Server 7, and row level locking was added to the product, the procedure sp_indexoption gave us the ability to turn OFF either row or page locks or both, for one particular index, or for a table and all the indexes on it. I must admit, I rarely found this option to be the solution to any sticky problems, although while doing some quick research prior to writing this post, I did find that Microsoft recommended turning off locking options on a couple...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/05/07/turning-off-locking.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43250" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="locking" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/locking/default.aspx" /><category term="metadata" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/metadata/default.aspx" /></entry><entry><title>Geek City: Build a Big Table with a Columnstore Index</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/04/26/Build-a-Big-Table-with-a-Columnstore-Index.aspx" /><link rel="enclosure" type="text/plain" length="7788" href="http://sqlblog.com/blogs/kalen_delaney/attachment/43013.ashx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2012/04/26/Build-a-Big-Table-with-a-Columnstore-Index.aspx</id><published>2012-04-26T18:18:00Z</published><updated>2012-04-26T18:18:00Z</updated><content type="html">I was looking all over to find a big table to use for my columnstore examples in my SQL Server 2012 book, and the only one I found was from someone at Microsoft and was not publicly available. When I demonstrate code in my writings, I like to have the code available for anyone to use, so that was no use. Finally I realized I was just going to have to do it myself. I actually based the script on some work by the awesome Benjamin Nevarez ( blog | twitter ), but I needed to make a couple of changes...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/04/26/Build-a-Big-Table-with-a-Columnstore-Index.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=43013" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="columnstore" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/columnstore/default.aspx" /><category term="indexes" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/indexes/default.aspx" /><category term="SQL Server 2012" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/SQL+Server+2012/default.aspx" /></entry><entry><title>Follow-up Answers for my Australia Classes</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/04/04/follow-up-answers-for-my-australia-classes.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2012/04/04/follow-up-answers-for-my-australia-classes.aspx</id><published>2012-04-04T22:56:00Z</published><updated>2012-04-04T22:56:00Z</updated><content type="html">I was out of the country for the last two weeks of March, delivering classes in Brisbane and Sydney, which were organized by WardyIT . It was a great visit and there were 24 terrific students! As is sometimes (perhaps often?) the case, there were questions posed that I couldn’t answer during class, so here are a couple of follow-up answers. 1. I brought up the fact that SQLS 2012 generates a warning message when there are ‘too many’ Virtual Log Files (VLFs) in a database. (It turns out the message...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2012/04/04/follow-up-answers-for-my-australia-classes.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42698" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="locking" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/locking/default.aspx" /><category term="SQL Server 2012" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/SQL+Server+2012/default.aspx" /><category term="transaction log" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/transaction+log/default.aspx" /></entry><entry><title>Geek City: Growing Rows with Snapshot Isolation</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2011/11/19/growing-rows-with-snapshot-isolation.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2011/11/19/growing-rows-with-snapshot-isolation.aspx</id><published>2011-11-20T00:43:00Z</published><updated>2011-11-20T00:43:00Z</updated><content type="html">I just finished a wonderful week in Stockholm, teaching a class for Cornerstone Education. We had 19 SQL Server enthusiasts, all eager to find out everything they could about SQL Server Internals. One questions came up on Thursday that I wasn’t sure of the answer to. I jokingly told the student who asked it to consider it a homework exercise, but then I was so interested in the answer, I try to figure it out myself Thursday evening. In this post, I’ll tell you what I did to try to answer the question....(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2011/11/19/growing-rows-with-snapshot-isolation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=39890" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="internals" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/internals/default.aspx" /><category term="snapshot isolation" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/snapshot+isolation/default.aspx" /></entry><entry><title>Did You Know? Query Options Setting in SSMS</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2011/10/19/query-options-setting-in-ssms.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2011/10/19/query-options-setting-in-ssms.aspx</id><published>2011-10-20T00:09:00Z</published><updated>2011-10-20T00:09:00Z</updated><content type="html">Hi folks I’m back from an amazing week at PASS and an awesome reception for SQL Server MVP Deep Dives Volume 2. I’m starting to plan and write my next book on SQL Server 2012 Internals so blogging will kept to a minimum, not that I’ve had a lot of time to blog lately. However, while working on the final quiz for my Concurrency class through SSWUG , I noticed something peculiar about the Query Options | Advanced dialog in Management Studio. You have the option of choosing a default ISOLATION LEVEL...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2011/10/19/query-options-setting-in-ssms.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=39216" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="Management Tools" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/Management+Tools/default.aspx" /></entry><entry><title>Did You Know? I’ll be teaching my Internals Class online!</title><link rel="alternate" type="text/html" href="http://sqlblog.com/blogs/kalen_delaney/archive/2011/09/07/teaching-my-internals-class-online.aspx" /><id>http://sqlblog.com/blogs/kalen_delaney/archive/2011/09/07/teaching-my-internals-class-online.aspx</id><published>2011-09-07T20:27:00Z</published><updated>2011-09-07T20:27:00Z</updated><content type="html">In my most recent commentary for SQL Server Magazine, online here: http://www.sqlmag.com/article/training-and-certification2/sql-server-training-options-140429 , I talked about different options for making training content available online. As an addendum to that, I’d like to mention that one of my training partners (Benchmark Learning in Minneapolis) has decided to offer my complete 5-day deep dives Internals class online, in early November. We’re doing it as a split week class also, so your brain...(&lt;a href="http://sqlblog.com/blogs/kalen_delaney/archive/2011/09/07/teaching-my-internals-class-online.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=38286" width="1" height="1"&gt;</content><author><name>Kalen Delaney</name><uri>http://sqlblog.com/members/Kalen+Delaney.aspx</uri></author><category term="internals" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/internals/default.aspx" /><category term="training" scheme="http://sqlblog.com/blogs/kalen_delaney/archive/tags/training/default.aspx" /></entry></feed>