I’ve just come out of SteveB’s jam packed keynote I thought I would take the chance to write down some thoughts on why the VS integration is a key component of this SQL Server release.
First of all we should really be talking about our integration with Developer Division not just VS. The Visual Studio Team reports up to one GM in the division and the .Net Frameworks/CLR etc to another one, they all report in to Soma but they are very different animals. The key is that with SQL Server 2005 we have worked closely with both sides of the developer division to deliver the experience that you can go out and buy today. From the pure VS side we have support in the IDE for SQLCLR projects, a great data developer design experience with the new grid and databinding work, we also have support for SQL Server as part of designed for operations, one of the key tenets of the Team System products.
With the support for SQLCLR at execution time all SQL Server developers now have a range of options for their architectures as well as the ability to leverage the NetFx functionality in a scalable and powerful way to enable features that simply can not be delivered with T-SQL (such as UD Aggs and Types, yes we could kinda do types before but not in this rich a way)
On top of all this great work we also have BI Development Studio and SQL Server Management Studio. BIDS is a series of key plug ins into the VS Shell that deliver a world class BI developer experience on top of a great platform. SSMS uses a series of VS technologies to deliver a custom admin and script developer experience for all of the components in SQL Server.
Of course the above does not really discuss the great work done by the System.Data and System.XML teams that are part of SQL Server but who see their work delivered as part of NetFX.
Wow seems like we get a lot from the Developer Division, do we give back? Oh yes, Visual Studio includes SQL Server Express Edition in its lower end SKUs, in this SKU we have added features like User Instances to allow us to map more exactly to the user model that VS wants to deliver. In addition Team Foundation Server makes great use of SQL Server as a store, and an analytical and reporting platform. I would be remis not to mention that developer division also received a TON of feedback on technologies such as WinForms, ASP.net and the VS Shell as the SQL Server Team “dogfooded” these technologies on a daily basis.
Second of all its time for a little story…Once upon a time in a land far far away I used to spend my time writing code 10 hours a day as a developer and latterly as dev manager before coming to Microsoft. Since I have been here at Microsoft it has not been my job to write code on a daily basis(hoorah I hear some of my former colleagues cry <g>) but I still kept my hand in reading code, debugging sometimes and writing samples or demos for conferences.
A while back I decided to embark on a couple of fairly large and complex samples(which will hopefully see the light of day soon) to help re-educate myself on a bunch of stuff. I decided to write them mostly in VB.Net with a little C#. I did this as I have never really “learned” VB i used it on a project back in 95 (VB3) and apart from stage demos and samples have never written an app using it. I have been truly amazed at the productivity of the Visual Studio 2005 environment for me, as someone who does not know VB.Net that well and does not know the corners of the .Net Framework. I LOVE snippets, I think the error hints are extremely helpful, I can quickly protoype data UI using the new dataviewgrid, and not forget the properties I need to change as they are all on the smart tags. I have also been very good about running Code Analysis as part of my regular builds.
The snappiness of the IDE has also really come along, this is key for me as I do all my development in a VPC that runs off an external hard drive(this allows me to use the Image against my home machine, dev desktop at work and laptop while on the road. Now if I could just get TFS working across the internet from all these places I could just collaborate with myself…).
In short VS 2005 meets my needs in every way I can imagine, I suspect I might have given up on these projects as its hard to be productive in one hour slots between meetings and on planes, but I think I have managed it.
Third, SQL Server 2005 provides so much in terms of features and capabilities for the developer that it s pretty much impossible to cover them all even in overview in a single presention that lasts an hour(I know this as the marketing guys keep asking me to try and do it…) but I’ll pick up on some of the key areas to look at if you have not already done so;
SQLCLR – So much has been written about this from the developer and the dba perspective, I believe its a great technology but its not the answer to world hunger and should be used at the right time in the right way, and when it is, we see amazing results. Customers have seen 7–10x performance improvements with no tuning my using managed UDFs. As I write this I am tweaking a demo that uses a managed triangle data type to do 3d wireframe manipulation in the database!
XML – We had this feeling during SQL Server 2000 that this XML thing might take off and hence did the work to enable the SQLXML functionality, now we have XML as a native type thats a peer with varchar, int etc. In addition to be able to leverage this type we added support for XQuery, by doing this we were able to leverage all of the core attributes of the Database Engine such as a scaleability, reliability, security etc without having to rebuild it all on a new store.
Service Broker – What can I say but WOW Asynch execution and the ability to build a whole new class of apps using ALL of the SKUs of SQL Server from Express up.
Encryption – You asked for it and we delivered it, our focus has really been an key management issues and also supporting multiple different algorithms, so you have the choice of encryption and key management to suit your needs.
ADO.Net V2 – We built Management Studio using it, this would not have been possible in earlier versions, V2 is feature rich and performant, with great support for the new features like SQLCLR, XML, Snapshot Isolation, etc
Reporting Services – What can I say, Report Builder, Report Controls, Sortable Headers in Grids(my fave feature<g>) the list goes on, we have been running the SQL Server business on SSRS for years, its vital. The tight integration into VS as both a development environment and as a host for the controls tightens this partnership.
Integration Services – My personal fave of the release, but then I am somewhat bias.
LOB Types – No longer do you have to use one programing model for small strings and then a different one for huge strings, its varchar/nvarchar for the whole thing.
New T-SQL Constructs – PIVOT, UNPIVOT, CTE’s, DML with output, the list is long and distinguished!
Finally(I hear people saying), when you look at what the sql server team is able to enable through our partnership with VS and what the VS team is able to deliver through their partnership with us, it just makes perfect sense to have the integration, although it has not been easy sometimes, I know both products are better because of the shared vision and the quality of both is higher due to additional mutual dogfooding by the teams.
I believe you will come to same conclusion, although it may take longer than just the launch event to do so.
Enjoy the products and the launches, if you are here in SF I’ll be in the bar (along with a large number of the SQL team) for most of the evening 🙂