The SQL data tools in Orcas are the first time I've actually looked at the database extensions for Visual Studio. When DataDude was released sometime last year it went straight into the Visual Studio DataBase Edition, but it wasn't part of Team Suite so I never actually had a chance to look at it until it showed up in Orcas as part of Team Suite.

So here's a real quick look what's actually there.

The first and probably biggest features are the schema and data comparing features. These features are pretty cool, especially if you don't already use other tools for this task. Personally I use Red Gate's SqlCompare and SqlDataCompare (and SqlPackager!) which have been a life saver for me on many occasions.

The features in VS 2008 compare well with Red Gate's offerings although I still prefer Red Gate's stuff as they are easier to use and visualize changes and provide more options. But VS.NET 2008 has all the core features in place. Here's what the Schema Compare looks like in Visual Studio:

The view shows all database objects that have changed or don't exist on either end of the comparison. The bottom pane lets you review the actual code that makes up each object's state and the diff marks to show what's different between the two. Each option can be set to 'do it' (ie. Update, Drop, Create etc.) or 'Skip' which lets you bypass the changes.

It's pretty straight forward and invaluable when you're working on a local database and need to get schema changes to the database.

Data Compare works on a similar premise: It shows tables and views and shows what's changed in the data of the databases. It shows the differences as well as a detail that lets you actually browse the differences in the tables:

Oddly I found that in many situations the Diff would flag column values that are identical (as above in bold). The rows in have differing values in other places but oddly these values are getting flagged which is a little strange (especially since I just updated them a few days ago). <shrug> Then again I have different data sources connecting to the data so it's possible that the difference is actually spacing. <shrug>

The feature works as you would expect although I find the user interface above a little confusing to deal with. You have to click on each of the update values to change

There's also SQL Refactoring which allows you to rename tables, views, stored procedures etc. and update any dependencies in the database accordingly. I feel like a real Noob just about now, because I actually could not get SQL Refactoring to work and couldn't find any sort of documentation. SQL Refactor wants to work of a Schema View, but while I was able to find the Schema View Window in VS, I have no idea on how to load the database schema into it. Duh. Some searching around on the Web also yield nothing useful. Lots of discussion of the features, but nothing that describes how it works. That doesn't say much for the UI does it? So I need to defer discussion of the usefulness for another day.

While Sql Refactoring surely is a great idea, even if it works really well in the database it still seems like a real scary affair because the database changes are likely going to break middle tier and/or client code. So I'm not so sure that Sql Refactoring is such a great idea in the first place unless you entirely encapsulate your business logic through stored procedure access. <shrug>

Finally, there's also a fully integrated T-Sql Query window, which is basically the same view that you get inside of Sql Management Studio. You can run queries and get both a results pane as well as a grid display of the resulting data:

Data can also be displayed in text mode. One thing missing is the Execution Plan display, but most other features of the full SQL Management Console query window seem like they're there.

This is a welcome addition and I find myself using the query window in Visual Studio quite a bit - avoiding loading of SQL Management Studio as a separate application. I much prefer the QA type window to the Server Explorer data windows which have always been painful to use from a UI perspective - or maybe it's just long time habits that die hard. <g>

All this stuff is a welcome addition to Visual Studio. I certainly am already getting a lot of use out of the integrated T-SQL editor now. The other tools are nice as well although I suspect I'll probably stick with Red Gate's tools for synchronization, just because the tools are easier to use and cleaner.