<?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 'SQL Server 2008 R2' and 'SQL 11'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=SQL+Server+2008+R2,SQL+11&amp;orTags=0</link><description>Search results matching tags 'SQL Server 2008 R2' and 'SQL 11'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>More changes you might not have noticed in SQL Server 2008 R2 SP1 CTP</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2011/04/25/more-changes-you-might-not-have-noticed-in-the-sql-server-2008-r2-sp1-ctp.aspx</link><pubDate>Mon, 25 Apr 2011 14:28:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:35141</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;On Friday,&amp;nbsp;after Microsoft released the CTP,&amp;nbsp;I talked a little bit about &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2011/04/22/sql-server-2008-r2-sp1-ctp-is-now-available.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2011/04/22/sql-server-2008-r2-sp1-ctp-is-now-available.aspx" target="_blank"&gt;the changes you will see in SQL Server 2008 R2 SP1&lt;/a&gt;. Namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;new rowcount-related columns in sys.dm_exec_query_stats;&lt;/li&gt;

&lt;li&gt;extended functionality of the FORCESEEK query hint;&lt;/li&gt;

&lt;li&gt;a new FORCESCAN query hint;&lt;/li&gt;

&lt;li&gt;support for 15,000 partitions (to match new functionality added in SQL Server 2008 SP2);&lt;/li&gt;

&lt;li&gt;a new DAC framework for in-place upgrades; and,&lt;br&gt;&lt;/li&gt;

&lt;li&gt;a new disk space control in PowerPivot for SharePoint.&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since then, I have been digging a little deeper, as the release notes are pretty vague about the changes, and the Books Online updates have not been published yet - at least not that I have seen (and I don't expect them to be published until after the service pack is RTM).&lt;/p&gt;

&lt;p&gt;In addition to the new columns in sys.dm_exec_query_stats, there are some other DMVs that have been added or changed in comparison to the RTM release of SQL Server 2008 R2, and some new Extended Events objects as well. I'll also note below each item description whether the change is present in Denali (initially I thought there would be more, but there is only one case where this has happened for DMVs in CTP1).&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;New system objects:&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/r2sp1_new_dmvs.png" border="1" height="151" width="402"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;All columns for new DMVs, and new columns on existing DMVs:&lt;/b&gt; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/r2sp1_newdmvcolumns.png" border="1" height="531" width="468"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;&lt;font color="#000000"&gt;sys.dm_os_volume_stats&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This new Dynamic Management Function provides you with information about the disk subsystem where your database files live. It takes the parameters @DatabaseID and @FileID, making it easy to CROSS APPLY against sys.sysalfiles to get all kinds of information about all of the databases across your instance. You can see free vs. available space, whether the drive supports compression / alternate streams / sparse files, and whether the drive is compressed or read only:&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT &lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.volume_mount_point&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="green"&gt;-- e.g. C:\&lt;/font&gt;&lt;br&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.volume_id&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.logical_volume_name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.file_system_type&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="green"&gt;  -- e.g. NTFS&lt;/font&gt;&lt;br&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;db =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="magenta"&gt;DB_NAME&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;f.dbid&lt;/font&gt;&lt;font color="gray"&gt;), &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[file] =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;f.[name]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;f.[filename]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;file_size_MB =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;f.[size] &lt;/font&gt;&lt;font color="gray"&gt;/ &lt;/font&gt;&lt;font color="black"&gt;128&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;drive_size_MB =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;vs.total_bytes&lt;/font&gt;&lt;font color="gray"&gt;/&lt;/font&gt;&lt;font color="black"&gt;1024&lt;/font&gt;&lt;font color="gray"&gt;/&lt;/font&gt;&lt;font color="black"&gt;1024&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;drive_free_space_MB =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;vs.available_bytes&lt;/font&gt;&lt;font color="gray"&gt;/&lt;/font&gt;&lt;font color="black"&gt;1024&lt;/font&gt;&lt;font color="gray"&gt;/&lt;/font&gt;&lt;font color="black"&gt;1024&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;drive_percent_free =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="magenta"&gt;CONVERT&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;DECIMAL&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;5&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;font color="black"&gt;2&lt;/font&gt;&lt;font color="gray"&gt;), &lt;/font&gt;&lt;font color="black"&gt;vs.available_bytes &lt;/font&gt;&lt;font color="gray"&gt;* &lt;/font&gt;&lt;font color="black"&gt;100.0 &lt;/font&gt;&lt;font color="gray"&gt;/ &lt;/font&gt;&lt;font color="black"&gt;vs.total_bytes&lt;/font&gt;&lt;font color="gray"&gt;),&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.supports_compression&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.supports_alternate_streams&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.supports_sparse_files&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.is_read_only&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;vs.is_compressed&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;FROM&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sysaltfiles&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;f&lt;/font&gt;&lt;br&gt;&lt;font&gt;&lt;font color="blue"&gt;CROSS APPLY&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;dm_os_volume_stats&lt;/font&gt;&lt;/font&gt;&lt;font color="gray"&gt;(&lt;/font&gt;&lt;font color="black"&gt;f.dbid&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="black"&gt;f.fileid&lt;/font&gt;&lt;font color="gray"&gt;) &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;vs&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;WHERE&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;f.dbid &lt;/font&gt;&lt;font color="gray"&gt;&amp;lt; &lt;/font&gt;&lt;font color="black"&gt;32767&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;ORDER BY&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;drive_percent_free &lt;/font&gt;&lt;font color="blue"&gt;DESC&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;db&lt;/font&gt;&lt;font color="gray"&gt;,&lt;/font&gt;&lt;br&gt;&lt;font color="gray"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[file]&lt;/font&gt;&lt;font color="gray"&gt;;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is much more powerful than the undocumented and unsupported extended procedure xp_fixeddrives, and I assume - though I haven't tested yet - that it will see things like external hard drives, mount points and other specialty devices. Granted, with or without the usage of sys.sysaltfiles, it is only going to tell you about volumes where you actually have at least one database file.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali. &lt;/i&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.sp_db_increased_partitions&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This stored procedure was first introduced in SQL Server 2008 SP2, and enables you to create up to 15,000 partitions on a single table (before this change, the maximum was 1,000 partitions). The reason for the change is that some big customers wanted a partition per day, and the built-in limit of 1,000 meant they couldn't even reach three years of data using that structure. The stored procedure takes two parameters: the database name (@dbname sysname) and whether to turn the setting on or off (@increased_partitions varchar(6)). The latter parameter can take any of the following values: 'on', 'off', 'true' or 'false' - I recommend using lower case to be sure the parameters are not misinterpreted on a binary or case-sensitive collation. As an example, to turn on and then off increased partition support for the AdventureWorks database, you can run the following code:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;EXEC &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font color="darkred"&gt;sp_db_increased_partitions &lt;/font&gt;&lt;font color="#434343"&gt;&lt;br&gt;    @dbname =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;N'AdventureWorks'&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="#434343"&gt;&lt;br&gt;    @increased_partitions =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;'on'&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;&lt;br&gt;EXEC &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font color="darkred"&gt;sp_db_increased_partitions &lt;br&gt;    &lt;/font&gt;&lt;font color="#434343"&gt;@dbname =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;N'AdventureWorks'&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="#434343"&gt;&lt;br&gt;    @increased_partitions =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;'off'&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="green"&gt;&lt;br&gt;-- or&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;EXEC &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font color="darkred"&gt;sp_db_increased_partitions &lt;/font&gt;&lt;font color="#434343"&gt;&lt;br&gt;    @dbname =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;N'AdventureWorks'&lt;/font&gt;&lt;font color="gray"&gt;, &lt;br&gt;    &lt;/font&gt;&lt;font color="#434343"&gt;@increased_partitions =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;'true'&lt;/font&gt;&lt;font color="gray"&gt;;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;EXEC &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font color="darkred"&gt;sp_db_increased_partitions &lt;/font&gt;&lt;font color="#434343"&gt;&lt;br&gt;    @dbname =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;N'AdventureWorks'&lt;/font&gt;&lt;font color="gray"&gt;, &lt;/font&gt;&lt;font color="#434343"&gt;&lt;br&gt;    @increased_partitions =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;'false'&lt;/font&gt;&lt;font color="gray"&gt;;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali.&lt;/i&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.sp_MScheckIsPubOfSub&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I assume this stored procedure is not meant for public consumption, but is probably used by other internal stored procedures involving replication. From the comments in the stored procedure: &lt;br&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;color:green;"&gt;/*&lt;br&gt;&amp;nbsp; *&amp;nbsp; This proc will discover if the specified subid is a subscriber to the specified pubid.&lt;br&gt;&amp;nbsp; *&amp;nbsp; Currently, this is a one level check, it does not support n-level re-publishing.&lt;br&gt;*/&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;The procedure takes two uniqueidentifer input parameters (@pubid and @subid), and returns a single output parameter (@pubOfSub bit).&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali. &lt;/i&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.dm_os_windows_info&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This new DMV complements sys.dm_os_sys_info with a bit of information about the underlying Windows operating system - version and service pack information, sku and language.
&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;windows_release&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;windows_service_pack_level&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;windows_sku&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;os_language_version&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;.&lt;font color="green"&gt;d&lt;/font&gt;&lt;/font&gt;&lt;font&gt;&lt;font color="green"&gt;m_os_windows_info&lt;/font&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;/blockquote&gt;

On my system (US English Windows 7 Ultimate SP1), the following results were returned (the only other windows_sku value I know of for this DMV so far is 28, for Windows 7 Ultimate N):

&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/r2sp1_wininfo.png" border="1" height="37" width="483"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali.&lt;/i&gt;&lt;/font&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;sys.dm_server_memory_dumps&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Thankfully I have only had to look into memory dumps a couple of times, but this new DMV will give you a row for each dump that has been generated, including the name of the file, when it was created, and how big it is:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[filename]&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;creation_time&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;size_in_bytes&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font color="green"&gt;dm_server_memory_dumps;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;And also thankfully, this query returns 0 rows on all of the systems I have updated to the CTP of Service Pack 1. Note that, unlike almost every other date/time-related column in every DMV in the system, creation_time is returned as datetimeoffset, not datetime. Just something to keep in mind if you are accessing this data programmatically. &lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali.&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.dm_server_registry&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the things I've always hated is having to resort to the undocumented and unsupported extended procedure xp_regread. This DMV eliminates the need to use that xp, provided you are after information that is explicitly relevant to the current instance of SQL Server. On this particular instance, I get information about the engine and SQL Server Agent services (including service account names, startup parameters and agent history properties), as well as plenty of network-related information that is very tedious to obtain in current versions (for example, the port(s) in use and whether they are dynamic):&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT &lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;registry_key&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;value_name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;value_data&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="green"&gt;sys.dm_server_registry;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm not going to show all of the data for this specific instance, but here are the distinct registry keys that are returned for a named instance "SQL2008R2" - this should give you a good idea of the information you can get to without having to trawl through the SQL Server logs, Agent property dialogs, or dig into the registry manually:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/r2sp1_reg.png" border="1" height="360" width="704"&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali.&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.dm_server_services&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In SQL Server 2008, sys.dm_os_sys_info was enhanced with the column sqlserver_start_time which shows when the SQL Server service was started. This new DMV has a row for each server service, and includes the startup time as well the current status, the startup type, the current process_id (making it easy to determine the instance you see in perfmon or task manager on a machine with multiple instances), the account the service is running under, and whether the service is clustered (which is returned as an nvarchar(1), for some strange reason). Like the new registry DMV, you can now get to this information programmatically and a whole lot easier than you could do in previous versions. Here is an example from my system, which is only currently running SQL Server and SQL Server Agent (I truncated some column names to get the image to fit into this post):&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;servicename&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[startup] =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;startup_type_desc&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[status] =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;status_desc&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;pid =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;process_id&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;last_startup_time&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;service_account&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[clus] = is_clustered&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="green"&gt;sys.dm_server_services;&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;Results:&lt;/p&gt;

&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/r2sp1_sysa.png" border="1" height="57" width="721"&gt;&lt;br&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;


&lt;blockquote&gt;
&lt;p&gt;There are two things to note about last_startup_time for the core SQL Server service: (1) it is exposed as a datetimeoffset data type, so it includes offset information from UTC, and (2) it may be a second or two off from the sqlserver_start_time value in sys.dm_os_sys_info. I don't have an explanation for the latter, but I did complain about both the missing Agent startup time and the odd data type choices in this DMV (this is not the only questionable data type choice in this DMV's output):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/664557/sys-dm-server-services-last-startup-time-is-always-null-for-sql-agent" title="http://connect.microsoft.com/SQLServer/feedback/details/664557/sys-dm-server-services-last-startup-time-is-always-null-for-sql-agent" target="_blank"&gt;#664557 : sys.dm_server_services.last_startup_time is always NULL for SQL Agent&lt;/a&gt; &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/664559/odd-data-type-choices-in-sys-dm-server-services" title="http://connect.microsoft.com/SQLServer/feedback/details/664559/odd-data-type-choices-in-sys-dm-server-services" target="_blank"&gt;#664559 : Odd data type choices in sys.dm_server_services&lt;/a&gt; &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali.&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.dm_exec_query_stats&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I talked about this DMV in &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2011/04/22/sql-server-2008-r2-sp1-ctp-is-now-available.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2011/04/22/sql-server-2008-r2-sp1-ctp-is-now-available.aspx" target="_blank"&gt;my previous post&lt;/a&gt;; it is not a new DMV, but it gets some shiny new columns. Essentially, there are four new columns showing row count statistics for each query exposed by the view: total_rows, last_rows, min_rows and max_rows. This enhances the information you have about each query if you are want to know if it has returned a vastly different number of rows over time.&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* Not yet in Denali.&lt;/i&gt;&lt;/font&gt; &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;sys.dm_os_sys_info&lt;/b&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This DMV is also not new, but it has a couple of new columns dedicated to virtualization, so you can tell programmatically, for example, if the SQL Server instance is on a virtualized or physical host. The new columns are virtual_machine_type and virtual_machine_type_desc. I don't have a full mapping of the possible values yet; since I only have 2008 R2 running on virtual machines, I can only show you the values in that situation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT &lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;virtual_machine_type&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;virtual_machine_type_desc&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="green"&gt;sys.dm_os_sys_info;&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/blockquote&gt;

&lt;p&gt;Results:&lt;/p&gt;

&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/r2sp1_sys.png" border="1" height="37" width="299"&gt;&lt;br&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that the machines where I ran these queries are running on Windows 7 virtual machines under VMWare Fusion, so don't always believe that "HYPERVISOR" means Hyper-V explicitly.&lt;/p&gt;

&lt;p&gt;Also note: the current Denali BOL documentation for "&lt;a href="http://64.4.11.252/en-us/library/ms143179%28SQL.110%29.aspx" title="http://64.4.11.252/en-us/library/ms143179%28SQL.110%29.aspx" target="_blank"&gt;Breaking Changes to Database Engine Features&lt;/a&gt;" incorrectly states that these columns were removed.&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* This DMV is the only one on this page that has already been added/changed in current builds of Denali (CTP1).&lt;/i&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt;&lt;b&gt;Extended Events&lt;/b&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Some new xevents were added in SP1 as well. I'm sure Jonathan Kehayias (&lt;a href="http://www.sqlskills.com/blogs/jonathan/" title="http://www.sqlskills.com/blogs/jonathan/" target="_blank"&gt;blog&lt;/a&gt; | &lt;a href="http://twitter.com/SQLPoolBoy" title="http://twitter.com/SQLPoolBoy" target="_blank"&gt;twitter&lt;/a&gt;) will talk more about them soon enough, but I can at least identify them - by joining a couple of XE views on the local, SP1 server to a linked server running 2008 R2 RTM: &lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;l.name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;l.map_value&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font color="green"&gt;dm_xe_map_values &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;l&lt;br&gt;&lt;/font&gt;&lt;font color="magenta"&gt;LEFT &lt;/font&gt;&lt;font color="gray"&gt;OUTER &lt;/font&gt;&lt;font color="blue"&gt;JOIN&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[GREENLANTERN\SQL2008R2RTM].[master]&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font color="green"&gt;dm_xe_map_values &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;r&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="blue"&gt;ON &lt;/font&gt;&lt;font color="black"&gt;l.name =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;r.name&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="gray"&gt;AND &lt;/font&gt;&lt;font color="black"&gt;l.map_key =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;r.map_key&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;WHERE&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;r.name &lt;/font&gt;&lt;font color="blue"&gt;IS &lt;/font&gt;&lt;font color="gray"&gt;NULL;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;l.name&lt;/font&gt;&lt;font color="gray"&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;l.description&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;FROM&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font color="green"&gt;dm_xe_objects &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;l&lt;br&gt;&lt;/font&gt;&lt;font color="magenta"&gt;LEFT &lt;/font&gt;&lt;font color="gray"&gt;OUTER &lt;/font&gt;&lt;font color="blue"&gt;JOIN&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;[GREENLANTERN\SQL2008R2RTM].[master]&lt;/font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;font color="green"&gt;sys&lt;/font&gt;&lt;font&gt;&lt;font color="black"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font color="green"&gt;dm_xe_objects &lt;/font&gt;&lt;font color="blue"&gt;AS &lt;/font&gt;&lt;font color="black"&gt;r&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="blue"&gt;ON &lt;/font&gt;&lt;font color="black"&gt;l.name =&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="black"&gt;r.name&lt;br&gt;&lt;/font&gt;&lt;font color="blue"&gt;WHERE&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;r.name &lt;/font&gt;&lt;font color="blue"&gt;IS &lt;/font&gt;&lt;font color="gray"&gt;NULL;&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;/blockquote&gt;&lt;p&gt;Results:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/04/screen-shot-2011-04-25-at-9-55-45-am.png" border="1" height="218" width="657"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;* These are partially in Denali CTP1. Well, the first two rows in the first resultset, at least.&lt;/i&gt;&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br&gt;&lt;b&gt;Reference queries&lt;/b&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;For reference, you can see the queries I used here to perform this Sherlock Holmes-esque work against the DMVs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I talked about how to &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2010/11/29/sql-server-v-next-denali-new-changed-and-removed-system-objects.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2010/11/29/sql-server-v-next-denali-new-changed-and-removed-system-objects.aspx" target="_blank"&gt;find new DMVs and other system objects&lt;/a&gt; in November 2010.&lt;/li&gt;

&lt;li&gt;I talked about how to &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2009/08/11/new-columns-in-sql-server-2008-r2-dmvs.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2009/08/11/new-columns-in-sql-server-2008-r2-dmvs.aspx" target="_blank"&gt;find new and changed DMV columns&lt;/a&gt; in August 2009.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;&lt;br&gt;Download&lt;/b&gt; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;SP1 CTP for "normal" SKUs (and also a stand-alone download for upgrading client tools only):&lt;br&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd200f8e-ba8a-45e3-af59-e28a9e2d17df" title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd200f8e-ba8a-45e3-af59-e28a9e2d17df" target="_blank"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd200f8e-ba8a-45e3-af59-e28a9e2d17df&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;SP1 CTP for the various Express Editions (Express, Express with Tools, Express with Advanced Services):&lt;br&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e70a4b51-53be-48d3-8030-80dc9e755be3" title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e70a4b51-53be-48d3-8030-80dc9e755be3" target="_blank"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e70a4b51-53be-48d3-8030-80dc9e755be3&lt;/a&gt; &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;SP1 CTP Feature Packs (please don't ask me what all of these files are, but &lt;a href="http://koprowskit.eu/geek/2011/04/en-sql-server-2008-r2-sp1-ctp-14-feature-packs-are-available/" title="http://koprowskit.eu/geek/2011/04/en-sql-server-2008-r2-sp1-ctp-14-feature-packs-are-available/" target="_blank"&gt;someone else did a pretty good job&lt;/a&gt;):&lt;br&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=15dcfec2-abb8-409d-91ff-c7c8e18c8409" title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=15dcfec2-abb8-409d-91ff-c7c8e18c8409" target="_blank"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=15dcfec2-abb8-409d-91ff-c7c8e18c8409&lt;/a&gt; &lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br&gt;&lt;b&gt;Summary&lt;/b&gt; &lt;br&gt;&lt;/p&gt;

&lt;p&gt;I'm still torn about features being added in service packs, but if you're on this platform, clearly there are some changes that you might be able to take advantage of once the Service Pack 1 is officially RTM. And I have every reason to believe that these changes will be ported to Denali, probably by the time you see the next CTP.&lt;/p&gt;
&lt;p&gt;Please remember, though, that this service pack is not going to include fixes from &lt;a href="http://support.microsoft.com/kb/2507770" title="http://support.microsoft.com/kb/2507770" target="_blank"&gt;cumulative update #7 for SQL Server 2008 R2&lt;/a&gt;, so if you're relying on those fixes, don't install this service pack - it will undo those changes. Also don't install the service pack CTP if you think you might be interested in cumulative update #8, since it will be problematic to downgrade to that CU once the service pack is installed (even the CTP). And who knows when the service pack will be officially released (never mind the subsequent CU that will get it "caught up" with the current branch of RTM fixes).&lt;/p&gt;&lt;p&gt;Also, please remember that DMV data does not persist through a service 
restart. So, while some of these queries will yield relatively static 
results (such as those that talk about the operating system or that dig 
information out of the registry), things like the rowcount values added 
to sys.dm_exec_query_stats are only valid since the time the service was
 started. &lt;br&gt;&lt;/p&gt;
&lt;p&gt;And finally, please don't try, and please don't ask; you cannot install this service pack on SQL Server 2008. This is ONLY for the SQL Server 2008 R2 release. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;</description></item><item><title>Downgrading a database : &amp;quot;You can't get there from here!&amp;quot;</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2011/01/21/downgrading-a-database-you-can-t-get-there-from-here.aspx</link><pubDate>Fri, 21 Jan 2011 23:45:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32831</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;I see this question a lot: "I have a SQL Server 2008 R2 database.&amp;nbsp; Can I attach it to a SQL Server 2008 SP2 instance?"&lt;/p&gt;
&lt;p&gt;Part of this stems from the confusion over exactly what 2008 R2 is in the first place.&amp;nbsp; It is not a service pack to SQL Server 2008; it is its own, full-fledged version.&amp;nbsp; A lot of people don't fully realize this because of various reasons, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;they're on software assurance, so the upgrade to 2008 R2 was covered by their 2008 licenses, and they therefore didn't really realize it was a full version;&lt;/li&gt;
&lt;li&gt;they're not running 2008 R2 in production, but they do have it in development, and didn't notice the @@VERSION change; or,&lt;/li&gt;
&lt;li&gt;they're confused by the horrible naming choice.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But to answer the question: No, you cannot backup/restore or detach/attach a SQL Server 2008 R2 database to any previous version, nor can you log ship or mirror in that direction.&amp;nbsp; That is also true in going from Denali to 2008 R2/2008/2005, or from 2008 to 2005, or anything from the last 6 years to 2000 - you just can't do it.&amp;nbsp; A lot of people expect to be able to just set the compatibility level lower, however that is not the answer.&amp;nbsp; It is the database version and the internal file/page structures that matter here; compatibility level just tells the parser and engine how to handle certain features.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;What About Same Version, Lower Service Pack?&lt;/font&gt; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;Well, I should have known this question would come up too.&amp;nbsp; Let's say you are building your database in SQL Server 2008 SP2 and you are ready to deploy it to production, but production is still at SP1.&amp;nbsp; You want to get the code to production but the cycle to introduce SP2 there is far too long.&amp;nbsp; (Now, of course, and with the understanding that hardware equivalency is
 tougher, there should be a QA environment that matches production 
exactly in terms of software / configuration / version.&amp;nbsp; So it shouldn't
 be going from dev to production in this manner, but I understand this 
is the reality for many people.)&lt;/p&gt;
&lt;p&gt;That aside, can you do it?&amp;nbsp; Yes.&amp;nbsp; I set out to prove this.&amp;nbsp; In a VM I laid down three instances of SQL Server 2008: one at RTM, one at SP1, and one at SP2.&amp;nbsp; I created two databases in SP2: SP2DB, and SP2DB_15K.&amp;nbsp; I created one database in SP1: SP1DB. I then took backups of SP1DB and SP2DB, and tried restoring them on the RTM instance.&amp;nbsp; This worked fine and I was able to access the databases. &lt;br&gt;&lt;/p&gt;
&lt;p&gt;On the SP2 instance, I ran the following command, to enable 15K partitions for the SP2DB_15K database:&lt;/p&gt;

&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;&lt;font color="blue"&gt;EXEC&lt;/font&gt; dbo.sp_db_increased_partitions &lt;font color="red"&gt;'SP2DB_15K'&lt;font color="gray"&gt;,&lt;/font&gt; 'ON'&lt;font color="gray"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;GO&lt;/font&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/blockquote&gt; 



&lt;p&gt;Then I backed up the database and tried to restore it on the RTM instance.&amp;nbsp; I received the following error:&lt;/p&gt;


&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;color:red;"&gt;Msg 3169, Level 16, State 1, Line 1&lt;br&gt;The database was backed up on a server running version 10.00.4000. That version is incompatible with this server, which is running version 10.00.1600. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.&lt;br&gt;Msg 3013, Level 16, State 1, Line 1&lt;br&gt;RESTORE DATABASE is terminating abnormally.&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/blockquote&gt; 


&lt;p&gt;If I tried to restore it on the SP1 instance, I received an almost identical error (predictably, the only thing that changes is the version string):&lt;/p&gt;



&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;color:red;"&gt;Msg 3169, Level 16, State 1, Line 2&lt;br&gt;The database was backed up on a server running version 10.00.4000. That version is incompatible with this server, which is running version 10.00.2531. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.&lt;br&gt;Msg 3013, Level 16, State 1, Line 2&lt;br&gt;RESTORE DATABASE is terminating abnormally.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/blockquote&gt; 



&lt;p&gt;So, this exception aside, the answer is, yes, at least in SQL Server 2008, you can take a backup or detached database and restore it on an earlier service pack or RTM.&amp;nbsp; Will this always be true?&amp;nbsp; It's tough to say.&amp;nbsp; Denali SP1 may introduce some change to the internal structure or database version, optional or otherwise, that will prevent it from being restored on RTM, just like our exception above.&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;Going Forward Always Works, Right?&lt;/font&gt; &lt;br&gt;&lt;/p&gt;
&lt;p&gt;As for the other direction, it is usually fine to backup/restore, detach/attach, log ship or mirror from an older version to a newer version; however, there are exceptions.&amp;nbsp; For example, Denali does not support the 80 compatibility level, so restoring or attaching a SQL Server 2000 database on a Denali instance is out of the question (I &lt;a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2010/11/18/sql-server-v-next-denali-restoring-a-sql-server-2000-database.aspx" title="http://sqlblog.com/blogs/aaron_bertrand/archive/2010/11/18/sql-server-v-next-denali-restoring-a-sql-server-2000-database.aspx" target="_blank"&gt;blogged about this here in November&lt;/a&gt;).&amp;nbsp; Another example is with SQL Server 2008 SP2 - if you have enabled support for 15,000 partitions, the internal database version is upgraded to 662, and you cannot then migrate to SQL Server 2008 R2 because R2 does not understand that version (it is expecting 661) - in this case you will have to wait until 2008 R2 SP1, when support for 15K partitions is added and the database versions will once again have an upgrade path.&amp;nbsp; Here is what happens when I try to restore the SP2DB_15K database on an R2 instance:&lt;/p&gt;


&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;color:red;"&gt;Msg 3169, Level 16, State 1, Line 1&lt;br&gt;The database was backed up on a server running version 10.00.4000. That version is incompatible with this server, which is running version 10.50.1746. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.&lt;br&gt;Msg 3013, Level 16, State 1, Line 1&lt;br&gt;RESTORE DATABASE is terminating abnormally.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/blockquote&gt; 


&lt;p&gt;(Note that this doesn't happen with the SP2DB database, which did not have 15K partitions enabled.) &lt;br&gt;&lt;/p&gt;
&lt;p&gt;It does work on Denali, however; here is what happens when I restore the SP2DB_15K database on a Denali CTP1 instance:&lt;/p&gt;


&lt;blockquote&gt;
&lt;table bgcolor="#eeeeee" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div style="padding:10px 20px;font-size:12px;font-family:consolas,lucida console,courier new,courier;-moz-background-inline-policy:continuous;"&gt;Processed 160 pages for database 'SP2DB_15K', file 'SP2DB_15K' on file 1.&lt;br&gt;Processed 2 pages for database 'SP2DB_15K', file 'SP2DB_15K_log' on file 1.&lt;br&gt;Converting database 'SP2DB_15K' from version 662 to the current version 684.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 662 to version 668.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 668 to version 669.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 669 to version 670.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 670 to version 671.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 671 to version 672.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 672 to version 673.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 673 to version 674.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 674 to version 675.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 675 to version 676.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 676 to version 677.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 677 to version 678.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 678 to version 679.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 679 to version 680.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 680 to version 681.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 681 to version 682.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 682 to version 683.&lt;br&gt;Database 'SP2DB_15K' running the upgrade step from version 683 to version 684.&lt;br&gt;RESTORE DATABASE successfully processed 162 pages in 0.021 seconds (60.174 MB/sec).
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/blockquote&gt; &lt;p&gt;And the messaging is similar for the other databases from the 2008 instance, except their version starts at 661 instead of 662.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;But I'm Still Stuck!&lt;br&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;So, you have a database that has been upgraded to 2008 R2 and you need to get it back onto 2008 or 2005?&amp;nbsp; There is no straight path for this scenario; it's kind of like &lt;a href="http://www.cartogrammar.com/blog/you-cant-get-there-from-here/" title="http://www.cartogrammar.com/blog/you-cant-get-there-from-here/" target="_blank"&gt;driving in Boston&lt;/a&gt;.&amp;nbsp; Assuming you aren't using any features that are exclusive to the newer version (and that you can suspend activity against the newer database temporarily), you can use a schema comparison tool like &lt;a href="http://www.red-gate.com/products/sql-development/sql-compare/" title="http://www.red-gate.com/products/sql-development/sql-compare/" target="_blank"&gt;Red Gate's SQL Compare&lt;/a&gt;, to build the modules and schema in an empty database on the older version, then use &lt;a href="http://msdn.microsoft.com/en-us/library/bb522535.aspx" title="http://msdn.microsoft.com/en-us/library/bb522535.aspx" target="_blank"&gt;Integration Services&lt;/a&gt; to migrate the data.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Blogging from the PASS Keynote : 2009-11-05</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2009/11/05/blogging-from-the-pass-keynote-2009-11-05.aspx</link><pubDate>Thu, 05 Nov 2009 17:24:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18568</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Bill Graziano took the stage and promised us the shortest keynote yet.&amp;nbsp; He started by giving thanks to outgoing board members Greg Low, Pat Wright and Kevin Kline.&amp;nbsp; Wayne Snyder took over and gave an emotional homage to Kevin, who gave 10 solid years to PASS.&amp;nbsp; Very touching.&amp;nbsp; Kevin left the stage to a standing ovation.&lt;/p&gt;&lt;p&gt;Introduced Brian Moran, Jeremiah Peschka and Thomas LaRock as the new Directors-at-Large, and Rushabh Mehta as the new President.&amp;nbsp; Reaffirmed commitment to the community, and announced the PASS European Conference in Neuss, Germany, April 21-23, 2010.&amp;nbsp; The North American summit is already scheduled for November 8-11, 2010, again in Seattle.&amp;nbsp; (And if you &lt;a href="http://www.sqlpass.org/summit/na2010" title="http://www.sqlpass.org/summit/na2010" target="_blank"&gt;register early enough&lt;/a&gt;, you can get in for $995.)&amp;nbsp; A lot of people who live in different time zones have expressed the desire to move the conference around, but I agree with Bill; having the conference this close to Microsoft provides enough benefit to offset the impact on travel.&amp;nbsp; That's my opinion, of course. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;b&gt;Patrick Ortiz, Infrastructure Consulting Services, Dell&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Patrick came on and talked about the structure of Dell's operations involving Microsoft architecture (Exchange, SQL Server, SharePoint, etc.).&amp;nbsp; Then he jumped into how they approach the combination of consolidation, disaster recovery, and configuration management.&amp;nbsp; Apologies to Patrick, but there wasn't really anything exciting about his presentation; it seemed more that it should have been an elective session as opposed to a keynote for everyone in attendance.&amp;nbsp; But I guess you get this privilege when you are such a big supporting vendor, and I do hope we collectively appreciate that.&amp;nbsp; Okay, about halfway through, he did have one funny line about typical disaster recovery behavior, which seemed to wake up about 10% of the audience.&amp;nbsp; But this didn't redeem the segment; sorry.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;b&gt;David DeWitt, Data and Storage Platform Division, Microsoft&lt;/b&gt;&lt;/p&gt;&lt;p&gt;David came on and made some funny comments about past incidents on stage, including the 192-core server that seemed like it was going to catch on fire when the fans kicked in.&amp;nbsp; David runs the Jim Gray Systems Lab in Madison, WI.&amp;nbsp; He is working on SQL Server Parallel Data Warehouse (or, as David would like to name it, SQL*).&amp;nbsp; He promises to overwhelm us with technical details as opposed to making a marketing-ish presentation.&lt;/p&gt;&lt;p&gt;He compared how things have changed since 1980, including a 1,000X improvement in CPU cache, memory capacity, and CPU performance, and 10,000X increase in storage capacity.&amp;nbsp; Whereas transfer times have only improved 65X, and seek times have only improved 10X.&amp;nbsp; Seems funny that we are worried about getting 32-, 64-, 192-core machines when the disk performance simply can't scale to keep those CPUs busy.&amp;nbsp; In fact when he measures transfer bandwidth per byte of storage, drives are actually 150X slower today compared to 1980, in relative terms.&amp;nbsp; In 1980, the ratio of perf from Sequential : Random is 5 : 1.&amp;nbsp; Today, it is 33 : 1.&amp;nbsp; Meaning we have to focus on sequential reads and move the disk heads as little as possible.&amp;nbsp; He also explained that as much as 50% of the time, the CPUs is sitting there, waiting for the memory to deliver something into its L2 caches.&lt;/p&gt;&lt;p&gt;David's idea about improving the storage bottleneck problem is to use column-wise storage instead of row-wise.&amp;nbsp; Essentially, imagine storing all the values for each column, instead of each row, on common pages. The example showed how you could store ~2,000 values for a BalanceDue column (INT) on a single page, as opposed to the page being crowded by the other columns, and therefore being able to store far fewer rows on each page.&amp;nbsp; (You still have to worry about the I/O for the other column values you want to retrieve; however a subset of columns will be faster in this model. SELECT * will never be faster, of course.&amp;nbsp; But we usually don't want SELECT *, right?)&amp;nbsp; This is a really interesting concept, and at its core it is quite simple, but implementation in existing architectures is far from trivial.&lt;/p&gt;&lt;p&gt;Since disk capacities have gotten 10,000X better, you can store redundant copies using different sort orders.&amp;nbsp; Especially because with columnar storage, you can compress very well, leading to great reductions in storage requirements - leaving plenty of free space that will otherwise go to waste.&amp;nbsp; By using run length encoding compression - in a certain sort order, you only need to store the offsets of contiguous rows that .&amp;nbsp; Bit-vector encoding and dictionary encoding can be combined with run length encoding to achieve really fantastic compression rates; David's research yields improvements from 3X to 10X over row store.&lt;/p&gt;&lt;p&gt;Compression makes a lot of sense in this case because (remember) CPU is
1,000X faster than it used to be, and disk is only 65X.&amp;nbsp; So any time we
can trade CPU cycles in exchange for less I/O, we should do it.&amp;nbsp;
Basically we are striving to move the majority of the work to thecomponent(s) of the system that have improved the most over time (and continue to do so). &lt;/p&gt;&lt;p&gt;He explained the difference between early materialization and late materialization (where materialization is the process of turning the columns into rows) - queries with joins should use early materialization because they need to process against the whole table; queries without joins can use later materialization which again pushes the materialization work to CPU.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Updates are the big problem here... you have these very tightly packed columns, so you store deltas (which the queries must observe) and occasionally rebuild.&amp;nbsp; Not suitable for OLTP or cases where reads occur against more than half of the columns of a table.&lt;/p&gt;&lt;p&gt;Microsoft is shipping VertiPaq, an in-memory column store, in SQL Server 2008 R2.&amp;nbsp; So the hint is that there is definitely some work in this area underway for SQL11.&lt;br&gt;&lt;/p&gt;&lt;p&gt;My mind is starting to hurt, but there are some very cool ideas here.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Note that throughout David's time on stage, Twitter was still abuzz with complaining about the Dell portion of the keynote.&amp;nbsp; My favorite was from Steve Jones: &lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;"&lt;a href="http://twitter.com/way0utwest/status/5454983312" title="http://twitter.com/way0utwest/status/5454983312" target="_blank"&gt;@BrentO&lt;/a&gt;&lt;a href="http://twitter.com/way0utwest/status/5454983312" title="http://twitter.com/way0utwest/status/5454983312" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://twitter.com/way0utwest/status/5454983312" title="http://twitter.com/way0utwest/status/5454983312" target="_blank"&gt; Somebody tell the Dell guy PASS is in Orlando next year.&lt;/a&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Wayne came on stage and announced that the keynote will be available on the DVDs.&amp;nbsp; Just one more reason the $125 will be worth every penny. &lt;br&gt;&lt;/p&gt;</description></item></channel></rss>