Today, the SQL Server Data Tools team is proud to announce the public release of SSDT CTP4 (formerly SQL Server Developer Tools, Code-name “Juneau”)! This newest version, CTP4, can be downloaded here.This marks another milestone in delivering a first-class developer experience for Microsoft SQL Server.
After the CTP3 release this summer, we received a lot of great feedback from our users via both the forum and Connect bugs which helped us make customer-driven, targeted improvements for this release. For this feedback the team thanks you! As a result, CTP4 delivers a wide range of improvements and additions to the feature set of SSDT, throughout all dimensions of the product. The rest of this post will highlight some of the biggest changes that can be seen in this release.
Sections of this post:
Some of the improvements we have made to the connected development experience include:
- SQL Server Object Explorer
In this release, we’ve introduced the SQL Server Object Explorer (SSOX)! This is SSDT’s new very own tool window in Visual Studio. The object hierarchy in SSOX has a very similar appearance and navigation style as SSMS. This is deliberate as we wanted to provide you with a familiar environment in which you can retain some of your memory muscle and best practices.This view is server-centric, focusing on connections at the server level rather than at the data source level, allowing SSOX to serve as the command-center for a variety of development activities.
- T-SQL Editor Usability Improvements
As a result of some strong feedback, we have worked to clean up the T-SQL editing experience and provide cleaner, more intuitive toolbars and menus. Focus has been put on ease of use and discoverability for core tasks in each T-SQL editing scenario. For connected T-SQL script execution, the toolbar now includes only those commands relevant to imperative scripting (Execute, Connect/Disconnect, New Query, etc.).
For buffered editing of object definitions for connected databases, the only option available on the toolbar is the “Update” button which will initiate the process of gathering current changes and pushing them to the live database.
In the source code editing scenario for files in your database project, we have completely removed the toolbar in favor of a blank, clean T-SQL editing window. We hope all of theses changes will help users delineate between the various scenarios in SSDT. Although we have made a lot of improvements in this space, we are far from done, so expect more great things to come!
The SSDT offline project system has also seen some changes since the CTP3 release including:
- SQLCMD Variable Support
One of the most talked about issues in the SSDT forum since CTP3 was SQLCMD variable support in the SSDT database project system. In CTP4 you now have the power of SQLCMD variables at your fingertips for use in Pre-/Post-Deployment scripts and a variety of other places in your SSDT projects! Variables can be defined directly in code or established via the project properties dialog as seen below.
- File Format of SSDT Artifact
With CTP4, the file format of SSDT’s primary artifact has changed from .sqlx to .dacpac. This new format is used throughout the SSDT feature set including Import, Build, and Snapshot, Schema Compare and more. This file extension change does not represent a change in functionality, as the new .dacpacs are still a single-file representation of your schema. The .dacpacs that are part of SSDT CTP4 are v2.5 and are not yet fully compatible with the new DAC v2.0 that is part of SQL Server 2012. Thus, the DACPACs created with SSDT can not yet participate inside SSMS or the SQL Azure Management Portal. To create an artifact with SSDT that can be used by these two tools, you must enable the creation of a v2.0 on project build. You can do this by checking the “Create additional down-level .dacpac file” option in the Project Settings, as shown below.
Several changes and additions have also been made to various tools and environment features in SSDT such as:
- Schema Compare User Experience Improvements
Several enhancements have been made to SSDT’s Schema Compare experience including more intuitive presentation and navigation in the results grid, simplified filtering options, and an enhanced script differencing algorithm for tables. The screenshot below calls out several of these improvements!
And don’t forget, Schema Compare can also be launched from a database in SSOX or a SQL Server database project in the Solution Explorer.
- Visual Studio SQL Menu
All commands related to both SSDT and the existing Visual Studio 2010 Database Projects are no longer accessed via the same Data menu in Visual Studio. We have added our own top-level SQL menu to help distinguish the SSDT feature set from the existing VS2010 Database Project features and environment. This reduces confusion and provides a clear place to look for SQL Server functionality moving forward.
The SQL menu can be used for things like launching a Schema Comparison, modifying T-SQL Editor settings, and initiating Static Code Analysis. Features of the existing Visual Studio 2010 Database Project environment can still be accessed via the Data menu.
- Data Tools Operations Window
One of the other top-level experiences that we have added in CTP4 is the Data Tools Operations Window. This window provides you with visual feedback on progress and results of long-running operations being carried out in the SSDT stack. From this window you can view the preview dialog, the incremental deployment script, or the results for many SSDT operations. This is especially useful when Publishing a project to a database and in other scenarios that deal with updating a database that may take a significant amount of time to complete.
- Command Line Tooling
The command line tool has undergone some cosmetic changes since CTP3, but the functionality remains the same. Previously named sqlx.exe, SSDT’s command line tool has been renamed to SqlPackage.exe. The actions that can be carried out from within the tool are:
- Extract – Create a .dacpac from a live database
- Report – Compare two .dacpacs to generate an XML report of the schema differences between the source and the target
- Script – Create a valid T-SQL incremental update script that can be used to push changes from the source to the target
- Publish – Perform an incremental update on the structure of the target so that it matches that of the source
Since CTP3, we have continued our effort to support the latest SQL Server platforms including SQL Server 2012 and SQL Azure. Improvements in this space include:
- Full SQL Server 2012 Object Support
With this release, we have increased our support for new SQL Server 2012 features and object types, meaning that users can now round-trip the full definition of SQL Server 2012 databases with SSDT database projects. Objects such as FileTables, Sequences, and Full Text Indexes are now supported in SSDT and can be utilized throughout the product.
- Updated SQL Azure Platform Support
We have also enhanced our support for features and syntax new to SQL Azure. Syntax elements like THROW/RETHROW, COLLATE, and CREATE DATABASE WITH COLLATION can now be used in SSDT , as well as features like Query Paging, new spatial types, and sparse columns. In addition, SSDT now comprehends SQL Azure’s requirement for clustered indexes on tables.
- Administrative Install
With CTP4, we now provide an administrative install option for scenarios where individual users are restricted behind firewalls and cannot access the download feed via Web Platform Installer. Once the appropriate SSDT files are downloaded from the Microsoft Download Center, the administrative install process is accessed via the SSDTSetup.exe /layout option.
- Uninstall and Repair Scenarios
With CTP4 we have also added support for uninstalling and repairing SSDT and its associated dependencies. This can be launched from the Add/Remove Programs dialog in the Windows Control Panel and does not perform a full Visual Studio uninstall/repair, only a targeted action on SSDT bits.
This is just an overview of some of the new features included in CTP4 and is not an exhaustive list. For more information about upgrading from CTP3 to CTP4 please see the “Uninstalling SQL Server Data Tools CTP3” blog post.