<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'Documentation' and 'SQL Server 2008'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=Documentation,SQL+Server+2008&amp;orTags=0</link><description>Search results matching tags 'Documentation' and 'SQL Server 2008'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>After the Upgrade, it runs differently…</title><link>http://sqlblog.com/blogs/buck_woody/archive/2009/12/01/after-the-upgrade-it-runs-differently.aspx</link><pubDate>Tue, 01 Dec 2009 16:06:55 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:19385</guid><dc:creator>BuckWoody</dc:creator><description>&lt;p&gt;I got a question yesterday in the mail that I thought I would just answer here in a broad context. While I can’t troubleshoot or do performance tuning from a distance, there are some interesting concepts and suggestions this e-mail brings up:&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000" size="1"&gt;“I have recently seen a change from SQL Server from 2005 to 2008 in where it handles CASE statements differently. Previously we saw a tremendous improvement in performance by using CASE statements instead of OR statements. However when one of our client upgraded to 2008 they began to notice unusually long runtimes with a few of these queries (orders of magnitude larger runtimes). Swapping it to an OR statement allows it to run in 0.075 seconds... so my question to you is do you know of any changes to the exectution engine that would account for this and what is your recommendation?”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;It’s a great question. Basically it boils down to “I changed versions, now something acts differently.” Before we talk about what might be the issue, let’s talk about some things you should do after you upgrade from one version of SQL Server to another.&lt;/p&gt;  &lt;p&gt;First, open the database properties and change the compatibility level to 10.0, unless you know you shouldn’t. Next, update your statistics – all of them. Third, ensure you have all of the proper service packs applied to the operating system and SQL Server. And finally, check the code you have for deprecated statements, or for places where you could optimize the code to use new statements or formats. There are other steps to follow, but these basics will help.&lt;/p&gt;  &lt;p&gt;Now, with all of that done, let’s move on to things that work differently. First, you need to find out what the&amp;#160; code is doing – and the primary way to do that is to examine the Query Execution Plan. There are a lot of resources to teach you how to do that, but the general idea is that you turn that plan on (in the Query menu), run the query, look at the graphical plan and check three items: the overall plan, the icons that show the highest percentage of use, and the thickest arrows. Evaluating this on the “before” system and the “after” system, and that will show you what changed.&lt;/p&gt;  &lt;p&gt;Maybe.&lt;/p&gt;  &lt;p&gt;The point is, the query might take exactly the same path, but a different component may show stress because you might have a different box or configuration. Perhaps the drive layouts changed (or should), you have more memory (or better access to it) and so on. In that case, you simply follow standard performance tuning methodologies to locate what’s waiting, and what is showing pressure.&lt;/p&gt;  &lt;p&gt;Now to the question at hand – does SQL Server (any version) handle a CASE statement differently than an OR statement? Well, once again, the execution plan will show you that answer, but the CASE statement is used for a different purpose than an OR statement – without having all of the code it’s difficult to say which to use in a given situation. The best thing to do is to evaluate the documentation on each and decide which fits the situation best.&lt;/p&gt;  &lt;p&gt;CASE: &lt;a title="http://msdn.microsoft.com/en-us/library/ms181765.aspx" href="http://msdn.microsoft.com/en-us/library/ms181765.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms181765.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;OR: &lt;a title="http://msdn.microsoft.com/en-us/library/ms188361.aspx" href="http://msdn.microsoft.com/en-us/library/ms188361.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms188361.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Did we make changes to CASE or OR? Not directly – but each change to the product may have orthogonal implications, which is where I point you back to the steps I mentioned for the “after upgrade” process.&lt;/p&gt;</description></item><item><title>Some updates to SQL Server 2008 SP1 CU4 you may not have noticed</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2009/11/08/some-updates-to-sql-server-2008-sp1-cu4-you-may-not-have-noticed.aspx</link><pubDate>Sun, 08 Nov 2009 20:18:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18653</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Back on September 21/22, Microsoft released its most recent cumulative updates for SQL Server 2008.&amp;nbsp; For RTM, this was &lt;a href="http://support.microsoft.com/kb/973601" title="http://support.microsoft.com/kb/973601" target="_blank"&gt;Cumulative Update #7&lt;/a&gt; (10.00.1818), and for SP1, this was &lt;a href="http://support.microsoft.com/kb/973602" title="http://support.microsoft.com/kb/973602" target="_blank"&gt;Cumulative Update #4&lt;/a&gt; (10.00.2734). &lt;br&gt;&lt;/p&gt;&lt;p&gt;However, if you have requested the SP1 CU #4 hotfix download since November 4th, the &lt;a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=973602&amp;amp;kbln=en-us" title="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=973602&amp;amp;kbln=en-us" target="_blank"&gt;download page&lt;/a&gt; has some new files up there, with "_Updated_Ref_KB_976761" in the name:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/18652/download.aspx" border="1" height="58" width="550"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;When you download these CU4 files, you will end up with a build number (10.00.2740) that is not documented in either of the above KBs&lt;strike&gt;, and the referenced KB (&lt;a href="http://support.microsoft.com/kb/976761" title="http://support.microsoft.com/kb/976761" target="_blank"&gt;967671&lt;/a&gt; - currently yielding Bing's version of a 404) has not been published at the time of this writing&lt;/strike&gt;.&amp;nbsp; As Chris pointed out, &lt;a href="http://support.microsoft.com/kb/976761" title="http://support.microsoft.com/kb/976761" target="_blank"&gt;KB 976761&lt;/a&gt; appears to have been published today.&amp;nbsp; Though, a separate &lt;a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=976761" title="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=976761" target="_blank"&gt;download page&lt;/a&gt; has been available all along, in addition to being able to download the new files from the original CU #4 download page.&lt;/p&gt;&lt;p&gt;Notice that the original KB for CU #4 (&lt;a href="http://support.microsoft.com/kb/973602" title="http://support.microsoft.com/kb/973602" target="_blank"&gt;973602&lt;/a&gt;) still says that the version is 10.00.2734:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/18659/download.aspx" border="1" height="338" width="667"&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;But then when you download the file with the KB #976761 designation, you get this:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/18658/download.aspx" border="0" height="533" width="419"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;And as expected, when you apply the update to your SQL Server instance, you get @@VERSION = 10.0.2740.0. &lt;br&gt;&lt;/p&gt;&lt;p&gt;My question is: what kind of fixes were so important to quietly sneak these updates onto the CU #4 download page mid-stream?&amp;nbsp; My feeling is these should be separate.&amp;nbsp; The next CU should be coming out within the next several weeks, if they are going to stick to the same ~60 day schedule.&amp;nbsp; So I am curious what drives the priority to push the files to users before they push documentation explaining what the new files are.&lt;br&gt;&lt;/p&gt;&lt;p&gt;I am sure this is just another case of the binary updates preceding the KB updates and other notifications (e.g. from the &lt;a href="http://blogs.msdn.com/sqlreleaseservices/" title="http://blogs.msdn.com/sqlreleaseservices/" target="_blank"&gt;Release Services blog&lt;/a&gt;).&amp;nbsp; Personally, I think that the documentation updates and announcements should come out *before* they post the files; that would cause far less confusion.&amp;nbsp; What makes this scenario difficult is that the download page does not give users enough information about what these files are.&amp;nbsp; So if the 2740 build includes fixes that I don't know how to test, how do I know whether or not that should be one of the files I download?&amp;nbsp; What if I have tested CU #4 (10.00.2734) in my labs, and I tell the servicing team to apply CU #4 to production, and 10.00.2740 is the update they download?&amp;nbsp; This can be quite problematic, I'm sure you'll agree. &lt;br&gt;&lt;/p&gt;&lt;p&gt;This is a relatively isolated situation.&amp;nbsp; But in general, I think the download pages need a lot more supporting documentation.&amp;nbsp; I know the purpose was for self-service, and it is kind of a contradiction that we want more control over what fixes we get without having PSS hold our hands, yet we still want more guidance from PSS.&amp;nbsp; But in my case, I still don't know what a "SQL_Server_2008_SP1_Cumlative_Update_4_RRB2ClickOn" file is, and whether or not I should download it and apply it to my servers.&amp;nbsp; With such a long file name allowed, why make the important part so cryptic?&amp;nbsp; (Naming of the file is obviously a choice made by a human; system-generated code would have spelled "Cumulative" correctly.)&amp;nbsp; Users have had similar questions about files on the download page, such as SNAC and SharePoint... while their naming is a little more intuitive to those of us who have been applying updates to our environments for a while, this isn't true for everyone.&lt;/p&gt;&lt;p&gt;A user on Connect ("ManServ") noticed this yesterday, and filed an item on Connect (&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=508983" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=508983" target="_blank"&gt;#508983&lt;/a&gt;).&amp;nbsp; Hopefully I will have commented there by the time you get to it.&amp;nbsp; I realize that if the situation were reversed, we would just be bitching about the opposite thing: "You're talking about build 2740; why can't I download it already!?"&amp;nbsp; While both are equally annoying for PSS, I prefer the latter in terms of end users.&amp;nbsp; At least in that case, they are not downloading the files before there is any documentation around them; maybe they could focus on reading that documentation while waiting for the files to be pushed to the download servers.&lt;br&gt;&lt;/p&gt;&lt;p&gt;I really wish I had noticed this at PASS, instead of right after getting home.&amp;nbsp; I actually had a conversation with Bob Ward during the conference, where he asked me how they can make this servicing model better.&amp;nbsp; The only constructive criticism I could come up with on the spot was that, when they are supporting two branches, and a fix makes it into one CU and not the other, document which fixes are only in one branch, and why.&amp;nbsp; This should be a companion KB article that is linked, in the case of SQL Server 2008, to both the RTM and the SP1 KB articles for the Cumulative Updates released at that time.&amp;nbsp; The way I currently figure this out is to build a table of both sets of fixes, and then figure out where the rows are not equal (you've seen me do this before, &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2009/07/22/more-cumulative-updates-available-for-sql-server-2008.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2009/07/22/more-cumulative-updates-available-for-sql-server-2008.aspx" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2009/02/20/sql-server-2005-comparing-sp2-cu-12-and-sp3-cu-2.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2009/02/20/sql-server-2005-comparing-sp2-cu-12-and-sp3-cu-2.aspx" target="_blank"&gt;here&lt;/a&gt;).&amp;nbsp; It would be great if I could get that information from the source, however if I were to rank this, it would appear below the problem above, where files make it to end users' systems before there is even a document describing what those files are and what they fix.&lt;br&gt;&lt;/p&gt;</description></item><item><title>Connect Digest : 2009-08-22</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2009/08/21/connect-digest-2009-08-22.aspx</link><pubDate>Sat, 22 Aug 2009 03:18:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:16113</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;I rounded up a few interesting items this week.
&lt;/p&gt;
&lt;hr style="height:1px;"&gt;
&lt;p&gt;&lt;b&gt;Does "1/10/1900" mean January 10th, or October 1st?&lt;/b&gt; &lt;br&gt;&lt;/p&gt;

&lt;p&gt;This item demonstrates that Microsoft isn't all that concerned about publishing sample code that uses ambiguous or troublesome formats for date literals.&amp;nbsp; Initially the Books Online topics mentioned in the item used "1/10/1900" as a date literal, and of course that would have a different meaning in a default US English locale compared with a British locale.&amp;nbsp; The alleged 'fix' was to change the string to "January 1, 1900."&amp;nbsp; Which will simply fail if the user has, for example, SET LANGUAGE FRENCH.&amp;nbsp; It seems funny that they could make a change for the better within a few days, but then making another change (also for the better) cannot be done due to costs.&amp;nbsp; Whereas if they had just changed "1/10/1900" to "19000101" in the first place, the problem would have been solved in one step.&amp;nbsp; What a weird organization they have over there; I personally think that the people writing their documentation samples should be assigned random locales and SET LANGUAGE settings so that they aren't writing code in a nice little US English vacuum.&amp;nbsp; I can imagine a scenario where you have a bank of servers to deploy to, and you have to test on one of them, but you never know which one you're going to get... when your code blows up because the German server with SET LANGUAGE DUTCH doesn't know what "February" means, you have to go back to the drawing board.&amp;nbsp; And I think this would be beneficial for everyone.&lt;br&gt;&lt;/p&gt;
&lt;div style="margin-left:40px;" class="SubTitle"&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=482186" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=482186" target="_blank"&gt;#482186 : DOC : Add/Subtract topics should warn about DATE / TIME types&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt;

&lt;hr style="height:1px;"&gt;
&lt;p&gt;&lt;b&gt;Why can't we have an easier way to get first day of month, of year, etc.?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We currently use clumsy methods to get the first day of the week, month or year (given a DATETIME/SMALLDATETIME value), or to strip the time.&amp;nbsp; While the DATE data type in SQL Server 2008 will relieve some of this pain, it won't help in all cases.&amp;nbsp; Meanwhile, other RDBMS have much more convenient ways to do this (e.g. Oracle's TRUNC()).&amp;nbsp; I am hopeful that someday they will add a function like this to SQL Server; I call it "DATEROUND."&lt;/p&gt;

&lt;blockquote&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483913" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483913" target="_blank" id="ctl00_MasterBody_PostedByUserView_ctl01_FeedbackSummaryDisplay_FeedbackLink"&gt;#483913 : Add a DATEROUND 
function similar to Oracle's TRUNC() for date handling&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=482186" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=482186" target="_blank"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;hr style="height:1px;"&gt;
&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=482186" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=482186" target="_blank"&gt;&lt;/a&gt;
&lt;p&gt;&lt;b&gt;Why do we allow identifiers with trailing spaces?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;While this may not be common practice (notice the trailing spaces in the table and column names)...&lt;/p&gt;

&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;CREATE&amp;nbsp;TABLE&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dbo.[foo&amp;nbsp;]&lt;br&gt;&lt;/font&gt;&lt;font color="gray"&gt;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;[bar&amp;nbsp;]&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;INT&lt;br&gt;&lt;/font&gt;&lt;font color="gray"&gt;);&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;

&lt;p&gt;...there are end users complaining about the fact that this works (see &lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483389" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483389" target="_blank"&gt;Connect #483389&lt;/a&gt;).&amp;nbsp; I had a slightly different take than user "aitcha1" in that I don't understand why SQL Server allows trailing spaces in identifier names in the first place.&amp;nbsp; It does ignore trailing spaces when preventing duplicates (for example, you can't have a column named [bar] and a column named [bar ]), but in spite of what the documentation says, it certainly keeps the space intact when storing the metadata in the catalog views.&amp;nbsp; So I filed two suggestions: one to fix the documentation to be more explicit about how "SQL Server stores the name without the trailing spaces," and one to actually tighten up identifier rules.&lt;/p&gt;

&lt;div style="margin-left:40px;" class="SubTitle"&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483553" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483553" target="_blank"&gt;#483553 : DOC : Delimited Identifiers topic lies about trailing spaces&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-left:40px;" class="SubTitle"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-left:40px;" class="SubTitle"&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483527" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=483527" target="_blank"&gt;#483527 : Tighten up identifier rules&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;/div&gt;

&lt;hr style="height:1px;"&gt;
&lt;p&gt;&lt;b&gt;Why does SSMS not like VARCHAR(MAX) parameters?&lt;/b&gt; &lt;br&gt;&lt;/p&gt;

&lt;p&gt;There was an avid discussion on the newsgroups this week about a long-acknowledged bug in SSMS.  If you have a stored procedure that has a VARCHAR(MAX) parameter, and you open Object Explorer, right-click the procedure and choose Script As &amp;gt; Execute &amp;gt; New Query Window, the variable declaration for that parameter is simply VARCHAR, not VARCHAR(MAX).  Obviously this isn't a huge show-stopper, and an easy workaround is to use NVARCHAR(MAX) parameters (if this is acceptable), but I also believe that this can't be a very difficult bug to fix.&amp;nbsp; I tried to use Profiler to peek at what SSMS calls when you run this script, but they are only retrieving metadata and not revealing how they are actually building the output that you ultimately execute.&amp;nbsp; My guess is that there is just a bug when handling VARCHAR() types where max_length = -1.&amp;nbsp; Anyway the bug has been sitting around for almost three years and could possibly use a little traffic.&lt;br&gt;&lt;/p&gt;
&lt;div style="margin-left:40px;" class="SubTitle"&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=241782" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=241782" target="_blank"&gt;#241782 : create script for sp execute in parameter varchar(max) wrong&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt;

&lt;hr style="height:1px;"&gt;
&lt;p&gt;&lt;b&gt;Who coded that infinite loop?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In several Windows collations (e.g. Latin1_General_CI_AS), when performing a REPLACE() of CHAR(0), the SQL engine can enter an infinite loop and consume multiple CPUs.&amp;nbsp; A problem with CHAR(0) was first reported by Erland back in 2006, but the infinite loop was a much more recent revelation (it was added in a comment this week, and may appear in an independent Connect item in the future).&lt;br&gt;&lt;/p&gt;

&lt;p style="margin-left:40px;"&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=125502" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=125502" target="_blank"&gt;#125502 : Replace of char(0) does not work in DB with Windows collation&lt;br&gt;&lt;br&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr style="height:1px;"&gt;&lt;br&gt;&lt;b&gt;Can we have an option to turn off deferred name resolution?
&lt;/b&gt;
&lt;p&gt;Deferred name resolution is confusing, and has even created a market for 3rd party products that track dependencies  better than SQL Server can do on its own (e.g. Red-Gate's &lt;a href="http://www.red-gate.com/products/SQL_Dependency_tracker/index.htm" title="http://www.red-gate.com/products/SQL_Dependency_tracker/index.htm" target="_blank"&gt;SQL Dependency Tracker&lt;/a&gt;).&amp;nbsp; We know that if we create a stored procedure that calls another stored procedure that doesn't yet exist, the parser still allows us to create the procedure, giving us the benefit of the doubt that we will create the other procedure later.&amp;nbsp; So in this case, we get a warning message:&lt;/p&gt;


&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;CREATE&amp;nbsp;PROCEDURE&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dbo.test1&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;AS&lt;br&gt;BEGIN&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dbo.proc_does_not_exist&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;END&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;GO&lt;/font&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;br&gt;
&lt;table bgcolor="#efefef" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;Cannot add rows to sys.sql_dependencies for the stored procedure because it depends &lt;br&gt;on the missing table 'dbo.proc_does_not_exist'. The stored procedure will still be &lt;br&gt;created; however, it cannot be successfully executed until the table exists.&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;


&lt;p&gt;The warning message incorrectly says "table" when it should probably say "object."&amp;nbsp; In SQL Server 2008, the error message is actually: &lt;br&gt;&lt;/p&gt;

&lt;table bgcolor="#efefef" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;The module 'test1' depends on the missing object 'dbo.proc_does_not_exist'. The module &lt;br&gt;will still be created; however, it cannot run successfully until the object exists.&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Sadly, we don't get a warning or an error if we reference a table that doesn't yet exist:&lt;/p&gt;


&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;CREATE&amp;nbsp;PROCEDURE&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dbo.test2&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;AS&lt;br&gt;BEGIN&lt;br&gt;&amp;nbsp;&amp;nbsp; SELECT &lt;font color="gray"&gt;*&lt;/font&gt; FROM &lt;/font&gt;&lt;font color="black"&gt;dbo.table_does_not_exist&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;END&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;GO&lt;/font&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;br&gt;
&lt;table bgcolor="#efefef" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;Command(s) completed successfully.&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;This was complained about in &lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=246014" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=246014" target="_blank"&gt;Connect #246014&lt;/a&gt;, which was closed as fixed, however the parser is still silent about the problem in SQL Server 2008 (where we are told it has been addressed).&amp;nbsp; I guess the "fixed" part is just that the error message when the referenced object is NOT a table no longer incorrectly says "table."&amp;nbsp; :-(&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Deferred name resolution falls completely on its face if we reference a column that DOES NOT (yet) exist, in a table that DOES exist.&amp;nbsp; Where is our benefit of the doubt now?&amp;nbsp; This stored procedure won't compile, even if we intend to go create the column immediately:&lt;/p&gt;


&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;CREATE&amp;nbsp;TABLE&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dbo.foo&lt;br&gt;&lt;/font&gt;&lt;font color="gray"&gt;(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;bar &lt;/font&gt;&lt;font color="blue"&gt;INT&lt;br&gt;&lt;/font&gt;&lt;font color="gray"&gt;);&lt;br&gt;&lt;/font&gt;&lt;font&gt;&lt;font color="blue"&gt;GO&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;CREATE&amp;nbsp;PROCEDURE&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dbo.test3&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;AS&lt;br&gt;BEGIN&lt;br&gt;&amp;nbsp;&amp;nbsp; SELECT &lt;/font&gt;&lt;font&gt;&lt;font color="black"&gt;column_does_not_exist&lt;/font&gt;&lt;/font&gt;&lt;font color="blue"&gt; FROM &lt;/font&gt;&lt;font color="black"&gt;dbo.foo&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;END&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;GO&lt;/font&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;

&lt;br&gt;
&lt;table bgcolor="#efefef" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;-moz-background-clip:border;-moz-background-origin:padding;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="red"&gt;Msg 207, Level 16, State 1, Procedure test3, Line 3&lt;br&gt;Invalid column name 'column_does_not_exist'.&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;


&lt;p&gt;As alluded to, dependency tracking gets better in SQL Server 2008, as *some* unresolved dependencies are stored in sys.dm_sql_referenced_entities.&amp;nbsp; I wrote a lengthy blog post about this last year:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2008/09/09/keeping-sysdepends-up-to-date-in-sql-server-2008.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2008/09/09/keeping-sysdepends-up-to-date-in-sql-server-2008.aspx" target="_blank"&gt;Keeping sysdepends up to date in SQL Server 2008&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;But I would still like to make it impossible to create anything (even a synonym) that references an object that doesn't yet exist.&amp;nbsp; Erland goes into much more detail about this in &lt;a href="http://www.sommarskog.se/strict_checks.html" title="http://www.sommarskog.se/strict_checks.html" target="_blank"&gt;his paper on SET STRICT_CHECKS ON&lt;/a&gt;.&amp;nbsp; You can't vote on that, but you could vote on these:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=127152" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=" target="_blank"&gt;#127152 : Ability to disable or workaround deferred name resolution&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=287100" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=287100" target="_blank"&gt;#287100 : Turn off deferred name resolution for CREATE SYNONYM&lt;/a&gt;&lt;/p&gt;
&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=260762" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=260762" target="_blank"&gt;#260762 : Add optional checks for more robust development&lt;/a&gt;&lt;br&gt;&lt;/blockquote&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>SQL Server 2008 Books Online update is available</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2009/07/07/sql-server-2008-books-online-update-is-available.aspx</link><pubDate>Tue, 07 Jul 2009 16:36:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:15142</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Well, let me be more precise: there is an updated version of Books Online online.&amp;nbsp; As &lt;a href="http://blogs.msdn.com/buckwoody/archive/2009/07/07/sql-server-2008-books-online-update-is-released.aspx" title="http://blogs.msdn.com/buckwoody/archive/2009/07/07/sql-server-2008-books-online-update-is-released.aspx" target="_blank"&gt;reported earlier by Buck Woody&lt;/a&gt;, the online version of SQL Server 2008 Books Online has been updated (we are seeing the updates now but the content was refreshed June 29th).&amp;nbsp; The download has not been made available as of yet; this usually takes several days to get the packages together, get them up on the download servers, and then distribute the links throughout the download sites and other Microsoft properties.&lt;/p&gt;&lt;p&gt;When I was looking around to try and spot the downloadable version, I was quickly re-introduced to some peculiarities I've noticed before but didn't care enough to comment on.&amp;nbsp; Most importantly:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;the front page of the online version does not give any indication that there is a downloadable version, never mind provide a link to it; and,&lt;br&gt;&lt;/li&gt;&lt;li&gt;the main SQL Server 2008 page (&lt;a href="http://msdn.microsoft.com/en-us/sqlserver/bb671064.aspx" title="http://msdn.microsoft.com/en-us/sqlserver/bb671064.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/sqlserver/bb671064.aspx&lt;/a&gt;) points to a download page (&lt;a href="http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx" title="http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx&lt;/a&gt;) which says you are downloading the January 2009 update.&amp;nbsp; Of course the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-4D7A-B628-0A98145BCB97" title="http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-4D7A-B628-0A98145BCB97" target="_blank"&gt;download page behind the links&lt;/a&gt; actually offers the May update.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I complained about this more formally here:&lt;/p&gt;&lt;p&gt;&lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=472985" title="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=472985" target="_blank"&gt;#472985 : DOC : Make Books Online downloads more discoverable and current&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Anyway, you can &lt;a href="http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx" title="http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx" target="_blank"&gt;watch this page&lt;/a&gt; to see if they update it when the new version becomes available for download (or, as Buck suggests, you can wait for Microsoft Update to download the new version for you).&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;</description></item><item><title>More info on the May 2009 update to SQL Server 2008 Books Online</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2009/05/22/more-info-on-the-may-2009-update-to-sql-server-2008-books-online.aspx</link><pubDate>Fri, 22 May 2009 19:50:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:14211</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;I finally got around to installing this update today, and thought I would mention a few things.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Don't be surprised that "Books Online (May 2009)" actually says
"April 2009" in the application's title bar and on any page which
states the version.&amp;nbsp; (I already received one private message asking me
why they got the April version instead of the May version.)&amp;nbsp; This has
happened for every Books Online update that I can remember -- it just
takes time to publish and distribute; I don't know what else to tell
you. &lt;br&gt;
&amp;nbsp;&lt;br&gt;
  &lt;/li&gt;&lt;li&gt;To make item 1. even more confusing, the "New and Updated Topics"
topic is actually dated "March 30, 2009."&amp;nbsp; Again, please don't
nit-pick.&amp;nbsp; While I am quite happy to use the easier-to-update web
interface for most things, I am also happy that they are dedicated to
pushing these releases out to us, even if it does take 45 days to
actually go from "done" to "installed."&amp;nbsp; (Now where is the &lt;a href="http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=433498" title="Vote!  It's not a joke!" target="_blank"&gt;mobile version for my iPhone&lt;/a&gt;?)&lt;br&gt;
&amp;nbsp;&lt;/li&gt;&lt;li&gt;There is a new example in the topic "&lt;a href="http://msdn.microsoft.com/en-us/library/ms173463%28SQL.100%29.aspx" title="http://msdn.microsoft.com/en-us/library/ms173463(SQL.100).aspx" target="_blank"&gt;CREATE USER&lt;/a&gt;" that shows how
to create and use a user without a login.&amp;nbsp; I had no idea you could
create a user without a login behind it.&amp;nbsp; If it weren't for this update
(and the fact that they have committed to documenting changes in a
sensible way - just check the "Change History" section at the bottom of any page), I would never have been looking at this topic.&lt;br&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;The sp_configure option 'user instance timeout' has been added to the list of deprecated instance options.&amp;nbsp; Initially I thought this had to do with SQL Server Express Edition's user instances option, but apparently this specifically involves just the Compact Edition.&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;</description></item><item><title>New version of SQL Server 2008 Books Online is available</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2009/05/21/new-version-of-sql-server-2008-books-online-is-available.aspx</link><pubDate>Fri, 22 May 2009 02:45:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:14201</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Yesterday Microsoft released a new downloadable version of Books Online for SQL Server 2008:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97" title="http://www.microsoft.com/downloads/details.aspx?FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97&lt;/a&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Did You Know? A New SQL Server 2008 Books Online Update is Available</title><link>http://sqlblog.com/blogs/kalen_delaney/archive/2009/02/02/SQL-Server-2008-books-online-update.aspx</link><pubDate>Tue, 03 Feb 2009 01:45:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:11671</guid><dc:creator>Kalen Delaney</dc:creator><description>&lt;P&gt;When I searched for "sql server 2008 books online update", the first non-advertising hit I got was labeled August 2008, and I already have a Books Online download for August. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/kalen_delaney/WindowsLiveWriter/DidYouKnowANewSQLServer2008BooksOnlineUp_F97C/search1_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height=101 alt=search1 src="http://sqlblog.com/blogs/kalen_delaney/WindowsLiveWriter/DidYouKnowANewSQLServer2008BooksOnlineUp_F97C/search1_thumb.jpg" width=520 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, when I clicked on the link I was taken to a page to download a brand new January 2009 Update::&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/kalen_delaney/WindowsLiveWriter/DidYouKnowANewSQLServer2008BooksOnlineUp_F97C/BOL%202008_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height=310 alt="BOL 2008" src="http://sqlblog.com/blogs/kalen_delaney/WindowsLiveWriter/DidYouKnowANewSQLServer2008BooksOnlineUp_F97C/BOL%202008_thumb.jpg" width=586 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So here's the link:&lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-4D7A-B628-0A98145BCB97&amp;amp;displaylang=en href="http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-4D7A-B628-0A98145BCB97&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-4D7A-B628-0A98145BCB97&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have fun!&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff00ff size=4&gt;~Kalen&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>Did You Know? You can search the web-only Books Online</title><link>http://sqlblog.com/blogs/kalen_delaney/archive/2008/11/11/search-the-web-only-books-online.aspx</link><pubDate>Wed, 12 Nov 2008 01:22:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:9934</guid><dc:creator>Kalen Delaney</dc:creator><description>&lt;P&gt;You might be aware (&lt;A href="http://sqlblog.com/blogs/tibor_karaszi/archive/2008/11/05/new-web-update-for-sql-server-2008-books-online.aspx" target=_blank&gt;from other bloggers on this site&lt;/A&gt;) that there is a new web-only Books Online for SQL Server 2008 available at &lt;A title=http://msdn.microsoft.com/en-us/library/dd239407.aspx. href="http://msdn.microsoft.com/en-us/library/dd239407.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd239407.aspx.&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Like Tibor, I prefer a downloadable BOL, partly because I do a lot of research and writing while traveling and I don't always have an internet connection, like at 42,000 ft (~14000m) above the Atlantic Ocean. &lt;/P&gt;
&lt;P&gt;However, I need the latest documentation while I am finishing up my book, so I decided to start using it today, now that I am back from my travels to the UK. However, I discovered another reason while I like the desktop copy of BOL better and that is the searching functionality. The web-only BOL only has the search box to search the ENTIRE MSDN site, and it's not nearly as convenient as the search capabilities in the local documentation. &lt;/P&gt;
&lt;P&gt;To my delight, I just found out from Alan Brewer, from the SQL Documentation Team, &amp;nbsp;that Microsoft has a nice search macro to help limit your search on MSDN to just SQL Server 2008 topics:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://search.live.com/macros/sql_server_user_education/sql2008bolsearch/"&gt;http://search.live.com/macros/sql_server_user_education/sql2008bolsearch/&lt;/A&gt; 
&lt;P&gt;It's still not as nice as the local searching, but since web-only is all we have for now, for the most recent BOL, it's definitely a good thing.&lt;/P&gt;
&lt;P&gt;There is also a 2005 online search macro at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/sqlserverue/archive/2007/10/01/eliminate-extranneous-search-results.aspx"&gt;http://blogs.msdn.com/sqlserverue/archive/2007/10/01/eliminate-extranneous-search-results.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have fun!&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff00ff size=4&gt;~Kalen&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>New (web) update for SQL Server 2008 Books Online</title><link>http://sqlblog.com/blogs/tibor_karaszi/archive/2008/11/05/new-web-update-for-sql-server-2008-books-online.aspx</link><pubDate>Wed, 05 Nov 2008 08:19:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:9863</guid><dc:creator>TiborKaraszi</dc:creator><description>&lt;P&gt;Fire up your SQL Server 2008 Books Online (BOL) and check the date. You should find this in any article (except for the very start page). &lt;/P&gt;
&lt;P&gt;RTM of SQL Server 2008 shipped with a BOL which has ... hmm,... &lt;STRONG&gt;doesn't&lt;/STRONG&gt; have a date (just checked in a virtual machine). OK, so if you don't find a date (year month) you have the BOL which shipped with RTM.&lt;/P&gt;
&lt;P&gt;The first BOL update was released 2008-09-30. You will see this as (August 2008). This was made available on the web as well as a download (&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97&amp;amp;DisplayLang=en&lt;/A&gt;). This BOL did not list what was changed from prior release since this was considered RTM of BOL and the BOL that shipped with RTM was considered RC0 (which explains why this BOL lists Aug 2008 when it was released late Sept 2008).&lt;/P&gt;
&lt;P&gt;Today I learned that MS has released yet another release of Books Online. This is only available on the web, and you see this as (October 2008). Now we &lt;STRONG&gt;do&lt;/STRONG&gt; have listing of what section are new and what were expended on. I admit that I prefer locally installed BOL, but I guess that MS has resource limitations the same was as all of us do. Check it out at &lt;A href="http://msdn.microsoft.com/en-us/library/dd239407.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd239407.aspx&lt;/A&gt;.&lt;/P&gt;</description></item></channel></rss>