<?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 tag 'Visual Studio'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=Visual+Studio&amp;orTags=0</link><description>Search results matching tag 'Visual Studio'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Connected development in SSDT versus SSMS</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2013/03/19/connected-development-in-ssdt-versus-ssms.aspx</link><pubDate>Tue, 19 Mar 2013 16:28:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:48314</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;When you install the database projects template of SSDT you get SQL Server Object Explorer (SSOX) installed as well. SSOX is a pane within Visual Studio and is the main enabler of the Connected Development experience that the SSDT team have attempted to provide.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/SNAGHTML15dc3f62_18DB391E.png"&gt;&lt;img title="SNAGHTML15dc3f62" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="SNAGHTML15dc3f62" width="335" height="118" src="http://sqlblog.com/blogs/jamie_thomson/SNAGHTML15dc3f62_thumb_0C6D15F5.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;SSOX provides some really cool capabilities that are not in SQL Server Management Studio (I hope to blog about them in the near future). In theory these capabilities make it possible for a database developer to spend all their time in SSDT (i.e. Visual Studio) thus making SSMS a pureplay DBA tool (this does of course depend on your definition of both a database developer and a DBA, but I’m not getting into that debate here).&lt;/p&gt;  &lt;p&gt;With that in mind I have spent a few days trying to work without SSMS, preferring to live wholly inside Visual Studio instead. By and large I was able to do everything I needed to do from within Visual Studio however there were a few nuances about the experience that kept pushing me back to SSMS, I detail those nuances below.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;hr&gt;  &lt;h3&gt;Server groups&lt;/h3&gt;  &lt;p&gt;SSOX combines the functions of SSMS’s Object Explorer and Registered Servers pane. I don’t mind either way of working but it does mean that there is no ability to group servers in SSOX like you can in the Registered Servers pane&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_568820DA.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" width="244" height="97" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_4E907E78.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0977B142.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" width="244" height="230" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_6C8E8C6C.png"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;F6&lt;/h3&gt;  &lt;p&gt;In SSMS I regularly use the F6 keyboard shortcut to jump between the query, results &amp;amp; messages panes of a query window. No such keyboard shortcut exists in SSDT and they’ve already canned &lt;a target="_blank" href="https://connect.microsoft.com/sqlserver/feedback/details/780990/ssdt-f6-to-move-between-panes-in-a-query-window#tabs"&gt;my request on Connect to get this fixed&lt;/a&gt; (even though it laughably has status “closed as fixed”).&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;i&gt;UPDATE: See the comments below where Brett Gerhardi informed me of a different keyboard shortcut that does the same thing as F6. Actually its not quite the same, if you have multiple resultsets in your results pane then the behaviour is slightly different to F6 in SSMS - but that's not an issue you'll hot frequently.&lt;/i&gt;&lt;/p&gt;  &lt;h3&gt;Change Connection&lt;/h3&gt;  &lt;p&gt;The context menu in SSMS provides the ability to change a connection as well as connect and disconnect:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_72693005.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" width="546" height="115" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_11ABD6D9.png"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;SSDT doesn’t have change connection and believe me, you don’t know how much you use a feature until its not there:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_09B43477.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" width="438" height="58" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_28F6DB4A.png"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There’s also no hotkey to jump to “Connection” on the context menu like there is in SSMS (“C”) and I find that annoying too.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;hr&gt;Those were the main annoyances that forced me back to SSMS. The lack of F6 was a major bugbear for me as I am a big keyboard shortcut junkie. If such things don’t bother you then you may be able to live in Visual Studio quite happily. If you have any similar experiences to share I’d be keen to read them.&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Undoing a change will now undo a check-out in Visual Studio 2012</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2013/01/26/undoing-a-change-will-now-undo-a-check-out-in-visual-studio-2012.aspx</link><pubDate>Sat, 26 Jan 2013 22:41:12 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:47327</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;In my blog post &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/10/18/sql-server-devs-what-source-control-system-do-you-use-if-any-answer-and-maybe-win-free-stuff.aspx" target="_blank"&gt;SQL Server devs–what source control system do you use, if any? (answer and maybe win free stuff)&lt;/a&gt; of 18th October 2012 I complained about one aspect of Source Control in Team Foundation Server (TFS) that infuriates me:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;…there are aspects to TFS source control that annoy me day-in, day-out. Chief among them has to be the fact that it uses a file’s read-only property to determine if a file should be checked-out or not and, if it determines that it should, it will happily do that check-out on your behalf without you even asking it to. I didn’t realise how ridiculous this was until I first used SVN about three years ago – with SVN you make any changes you wish and then use your source control client to determine which files have changed and thus be checked-in; the notion of “check-out” doesn’t even exist. That sounds like a small thing but you don’t realise how liberating it is until you actually start working that way.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This evening I have been noodling around in Visual Studio 2012 and noticed that this behaviour has changed, as I shall now demonstrate. I opened an XML file (an &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2012/05/09/publish-profile-files-in-sql-server-data-tools-ssdt.aspx" target="_blank"&gt;SSDT Publish Profile file&lt;/a&gt; as it happens) that was checked into TFS Source Control:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_49480522.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_7922A6E3.png" width="785" height="187" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I made a change to the file and instantly it got checked-out:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_2C7E6A40.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_156FE904.png" width="799" height="196" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I then simply hit CTRL+Z to reverse the change I had made earlier and CTRL+S to save. At that instant the earlier check-out was reversed:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_6F99C2A0.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_2693A0DA.png" width="803" height="220" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Finally…TFS Source Control now determines whether any changes have actually occurred before considering the file “checked-out”. I know this seems like a really minor change but I promise you, it delights me – especially given I use TFS so much (not through choice I might add).&lt;/p&gt;  &lt;p&gt;Perhaps this new behaviour is common knowledge in the TFS fraternity but it was news to me so I figure it might be news to some of you too. Hopefully I’m not the only one that is suitably enamoured upon learning about it.&lt;/p&gt;  &lt;p&gt;Note that I am using Visual Studio 2012 and &lt;a href="http://tfs.visualstudio.com/" target="_blank"&gt;Team Foundation Service&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Highlight Word add-in for Visual Studio 2010 [SSDT]</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2012/09/19/highlight-word-add-in-for-visual-studio-2010-ssdt.aspx</link><pubDate>Wed, 19 Sep 2012 11:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45272</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;I’ve just been alerted by my colleague Kyle Harvie to a Visual Studio 2010 add-in that should prove very useful if you are an SSDT user. Its simply called &lt;a target="_blank" href="http://visualstudiogallery.msdn.microsoft.com/4b92b6ad-f563-4705-8f7b-7f85ba3cc6bb/"&gt;Highlight all occurrences of selected word&lt;/a&gt; and does exactly what it says on the tin, you highlight a word and it shows all other occurrences of that word in your script:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_07C7270D.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" width="623" height="263" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_332B4807.png"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;There’s a limitation for .sql files (&lt;a target="_blank" href="http://visualstudiogallery.msdn.microsoft.com/4b92b6ad-f563-4705-8f7b-7f85ba3cc6bb/view/Reviews"&gt;which I have reported&lt;/a&gt;) where the highlighting doesn’t work if the word is wrapped in square brackets but what the heck, its free, it takes about ten seconds to install….install it already!&lt;/p&gt;  &lt;p&gt;&lt;a target="_blank" href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>DAX editor for SQL Server</title><link>http://sqlblog.com/blogs/davide_mauri/archive/2011/11/23/dax-editor-for-sql-server.aspx</link><pubDate>Wed, 23 Nov 2011 06:58:10 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:39948</guid><dc:creator>manowar</dc:creator><description>&lt;p&gt;One of the major criticism to DAX is the lack of a decent editor and more in general of a dedicated IDE, like the one we have for T-SQL or MDX.&lt;/p&gt;  &lt;p&gt;Well, this is no more true. On Codeplex a very interesting an promising Visual Studio 2010 extension has been released by the beginning of November 2011:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://daxeditor.codeplex.com/" href="http://daxeditor.codeplex.com/"&gt;http://daxeditor.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Intellisense, Syntax Highlighting and all the typical features offered by Visual Studio are available also for DAX.&lt;/p&gt;  &lt;p&gt;Right now you have to download the source code and compile it, and that’s it!&lt;/p&gt;</description></item><item><title>SQL Server 2012 : The Data Tools installer is now available</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2011/11/21/sql-server-2012-the-data-tools-installer-is-now-available.aspx</link><pubDate>Mon, 21 Nov 2011 15:18:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:39908</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Last week when RC0 was released, the updated installer for "Juneau" (SQL Server Data Tools) was not available. Depending on how you tried to get it, you either ended up on a blank search page, or a page offering the CTP3 bits. Important note: the CTP3 Juneau bits are not compatible with SQL Server 2012 RC0.&lt;/p&gt;&lt;p&gt;If you already have Visual Studio 2010 installed (meaning Standard/Pro/Premium/Ultimate), you will need to install &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=23691" title="http://www.microsoft.com/download/en/details.aspx?id=23691" target="_blank"&gt;Service Pack 1&lt;/a&gt; before continuing. You can get to the installer simply by opening Visual Studio, going to File &amp;gt; New &amp;gt; Project, and then choose the option "SQL Server" that appears under the "Other Languages" category (not the "SQL Server" option that appears under the "Database" category):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/rc0_juneau_1.png" height="454" width="704"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;When you click OK, you will get another dialog that prompts you to install SQL Server Data Tools:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/rc0_juneau_2.png" height="260" width="476"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;When you click Install, your web browser will be launched on the &lt;a href="http://msdn.microsoft.com/en-us/data/hh297027" title="http://msdn.microsoft.com/en-us/data/hh297027" target="_blank"&gt;Data Tools "Get Started" page&lt;/a&gt;. There you will see a link to "Download SQL Server Data Tools" which will launch or download SSDTSetup.exe:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/rc0_juneau_3.png" height="182" width="669"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;At this point I would close Visual Studio 2010, because you'll probably be prompted to close it anyway. &lt;/p&gt;&lt;p&gt;As usual you'll be prompted with a security warning:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_4.png" height="294" width="413"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Next you'll need to agree to the lengthy license terms and conditions:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_5.png" height="549" width="789"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Next it will download LoaclDB (the new dev/Express runtime) and install. For me on multiple installs the Installation Progress bar held at 99% for a noticeable amount of time:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_6.png" height="550" width="789"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;With a little bit of luck you should end up at the "Success" screen:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_7.png" height="549" width="789"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Now you can open Visual Studio directly (or from the "SQL Server Data Tools" menu item under All Programs &amp;gt; Microsoft SQL Server 2012 RC0. Choose File &amp;gt; New &amp;gt; Project and again choose "SQL Server" under "Other Languages." The option depicted above has changed to "SQL Server Database Project":&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_9.png" height="453" width="705"&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt; Click OK. You will find a Toolbox and a familiar Object Explorer on the left, where you can easily create new objects:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_8.png" height="359" width="343"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;And now you can go to town developing your project. I haven't tried upgrading a project from CTP3 or from a previous version of "Data Dude." You're on your own there, sorry. &lt;br&gt;&lt;/p&gt;&lt;p&gt;As an aside the "other" SQL Server option under "Database" contains all the old project types that you may not want to use anymore. I hope they straighten this out and consolidate by RTM:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/11/juneau_10.png"&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;If you already had Juneau CTP3 installed, you should be able to install SQL Server Data Tools CTP4 as an upgrade by simply downloading the updated SSDTSetup.exe from the &lt;a href="http://msdn.microsoft.com/en-us/data/hh297027" title="http://msdn.microsoft.com/en-us/data/hh297027" target="_blank"&gt;"Get Started" page&lt;/a&gt;. You may still need to install Visual Studio 2010 Service Pack 1 prior to doing so. For what it's worth, I completely removed SQL Server 2012 CTP3 and Juneau CTP3 before attempting to install the updated bits. If you try an upgrade and come across any issues, please let me know. &lt;br&gt;&lt;/p&gt;&lt;p&gt;You may be wondering why the versioning seems out of cadence - SQL Server is at RC0 while Juneau is at CTP4. This is because SQL Server is feature complete and an upgrade to RTM will now be supported. Juneau is not quite complete (there are still some pending changes before RTM); the naming remains CTP so that folks do not get the impression that an upgrade to RTM will be supported.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Confirmed: Juneau is in the next version of Visual Studio</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2011/09/20/confirmed-juneau-is-in-the-next-version-of-visual-studio.aspx</link><pubDate>Tue, 20 Sep 2011 21:32:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:38615</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;Its no great secret that Juneau, a collection of features in the forthcoming SQL Server codenamed Denali, will be in the next version of Visual Studio but its nice to have it confirmed all the same. I have installed the first publicly available drop of that next version (known as Visual Studio 11 Developer Preview, download from &lt;a href="http://msdn.microsoft.com/en-us/windows/hardware/hh454873" target="_blank"&gt;here&lt;/a&gt;) that was released at last week's &lt;a href="http://www.buildwindows.com/" target="_blank"&gt;BUILD &lt;/a&gt;event and sure enough the Juneau stuff is right there. Here’s some screenshots:&lt;/p&gt;  &lt;p&gt;Note the presence of Juneau in the About dialog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_1526A594.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_7DABF162.png" title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" alt="image" border="0" width="542" height="382"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here’s the new Juneau table designer:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_50B68E87.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_4FDE289D.png" title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" alt="image" border="0" width="544" height="324"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;OK, so this isn’t really news (unless you didn’t already know about it) however what &lt;i&gt;is &lt;/i&gt;of interest is that this is the Express Edition of Visual Studio. This bodes well for full release – Juneau needs to be available to as many folks as possible which means not making it exclusive to the Ultimate Edition.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SQL Server v.Next (Denali) : Putting Juneau CTP3 over Juneau CTP2</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2011/07/14/sql-server-v-next-denali-putting-juneau-ctp3-over-juneau-ctp2.aspx</link><pubDate>Thu, 14 Jul 2011 22:04:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36953</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;Okay, I'll be the first to admit, I tried to install CTP3 on a machine without first cleaning up the CTP2 bits. My primary motivation was to be able to query the catalog views to detect any metadata changes that I hadn't already talked about here. As you might have guessed, this experiment did not go well.&lt;/p&gt;&lt;p&gt;In a couple of cases I have installed CTP3 quite cleanly on new VMs. I haven't installed Juneau yet on those, because I'm a little nervous about what exactly that will do to Management Studio... and I need at least one VM where I can rely on full functionality there. I'm getting there, but I wanted to address the case where CTP2 *was* installed.&lt;br&gt;&lt;/p&gt;&lt;p&gt;In cases where I would prefer to keep my existing VM (which has various other ongoing work other than Denali, making it infeasible to roll back to some snapshot), I've resorted to removing every single CTP1 or CTP2 piece of software using Programs and Features (nee Add/Remove Programs). Once I had removed CTP2 completely, I ran a repair of CTP3. I then realized that I didn't have Management Studio (because the complete removal of CTP2 included shared features such as client tools). So I ran setup again, adding the Management Tools and a few other odds and ends to the instance.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Now, with all traces of CTP2 gone (including Juneau), and a now functional CTP3 and Management Studio, I thought it was time to install Juneau. No problem, I go for the web installer, located here:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10" title="http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10" target="_blank"&gt;http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Unfortunately, all signs indicate that this is going to try to install CTP2: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau_ctp3_1.png" border="0" height="519" width="590"&gt;&lt;/p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau_ctp3_2a.png" border="0" height="480" width="700"&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;p&gt;Fellow MVP Juan Alvarado pointed me to the registry key that was causing this problem (thanks Juan!). It is one of the things that the CTP2 of Juneau did not clean up through the normal uninstall process. The key is:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;HKEY_LOCAL_MACHINE\Software\Microsoft\WebPlatformInstaller\ProductXmlLocation\&lt;/p&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau_ctp3_3.png" height="211" width="477"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;It will have a value of some folder on your machine (I changed the value to foo because my path was really long)... just change the name of the key to something else, or delete it entirely, and run the web installer again. You should see the right platform now:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau_ctp3_4.png" height="542" width="639"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau_ctp3_5.png" border="0" height="480" width="700"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I can't fault the team for this problem at all. I shouldn't expect CTPs to remove cleanly, and should know not to put CTPs on important machines or VMs that can't just be rebuilt as needed. &lt;/p&gt;&lt;p&gt;Ultimately, what you *REALLY SHOULD* be doing is installing CTP3 (both engine components and add-ons like Juneau) in a clean virtual machine. But I know how it is, it isn't always practical to dedicate an OS this way. So hopefully this helps some of you work around the issue.&lt;/p&gt;&lt;p&gt;In addition, I am in no way guaranteeing that Juneau will *work* - just that you should be able to get it installed. Once it's installed, I'm afraid you're on your own. If it doesn't work correctly, please read the previous paragraph.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br&gt;&lt;/p&gt;</description></item><item><title>SQL Server v.Next (Denali) : Juneau CTP3 is now available!</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2011/07/13/sql-server-v-next-denali-juneau-ctp3-is-now-available.aspx</link><pubDate>Wed, 13 Jul 2011 13:32:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36879</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;SQL Server Developer Tools (SSDT) - code-named "Juneau" - is now available. Many (including myself) believed that Juneau was simply a part of BIDS in CTP3, but after trying to use Juneau-specific functionality that this was not the case. As indicated on the &lt;a title="http://msdn.microsoft.com/en-us/data/tools.aspx" target="_blank" href="http://msdn.microsoft.com/en-us/data/tools.aspx"&gt;Developer Tools page&lt;/a&gt;, and &lt;a title="http://blogs.msdn.com/b/ssdt/archive/2011/07/13/juneau-is-finally-out-to-the-public.aspx?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+ssdtblog+%28SQL+Server+Developer+Tools+Team+Blog%29" target="_blank" href="http://blogs.msdn.com/b/ssdt/archive/2011/07/13/juneau-is-finally-out-to-the-public.aspx?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+ssdtblog+%28SQL+Server+Developer+Tools+Team+Blog%29"&gt;on the SSDT blog&lt;/a&gt;, you can download Juneau now through a Web Platform Installer. &lt;/p&gt;&lt;p&gt;According to &lt;a title="http://msdn.microsoft.com/en-us/data/hh297027" target="_blank" href="http://msdn.microsoft.com/en-us/data/hh297027"&gt;this page&lt;/a&gt;, if you're already using Visual Studio Professional, you need to install &lt;a title="http://www.microsoft.com/download/en/details.aspx?id=23691" target="_blank" href="http://www.microsoft.com/download/en/details.aspx?id=23691"&gt;Visual Studio 2010 SP1&lt;/a&gt; *FIRST* (though if you've installed Denali, you've probably already done this), otherwise your shell gets downgraded to only have Juneau functionality - at least that's how I've read it. In any case, suggest being up to date on Windows Updates and make sure that SP1 is installed before installing Juneau. You'll also want to be sure you install the CTP3 version of Juneau on a machine that has never had a previous version of Juneau installed - even a proper add/remove does not truly get rid of all of the pieces, and you're likely to end up with a quite crippled installation. All the more reason to use a VM for Denali stuff, since it is easy enough to throw away and re-create those.&lt;br&gt;&lt;/p&gt;&lt;p&gt;You can start the Web Platform Installer by clicking on the following link:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a title="http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10" target="_blank" href="http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10"&gt;http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;First, you'll be asked by Internet Explorer if you're sure you want the Web Platform Installer to go about its business:&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-00a.png"&gt;&lt;/blockquote&gt;&lt;p&gt;Then you'll be asked again, if you have UAC enabled:&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-00b.png"&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;Once you allow the program to run, you will see this introductory screen:&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-01.png"&gt;&lt;/blockquote&gt;&lt;p&gt;It says the download size is 8.51 MB, but that is a lie. To see the true download size, click on the "Items to be installed" link in the bottom left corner. You will see something like this:&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-02.png"&gt;&lt;/blockquote&gt;&lt;p&gt;My first observation here was that the local database runtime actually points to the SQL Express installer. It is not supposed to be a standalone instance, and it's interesting that they are finding a way to make Express support non-Express features that Juneau will have to support (e.g. partitioning).&lt;/p&gt;&lt;p&gt;When you click Install, you will be prompted (of course) to accept a license agreement. This screen also shows a summary of the items that are going to be downloaded and installed. You can click on the individual links to download each package and install them yourself, but I recommend against that because some need to be laid down in a specific order.&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-03.png"&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;Once you accept, installation will begin. This took a surprising amount of time on my system (equipped with 8GB RAM and an SSD), even after all the downloading had finished.&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-04.png"&gt;&lt;/blockquote&gt;&lt;p&gt;(A funny observation here: this is my laptop, which I use for presenting, and it is yet another example where dialogs are not tested at non-default font settings - I have my fonts set to 125%, and the text no longer fits within the dialog.) &lt;br&gt;&lt;/p&gt;&lt;p&gt;Depending on the state of your system (including Windows Updates), you can expect several reboots to be required during the installation of various Juneau prerequisites. If you have any failures installing the dependencies (which will prevent Juneau itself from being installed), you can try running their installers manually by clicking on the download links in the failure dialog - just make sure you run the Juneau installer last. I had a heck of a time installing the .NET Framework 4.0 update from &lt;a title="http://support.microsoft.com/kb/2468871" target="_blank" href="http://support.microsoft.com/kb/2468871"&gt;KB #2468871&lt;/a&gt; using the Web Platform Installer, but after running the EXE from the KB article manually, I finally had success:&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-05.png"&gt;&lt;/blockquote&gt;&lt;p&gt;I then re-applied &lt;a title="http://www.microsoft.com/download/en/details.aspx?id=23691" target="_blank" href="http://www.microsoft.com/download/en/details.aspx?id=23691"&gt;Visual Studio 2010 Service Pack 1&lt;/a&gt; (again), just to be on the safe side. Of course I had to clear out some space first, as this is on a tight SSD - the SP1 installer apparently needs close to 6 GB free just to run.&lt;/p&gt;&lt;p&gt;So now when I launch my BIDS shortcut, this is the splash screen I see:&lt;/p&gt;&lt;blockquote&gt;&lt;img src="http://bertrandaaron.files.wordpress.com/2011/07/juneau-06.png"&gt;&lt;/blockquote&gt;&lt;p&gt;Once I opened Juneau, my experience with connecting to a server and performing various operations has not been great, so I'll leave my evaluation and description of those things for another post.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;</description></item><item><title>Querying Visual Studio project files using T-SQL and Powershell</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2011/01/17/querying-visual-studio-project-files.aspx</link><pubDate>Mon, 17 Jan 2011 21:11:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32686</guid><dc:creator>jamiet</dc:creator><description>&lt;P&gt;Earlier today I had a need to get some information out of a Visual Studio project file and in this blog post I’m going to share a couple of ways of going about that because I’m pretty sure I won’t be the only person that ever wants to do this. The specific problem I was trying to solve was finding out how many objects in my database project (i.e. in my .dbproj file) had any warnings suppressed but the techniques discussed below will work pretty well for any Visual Studio project file because every such file is simply an XML document, hence it can be queried by anything that can query XML documents.&lt;/P&gt;
&lt;P&gt;Ever heard the phrase “when all you’ve got is hammer everything looks like a nail”? Well that’s me with querying stuff – if I can write SQL then I’m writing SQL. Here’s a little noddy database project I put together for demo purposes:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/jamie_thomson/image_003D882B.png"&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-RIGHT-WIDTH:0px;MARGIN:;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_7E208961.png" width=211 height=244&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Two views and a stored procedure, nothing fancy. I suppressed warnings for [View1] &amp;amp; [Procedure1] and hence the pertinent part my project file looks like this:&lt;/P&gt;&lt;PRE&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;ItemGroup&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;Build&lt;/FONT&gt;&amp;nbsp;&lt;FONT color=#ff0000&gt;Include&lt;/FONT&gt;=&lt;FONT color=#000000&gt;"&lt;/FONT&gt;Schema Objects\Schemas\dbo\Views\View1.view.sql&lt;FONT color=#000000&gt;"&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;SubType&lt;/FONT&gt;&amp;gt;&lt;FONT color=#000000&gt;Code&lt;/FONT&gt;&amp;lt;/&lt;FONT color=#c0504d&gt;SubType&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT size=3&gt;&amp;lt;&lt;FONT color=#c0504d&gt;SuppressWarnings&lt;/FONT&gt;&amp;gt;&lt;FONT color=#000000&gt;4151,3276&lt;/FONT&gt;&amp;lt;/&lt;FONT color=#c0504d&gt;SuppressWarnings&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;FONT color=#c0504d&gt;Build&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;Build&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;Include&lt;/FONT&gt;=&lt;FONT color=#000000&gt;"&lt;/FONT&gt;Schema Objects\Schemas\dbo\Views\View2.view.sql&lt;FONT color=#000000&gt;"&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;SubType&lt;/FONT&gt;&amp;gt;&lt;FONT color=#000000&gt;Code&lt;/FONT&gt;&amp;lt;/&lt;FONT color=#c0504d&gt;SubType&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;FONT color=#c0504d&gt;Build&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;Build&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;Include&lt;/FONT&gt;=&lt;FONT color=#000000&gt;"&lt;/FONT&gt;Schema Objects\Schemas\dbo\Programmability\Stored Procedures\Procedure1.proc.sql&lt;FONT color=#000000&gt;"&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;SubType&lt;/FONT&gt;&amp;gt;&lt;FONT color=#000000&gt;Code&lt;/FONT&gt;&amp;lt;/&lt;FONT color=#c0504d&gt;SubType&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT size=3&gt;&amp;lt;&lt;FONT color=#c0504d&gt;SuppressWarnings&lt;/FONT&gt;&amp;gt;&lt;FONT color=#000000&gt;4151&lt;/FONT&gt;&amp;lt;/&lt;FONT color=#c0504d&gt;SuppressWarnings&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;FONT color=#c0504d&gt;Build&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/&lt;FONT color=#c0504d&gt;ItemGroup&lt;/FONT&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;&lt;FONT color=#c0504d&gt;ItemGroup&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P&gt;Note the &lt;STRONG&gt;&amp;lt;&lt;FONT color=#c0504d&gt;SuppressWarnings&lt;/FONT&gt;&amp;gt; &lt;/STRONG&gt;elements – those are the bits of information that I am after.&lt;/P&gt;
&lt;P&gt;With &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/sqlxml/thread/2337b9bf-e123-4004-8af3-06d2b851c7e1/" target=_blank&gt;a lot of help&lt;/A&gt; from folks on the &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/sqlxml/threads" target=_blank&gt;SQL Server XML forum&lt;/A&gt;&amp;nbsp; I came up with the following query that nailed what I was after. It reads the contents of the .dbproj file into a variable of type XML and then shreds it using T-SQL’s &lt;A href="http://msdn.microsoft.com/en-us/library/ms190798.aspx" target=_blank&gt;XML data type methods&lt;/A&gt;: &lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=2&gt;

&lt;TR&gt;
&lt;TD&gt;&lt;CODE style="FONT-SIZE:12px;"&gt;&lt;SPAN style="COLOR:blue;"&gt;DECLARE &lt;/SPAN&gt;&lt;SPAN style="COLOR:#434343;"&gt;@xml &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;XML&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;SELECT &lt;/SPAN&gt;&lt;SPAN style="COLOR:#434343;"&gt;@xml &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="COLOR:magenta;"&gt;CAST&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;pkgblob.BulkColumn &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS XML&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;FROM&amp;nbsp;&amp;nbsp; OPENROWSET&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;BULK &lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'C:\temp\QueryingProjectFileDemo\QueryingProjectFileDemo.dbproj' &lt;/SPAN&gt;&lt;SPAN style="COLOR:green;"&gt;-- &amp;lt;-Change this path! &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;single_blob&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;pkgblob &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;XMLNAMESPACES&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;( &lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'http://schemas.microsoft.com/developer/msbuild/2003' &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;ns&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;SELECT&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:magenta;"&gt;REVERSE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:magenta;"&gt;SUBSTRING&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:magenta;"&gt;REVERSE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;ObjectPath&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;),&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;CHARINDEX&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'\'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR:magenta;"&gt;REVERSE&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;ObjectPath&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;)))) &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;[ObjectName] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;[SuppressedWarnings] &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;FROM&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;( &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;SELECT&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;build.query&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'.'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;[_node] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;build.value&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'ns:SuppressWarnings[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'nvarchar(100)'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;[SuppressedWarnings] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;build.value&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'@Include'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'nvarchar(1000)'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;[ObjectPath] &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#434343;"&gt;@xml&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;.nodes&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;'//ns:Build[ns:SuppressWarnings]'&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;AS &lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;R&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;build&lt;/SPAN&gt;&lt;SPAN style="COLOR:gray;"&gt;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/SPAN&gt;&lt;SPAN style="COLOR:black;"&gt;q &lt;BR&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;
&lt;P&gt;And here’s the output:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/jamie_thomson/image_4E826AD5.png"&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-RIGHT-WIDTH:0px;MARGIN:;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_7B9757A3.png" width=533 height=164&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;And that’s it – an easy way of discovering which warnings have been suppressed and for which objects in your database projects. I won’t bother going over the code as it is fairly self-explanatory – peruse it at your leisure.&lt;/P&gt;
&lt;P&gt;Once I had the SQL above I figured I’d share it around a little in case it was ever useful to anyone else; hence I’m writing this blog post and I also posted it on the &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/vstsdb/threads" target=_blank&gt;Visual Studio Database Development Tools forum&lt;/A&gt; at &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/8eacbe76-c6d1-40e2-af15-044903a98c1d/?prof=required" target=_blank&gt;FYI: Discover which objects have had warnings suppressed&lt;/A&gt;. Luckily &lt;A href="http://social.msdn.microsoft.com/profile/kevin%20goode/?type=forum&amp;amp;referrer=http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/8eacbe76-c6d1-40e2-af15-044903a98c1d/?prof=required" target=_blank&gt;Kevin Goode&lt;/A&gt; saw the thread and he posted a different solution to the same problem, one that uses Powershell. The advantage of Kevin’s Powershell approach is that it is easy to analyse many .dbproj files at the same time. Below is Kevin’s code which I have tweaked &lt;EM&gt;ever so slightly&lt;/EM&gt; so that it produces the same results as my SQL script (I just want any object that had had a warning suppressed whereas Kevin was querying specifically for warning 4151):&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;cd&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;C:\Temp\QueryingProjectFileDemo\&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;cls&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$projects&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#ff0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;ls&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;COLOR:#5f9ea0;"&gt;-r&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;COLOR:#5f9ea0;"&gt;-i&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; *.dbproj
&lt;/SPAN&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;Foreach&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$project&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;in&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$projects&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;)
{
  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$xml&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#ff0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;new-object&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;System.Xml.XmlDocument&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;
  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$xml&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR:#8b4513;"&gt;set_PreserveWhiteSpace&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;( &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$true&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; )
  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$xml&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR:#8b4513;"&gt;Load&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$project&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;)

  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#008000;"&gt;#&lt;/SPAN&gt;&lt;SPAN style="COLOR:#008000;"&gt;$xpath = @{Start="/e:Project/e:ItemGroup/e:Build[e:SuppressWarnings=4151]/@Include"}&lt;/SPAN&gt;&lt;SPAN style="COLOR:#008000;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#008000;"&gt;#&lt;/SPAN&gt;&lt;SPAN style="COLOR:#008000;"&gt;$xpath = @{Start="/e:Project/e:ItemGroup/e:Build[contains(e:SuppressWarnings,'4151')]/@Include"}&lt;/SPAN&gt;&lt;SPAN style="COLOR:#008000;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$xpath&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#ff0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; @{Start&lt;/SPAN&gt;&lt;SPAN style="COLOR:#ff0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;/e:Project/e:ItemGroup/e:Build[e:SuppressWarnings]/@Include&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;}
  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$ns&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#ff0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; @{ e &lt;/SPAN&gt;&lt;SPAN style="COLOR:#ff0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; }

  &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$xml&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; | &lt;/SPAN&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;Select-Xml&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;COLOR:#5f9ea0;"&gt;-XPath&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$xpath&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;.Start  &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;COLOR:#5f9ea0;"&gt;-Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800080;"&gt;$ns&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; |&lt;/SPAN&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;Select&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;COLOR:#5f9ea0;"&gt;-Expand&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;Node&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; | &lt;/SPAN&gt;&lt;SPAN style="COLOR:#5f9ea0;FONT-WEIGHT:bold;"&gt;Select&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-STYLE:italic;COLOR:#5f9ea0;"&gt;-expand&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#800000;"&gt;Value&lt;/SPAN&gt;&lt;SPAN style="COLOR:#000000;"&gt;
}

&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;and here’s the output:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/jamie_thomson/image_60EABB8A.png"&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-RIGHT-WIDTH:0px;MARGIN:;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_4716855B.png" width=765 height=102&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Nice reusable Powershell and SQL scripts – not bad for an evening’s work. Thank you to Kevin for allowing me to share his code.&lt;/P&gt;
&lt;P&gt;Don’t forget that these techniques can easily be adapted to query &lt;EM&gt;any&lt;/EM&gt; Visual Studio project file, they’re only XML documents after all! Doubtless many people out there already have code for doing this but nonetheless here is another offering to the great script library in the sky. Have fun!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This blog post was mentioned on &lt;/EM&gt;&lt;A href="http://channel9.msdn.com/Shows/This+Week+On+Channel+9/TWC9-AutoTuneNET-Portable-Libraries-Facebook--Azure-SQLR2-BI"&gt;&lt;EM&gt;This Week on Channel 9&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;. Fast forward to 10m49s.&lt;/EM&gt;&lt;/P&gt;</description></item><item><title>SQL Server v.Next (Denali) : The New SSMS</title><link>http://sqlblog.com/blogs/aaron_bertrand/archive/2010/11/23/sql-server-11-denali-the-new-vs-shell.aspx</link><pubDate>Tue, 23 Nov 2010 14:35:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:29791</guid><dc:creator>AaronBertrand</dc:creator><description>&lt;p&gt;In SQL Server Denali, Management Studio has been entirely migrated from its earlier incarnation.&amp;nbsp; Previously SSMS had slight traces here and there that it was a distant cousin to Visual Studio; in this release, it is a full-fledged immediate family member.&amp;nbsp; There are some great things that come of this, but there are some negative aspects as well.&amp;nbsp; I thought I would give a quick run-down of my observations so far.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;font face="courier new,courier" size="6"&gt;&lt;b&gt;The Good&lt;/b&gt;&lt;/font&gt; &lt;font size="4"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Multi-Monitor Support&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;Finally, we seem to have reached an audience on the dev team that some of us really develop and administer with more than one monitor, and that this is not just important to developers.&amp;nbsp; Based on the Visual Studio 2010 feature, you can now just grab any tab out of the tab strip and drag it off onto a different area of the screen; and putting it back is just as easy:&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp; &lt;img src="http://sqlblog.com/files/folders/30884/download.aspx" width="629" border="0" height="344"&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;As someone who is used to working on multiple large monitors, I applaud this feature, and I hope it is useful for you, too.&amp;nbsp; The only sad part is that it doesn't demo very well on a laptop, so it will be very hard to show audiences how powerful this can be.&amp;nbsp; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Consolas&lt;/font&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;This probably doesn't affect many people, but I absolutely love the fact that the default font in the query editor has been changed to Consolas.&amp;nbsp; I &lt;a href="http://www.onetooneinteractive.com/otolabs-posts/2009/07/02/more-management-studio-tips/" title="http://www.onetooneinteractive.com/otolabs-posts/2009/07/02/more-management-studio-tips/" target="_blank"&gt;blogged about my preferences last year&lt;/a&gt;, including how to change 2008 / 2008 R2 SSMS to use Consolas instead of the default Courier New.&amp;nbsp; Clearly that advice will now be obsolete.&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Snippets&lt;/font&gt;&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;A very popular feature previously only found in &lt;a href="http://weblogs.sqlteam.com/mladenp/default.aspx" title="http://weblogs.sqlteam.com/mladenp/default.aspx" target="_blank"&gt;Mladen Prajdi&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://weblogs.sqlteam.com/mladenp/"&gt;ć&lt;/a&gt;'s &lt;a href="http://www.ssmstoolspack.com/" title="http://www.ssmstoolspack.com/" target="_blank"&gt;SSMS Tools Pack&lt;/a&gt;, a free add-in for Management Studio, this now-native feature allows you to use snippets for reusable code, without having to discover or understand the templates folder.&amp;nbsp; You can create your own snippets, but there is a good variety of built-in samples already (though the template &lt;strike&gt;explorer&lt;/strike&gt; &lt;strike&gt;browser&lt;/strike&gt; [which is it?] still exposes more).&amp;nbsp; You can insert a snippet by the keystrokes Ctrl + K then Ctrl + X, the Edit &amp;gt; IntelliSense &amp;gt; Insert Snippet menu, or by right-clicking in a query window and choosing "Insert Snippet..."&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/30891/download.aspx" width="726" border="1" height="254"&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Sadly, they don't use the template placeholders in the code - you know, the ones where you could hit Ctrl + Shift + M and tab through to replace values (though the values you need to replace are highlighted.)&amp;nbsp; Here is an example in an earlier version of SSMS (however this functionality is now broken in Denali - more on this later):&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/30888/download.aspx" width="480" border="1" height="504"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;There is also a handy shortcut for "surround with" snippets, allowing you to quickly wrap a statement or set of statements with a BEGIN, IF or WHILE block (I'm curious why TRY and CATCH are absent): &lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/30883/download.aspx" width="540" border="1" height="119"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;However, the behavior is a little funky.&amp;nbsp; For example, if you don't make your choice quickly enough (or inadvertently click within the big yellow box, next to "With:"), the drop-down disappears, leaving you wondering what to do next.&amp;nbsp; Since there is a blinking cursor there, I tried to type "Begin" to get AutoComplete, but it didn't appear to do anything:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/30892/download.aspx" width="261" border="1" height="87"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Now I was stuck with this weird artifact on my screen.&amp;nbsp; To try to get it to go away, I hit Enter, and while that worked, I also got a pretty ugly error message:&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/30885/download.aspx" width="391" height="171"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So, the Snippets feature has the potential to be pretty powerful, but it is missing some fit &amp;amp; finish at this early stage.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debugging Improvements&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;I'll be honest; I'm an old-school debugger.&amp;nbsp; I do not come from a heavy object-oriented background, so PRINT, RAISERROR, and TRY/CATCH have been sufficient for me to date.&amp;nbsp; So, I imagine some of these improvements will be more exciting for you than they could ever be for me.&amp;nbsp; Still, I think folding into Visual Studio is going to provide some powerful options for debugging.&amp;nbsp; In this release, they have made the following enhancements:&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;You can debug against SQL Server 2005 SP2 or later.&lt;/li&gt;&lt;li&gt;You can specify &lt;a href="http://msdn.microsoft.com/en-us/library/ff878392%28v=SQL.110%29.aspx" title="http://msdn.microsoft.com/en-us/library/ff878392%28v=SQL.110%29.aspx" target="_blank"&gt;breakpoint conditions&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/ff877958%28v=SQL.110%29.aspx" title="http://msdn.microsoft.com/en-us/library/ff877958%28v=SQL.110%29.aspx" target="_blank"&gt;hit count&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/ff878257%28v=SQL.110%29.aspx" title="http://msdn.microsoft.com/en-us/library/ff878257(v=SQL.110).aspx" target="_blank"&gt;filters&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/ff878534%28v=SQL.110%29.aspx" title="http://msdn.microsoft.com/en-us/library/ff878534%28v=SQL.110%29.aspx" target="_blank"&gt;actions&lt;/a&gt;, and you can&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ff878187%28v=SQL.110%29.aspx" title="http://msdn.microsoft.com/en-us/library/ff878187%28v=SQL.110%29.aspx" target="_blank"&gt;edit breakpoint locations&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;You can watch T-SQL expressions and see Quick Info tooltips (see &lt;a href="http://msdn.microsoft.com/en-us/library/cc646012%28v=SQL.110%29.aspx" title="http://msdn.microsoft.com/en-us/library/cc646012(v=SQL.110).aspx" target="_blank"&gt;Viewing T-SQL Debugger Information&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;IntelliSense now supports breakpoint validation.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Personally, I'll continue to &lt;a href="https://connect.microsoft.com/SQLServer/feedback/details/362572/ssms-debug-icon-should-look-more-dangerous-than-execute" title="https://connect.microsoft.com/SQLServer/feedback/details/362572/ssms-debug-icon-should-look-more-dangerous-than-execute" target="_blank"&gt;rip the Debug icon off my toolbar&lt;/a&gt;, but hopefully this enhances the development experience for some of you.&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Add-In Support&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;Bill Ramos (&lt;a href="http://sqlblog.com/blogs/bill_ramos/default.aspx" title="http://sqlblog.com/blogs/bill_ramos/default.aspx" target="_blank"&gt;blog&lt;/a&gt; | &lt;a href="http://twitter.com/billramo" title="http://twitter.com/billramo" target="_blank"&gt;twitter&lt;/a&gt;) has hinted to us several times that stronger add-in support is coming.&amp;nbsp; Currently several vendors, as well as individuals like Mladen Prajdić (&lt;a href="http://weblogs.sqlteam.com/mladenp/default.aspx" title="http://weblogs.sqlteam.com/mladenp/default.aspx" target="_blank"&gt;blog&lt;/a&gt; | &lt;a href="http://twitter.com/MladenPrajdic" title="http://twitter.com/MladenPrajdic" target="_blank"&gt;twitter&lt;/a&gt;) and Jonathan Kehayias (&lt;a href="http://sqlblog.com/blogs/jonathan_kehayias/default.aspx" title="http://sqlblog.com/blogs/jonathan_kehayias/default.aspx" target="_blank"&gt;blog&lt;/a&gt; | &lt;a href="http://twitter.com/SQLSarg" title="http://twitter.com/SQLSarg" target="_blank"&gt;twitter&lt;/a&gt;), have had to pull teeth in order to get their code working within the SSMS environment.&amp;nbsp; I hope that Bill's hype becomes a reality.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Extended Events&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;Extended Events finally gets some UI support:&lt;/p&gt;&lt;p style="margin-left:80px;"&gt;&lt;img src="http://sqlblog.com/files/folders/30894/download.aspx" width="459" border="1" height="514"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;But, at least in my limited exposure, I think this handles just the very basics -- once Jonathan's &lt;a href="http://extendedeventmanager.codeplex.com/" title="http://extendedeventmanager.codeplex.com/" target="_blank"&gt;Extended Events Manager&lt;/a&gt; works as a Denali SSMS plug-in, it may still prove to be quite useful.&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;font face="courier new,courier" size="6"&gt;&lt;b&gt;The Bad&lt;/b&gt;&lt;/font&gt; &lt;font size="4"&gt;&lt;br&gt;
  &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Missing Keyboard Functionality&lt;/font&gt;&lt;br&gt;
&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;One of the things we've lost in the conversion to the Visual Studio shell is our ability to continue using several keyboard shortcuts.&amp;nbsp; For example:&lt;/p&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;Ctrl + Shift + U still converts selected text to upper case, but Ctrl + Shift + L no longer handles lower case.&amp;nbsp; That is now handled by a much less intuitive keystroke combination: Ctrl + U.&amp;nbsp; Not a big deal, but re-learning these things can be painful.&lt;br&gt;&lt;/li&gt;&lt;li&gt;Ctrl + Shift + M no longer raises the template parameters dialog.&amp;nbsp; I've complained about this in &lt;a href="https://connect.microsoft.com/SQLServer/feedback/details/623863/denali-ssms-ctrl-shift-m-no-longer-raises-template-parameter-dialog" title="https://connect.microsoft.com/SQLServer/feedback/details/623863/denali-ssms-ctrl-shift-m-no-longer-raises-template-parameter-dialog" target="_blank"&gt;Connect #623863&lt;/a&gt;.&amp;nbsp; Please vote if you want this functionality back by default - though I'm sure there is a cumbersome way to customize this.&lt;/li&gt;&lt;li&gt;A very simple keyboard operation I've been used to performing in Management Studio is, in a query editor, holding the down arrow key to get to the end of the last line in a query window.&amp;nbsp; In the Visual Studio shell, holding down gets you to the last line, but it doesn't move the cursor to the last character on that line.&amp;nbsp; Not a huge deal, just mildly annoying until you get used to it.&lt;br&gt;&lt;/li&gt;&lt;li&gt;We can no longer use keyboard layout schemes from previous versions of SQL Server.&amp;nbsp; While it looks like the keyboard mapping will be more flexible (and maybe more schemes will be added later), it certainly feels less functional out of the box:&lt;br&gt;&lt;br&gt;&lt;img src="http://sqlblog.com/files/folders/30895/download.aspx" width="757" height="440"&gt;&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;br&gt;&lt;font size="4"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Crippled Toolbar Functionality&lt;/font&gt;&lt;br&gt;

&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;Another thing I typically do when I set up a new SSMS installation is move some elements of the toolbar around, and get rid of some buttons I never use (like the Debug icon).&amp;nbsp; In 2005, 2008 and 2008 R2, you could right-click the toolbar, choose Customize, and then - with a seemingly modal dialog open - drag items to different areas of the toolbar, or off the toolbar altogether.&amp;nbsp; One of the first things I discovered when I installed Denali was that the Visual Studio powered SSMS no longer supports this functionality.&amp;nbsp; You can still do it, it's just a lot more cumbersome; see the workaround I posted in &lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/615154/denali-ssms-can-no-longer-drag-buttons-within-or-off-the-toolbar#details" title="http://connect.microsoft.com/SQLServer/feedback/details/615154/denali-ssms-can-no-longer-drag-buttons-within-or-off-the-toolbar#details" target="_blank"&gt;Connect #615154&lt;/a&gt;.&lt;br&gt;

&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;font face="courier new,courier" size="6"&gt;&lt;b&gt;The Ugly&lt;/b&gt;&lt;/font&gt; &lt;font size="4"&gt;&lt;br&gt;
  &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Horrible Color Coding Defaults&lt;/font&gt;&lt;br&gt;
&lt;/p&gt;
&lt;p style="margin-left:40px;"&gt;Don't get me wrong; color coding is a great thing.&amp;nbsp; But man, did they pick the wrong fluorescent puke green (yes, that is an official Crayola color name) for system objects.&amp;nbsp; If this doesn't give you a headache (especially the selected text), I don't know what will:&lt;/p&gt;&lt;p style="margin-left:80px;"&gt;&lt;img src="http://sqlblog.com/files/folders/30896/download.aspx" width="351" border="1" height="130"&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;You can fix this by going to Tools | Options, Environment, Fonts and Colors, Text Editor, SQL System Table, then choose a new color for Item foreground:&lt;/p&gt;&lt;p style="margin-left:80px;"&gt;&lt;img src="http://sqlblog.com/files/folders/29793/download.aspx" width="747" height="430"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;The item says "SQL System Table" but this will affect all relevant 
built-ins, such as catalog views, DMVs and dynamic management functions.
 &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Weird Hover Behavior&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;I am able to reproduce this one at will.&amp;nbsp; I'll spare you all of the gory details unless you want to check out &lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/615766" title="http://connect.microsoft.com/SQLServer/feedback/details/615766" target="_blank"&gt;Connect #615766&lt;/a&gt;.&amp;nbsp; Essentially, if you turn on Execution Plan and have a lengthy enough query (such as the query from Adam Machanic's &lt;a href="http://sqlblog.com/files/10/default.aspx" title="http://sqlblog.com/files/10/default.aspx" target="_blank"&gt;sp_WhoIsActive&lt;/a&gt;), when you mouse over the query text above the plan diagram, SSMS becomes completely unresponsive as it tries to display the tooltip.&amp;nbsp; It can lock up for 20 to 30 seconds, and then when it finally responds, the tooltip disappears without uselessly showing the query anyway.&amp;nbsp; The drawing of the tooltip seems to be modal, so even if the UI wasn't responding, there isn't much you can do except wait.&amp;nbsp; This behavior is simply not cool, and since I reproduced it *in person* for one of the program managers while at PASS earlier this month, I suspect it will be addressed before RTM.&amp;nbsp; If you want more help reproducing this issue, please let me know.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font size="4"&gt;Messy Scripting&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;Scripting from Management Studio has not improved very much over the years, and the team seems incapable of learning from past mistakes.&amp;nbsp; As an example, Erland Sommarskog and I combined to find three pretty serious shortcomings in the script generated by the "New Service Broker Application..." wizard:&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/622784" title="http://connect.microsoft.com/SQLServer/feedback/details/622784" target="_blank"&gt;#622784 : [Denali SSMS] : Proliferation of the use of deprecated system tables (e.g. sysobjects)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/623047" title="http://connect.microsoft.com/SQLServer/feedback/details/623047" target="_blank"&gt;#623047 : Incorrect SET options for New Service Broker Application&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/623049" title="http://connect.microsoft.com/SQLServer/feedback/details/623049" target="_blank"&gt;#623049 : master misspelled in new Service Broker tasks&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Erland is absolutely right; they need to test their scripts in a case-sensitive collation (and maybe even in something like Turkish).&amp;nbsp; In fact I think a lot of us would benefit from always developing in a case-sensitive collation. &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;br&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Barely Handled F1 Exception&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Depending on your cursor location in a query editor window (e.g. when it is not next to a keyword), trying to get to help by pressing F1 can lead to this error:&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/files/folders/30898/download.aspx" width="342" height="171"&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;This issue was reported in &lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/623498/error-when-pressing-the-f1-key-in-ssms" title="http://connect.microsoft.com/SQLServer/feedback/details/623498/error-when-pressing-the-f1-key-in-ssms" target="_blank"&gt;Connect #623498&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Bread Crumbs Don't Work&lt;/font&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Because of the transition to Visual Studio, they've had to re-do a lot of the plumbing surrounding error handling and debugging.&amp;nbsp; One thing that doesn't work in the current CTP is double-clicking on an error message which, in previous versions, jumps up to the actual statement that generated the error.&amp;nbsp; This has been reported in &lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/623735" title="http://connect.microsoft.com/SQLServer/feedback/details/623735" target="_blank"&gt;Connect #623735&lt;/a&gt;.&amp;nbsp; Also, when debugging, the line number reported in the error message is inexplicably off by 1.&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;img src="http://sqlblog.com/files/folders/30900/download.aspx" width="820" height="336"&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;There is this thing called the Error List, but I find the behavior quite confusing.&amp;nbsp; The list seems to be updated when IntelliSense discovers new problems with your query as you're typing, but then doesn't update when you execute.&amp;nbsp; It also seems to forget which window it is associated with, so you'll be in a query window and the error list will be talking about code that is in some other window in your tab stack.&amp;nbsp; It seems, so far, to be useful only for debugging when you have a single tab open.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;</description></item></channel></rss>