Juneau is the code name for the new SQL Server Development Tool (SSDT), to be released along with the next version of SQL Server, codenamed “Denali“. Its purpose is to provide a single development environment for all database-related project types by bringing BIDS (Business Intelligence Development Studio), “Data Dude” tools in Visual Studio 2010 Premium and Ultimate editions, and SSMS (SQL Server Management Studio) into the same IDE. It is based on the Microsoft Visual Studio 2010 shell. It is not available in the current CTP1 of Denali, but it will be shipped with the next CTP release (due this summer).
SQL Server Developer Tools (SSDT) provides functionalities for both data-tier and app-tier developers to perform all their development work against any SQL Server platform within Visual Studio.
Not so much a replacement for SSMS (which is focused on SQL Server management), but a home for when you need to do database development. The goal is to take the tasks and features that are routinely used by developers in SSMS and bring them over into SSDT. This means you can avoid the Alt + Tab scenarios that kept you leaping between BIDS and SSMS in previous versions of SQL Server.
Database development tools already available in VS2010 will be converted to “Juneau”. All functionalities currently available will remain so or will be enhanced. You can think of it as a replacement for BIDS that uses project types of Database Services (a new service which is essentially the “Data Dude” tools in Visual Studio 2010 Premium and Ultimate editions), Analysis Services, Reporting Services, and Integration Services.
Some notable new features:
- The Server Explorer in Juneau now provides you with an SSMS-like view of your database objects
- The ability to analyze a set of changes and generate a script that will then update the database based on those changes in the development environment
- Preview database updates – The commit operation will provide a deployment report, which contains a preview of all the actions it is going to take, together with potential issues it has identified
- Improved intellisense
- Ships with a single-user lightweight SQL Server version to help with debugging
- Refactor table names, field names, etc, without losing data
- Debug stored procedures
- Can target different versions of SQL Server, including Azure
- Can take a snapshot of the project. Allows you to have versions of your database. Can track history of changes over time
- Can compare your project to the current state of the database. So you can see, for example, indexes added to the live database and add those index changes to your project. Can do things like a schema compare between two versions: a developer can start with a snapshot, make changes, then send the differences to the dba to implement; ISV’s can track databases it has sent to customers and send them scripts to update their database
- On the horizon: reference data support (storing data with the schema), database diagrams, query designer
- Any errors caused by editing in either the TSQL Editor or Table Designer immediately show up in the Error List pane, and are platform specific
- You can now add SQLCLR objects directly to the same database project that is opened, without resorting to opening a specific SQLCLR project. Your TSQL stored procedures can interact with your SQLCLR objects within the same project. Debugging and deployment can also happen seamlessly
- Coding support that includes: Go To Definition and Find All References; the Refactor contextual menu which enables you to rename or move an object and do a preview of all affected areas before committing to the change
- You can create an ADO.NET Entity Data Model and choose to have the model contents generated from an existing database project. Fine-grained synchronization control settings are provided to enable you to specify how changes are propagated between the entity data model and the database project
Official Microsoft Blog: SSDT Team Blog
Review by Robert Sheldon: Finally, development across platforms in Microsoft Visual Studio 2010