28
black marble the strategic IT asset for your organisation MAKING THE SQL DEVELOPER ONE OF THE FAMILY WITH VISUAL STUDIO TEAM SYSTEM Richard Fennell Engineering Director SQLBits IV 28 th March 2009

Making the SQL developer one of the family with Visual Studio Team System

  • Upload
    frieda

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

Making the SQL developer one of the family with Visual Studio Team System. Richard Fennell Engineering Director SQLBits IV 28 th March 2009. Agenda. Why do we need DB Pro.? What is Visual Studio Team System DB Pro. Features Project Life-cycle Testing Deployment Power Tools The Future. - PowerPoint PPT Presentation

Citation preview

Page 1: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

the strategic IT asset for your organisation

MAKING THE SQL DEVELOPER ONE OF THE FAMILY WITH VISUAL STUDIO TEAM SYSTEM

Richard FennellEngineering Director

SQLBits IV 28th March 2009

Page 2: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Agenda

• Why do we need DB Pro.?• What is Visual Studio Team System• DB Pro. Features

– Project Life-cycle– Testing– Deployment– Power Tools

• The Future

Page 3: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Pain points in DB development

• What is the ‘correct DB schema’?• How do we version control it?• How do I know the impact of a change?• How do we publish a DB?• Where do we get test data from?• How do we test it anyway?

• There has been no ‘Microsoft standard’ way to manage the DB – until now

Page 4: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

ExcelProject

Operations, QA and Help Desk Non-Microsoft

Developer

Team System Web Access

Visual Studio Team SystemApplication Life Cycle Management (ALM) Solution

Page 5: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Visual Studio for Database Professionals

• Incorporates the Database Professional into the software development lifecycle

• Provides a foundation for change management and process integration

• Exposes database schema as individual script files• Provides a set of essential tools

– Version Control via Visual Studio supported providers– Rename Refactoring– Schema Comparison Tools– Data Comparison Tools

Page 6: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Visual Studio for Database Professionals

• Was known as ‘DataDude’ in beta phase• Released in 2006• Release VS 2008 was really more of a

service pack than a major release.• VS 2008 GDR Released November 2008

Page 7: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Visual Studio Team System 2008Database Edition GDR

• Builds on top of Visual Studio 2008 SP1• Adds support for SQL Server 2008• Introduces a new product architecture

– Database Schema Provider model– Separation of Build & Deploy– Public Extensibility

• Incorporates functionality previouslyshipped in the Power Tools– T-SQL Static Code Analysis– Dependency Viewer

• Many product enhancements and improvements

Page 8: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Database Project Ecosystem

DatabaseRefactoring

DatabaseUnit Testing

Data Generation

T-SQL Static Code

Analysis

Schema Compare

DataCompare

3rd PartyDesigners

3rd PartyTools

SQL Server2008 DSP

ParserScriptDOMInterpreterReverse EngineerDeploy

SQL Server2005 DSP

ParserScriptDOMInterpreterReverse EngineerDeploy

SQL Server2000 DSP

ParserScriptDOMInterpreterReverse EngineerDeploy

3rd PartyDSP

ParserScriptDOMInterpreterReverse EngineerDeploy

DSPExtensions

DSPExtensions

DSPExtensions

DSPExtensions

DSPExtensions

DSP Extensions

DSPExtensions

Database Model API

Database Eco Project System

Solution ExplorerSchema ViewDependency

ViewerEditor

Project Features

Page 9: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Team Foundation Server Integration

• As a member of the Visual Studi o Team Sys tem fam il y, DBPro is integrated with all of the team features• TFS provi des

– Team project with prescript ive guidance– Version control management– Work I tem tracking– Team Build integrat ion

Page 10: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Database Edition Power Tools

• Power Tools 2008 added addit ional features that didn’t make the product release cycle– Dependency V iewer – New Refactori ngs– Data Generation Wizard– MSBuild Tasks – T-SQL S tati c Code Analysis – Schema Manager AP I

• At present no GDR Power tools released

Page 11: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Writes Tests Writes DB CodeRefactorsRuns TestsChecks InWorks with other developers to integrate

Reviews ChangesCompares Updates to ProductionBuilds Deploy PackageDeploys to Production

Creates New DB ProjectReverse Engineers DB to ProjectCreates Data Generation Plan

DB DeveloperDB Administrator

Manage Develop Deploy

Roles in a DB Project

DB Administrator

Page 12: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Creating the DB Project

DatabaseProject Import schema

Check in to

Source C

ontrolProductionDatabase

StagingDatabase

Create a Project

DBA

DBPro

TFSServer

Page 13: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

DBPro

TFSServer

DBA

Isolated Iterative Development• Sync • Check-out• Edit/Refactor• Test• Check-in• Work is being driven

and tracked viawork items

• Other team members can pick up changes

TFS Shelving allows DBAto provide guidanceand evaluate work

ProductionDatabase

StagingDatabase

SandboxDatabase

SandboxDatabase

SandboxDatabase

Page 14: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

DBPro

TFSServer

Automated Build & Testing

Build Server

Test

DBA

ProductionDatabase

StagingDatabase

Get Latest

TestEnvironment

Reports

Page 15: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Deploy the Project

DatabaseProject

Sync from

Label SQL

Deploy ScriptBuild

Deploy

Refine deploy script

Verify

DBPro

TFSServer

DBA

ProductionDatabase

StagingDatabase

Publish

Page 16: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Schema Model

Schema CompilationSource

Database

.dbschemafile

Project System

DDL Scripts(artifacts)

Reverse engineer schemainto DDL artifacts

Compose model representationfrom source code fragments

Build

Interpret,Analyze andValidate

Schema Model

Page 17: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Schema Deployment

Schema Model

TargetDatabase

Schema Model

.dbschemafile

Deployment Engine

Model Diff

Incremental Target UpdateAdditional schema artifacts

.SQL

Plan Executors

Page 18: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

the strategic IT asset for your organisation

demo

DB Life Cycle

Page 19: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Data Generation

• Shipped with the product– Data-bound, Regular Expression, Random Number

• Available as a Power Tool– File-bound and a Wizard tools to ease the process

• Codeplex – DbProGenerators– Lorem Ipsum, sparse columns, XML bound, Word

bound and web search bound• Plus what you write yourself.....

Page 20: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

the strategic IT asset for your organisation

demo

Data Generation

Page 21: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Testing in DB Pro• Firstly remember that can test any CLR code before loading it into SQL Server• DBPro adds database tests that can be used to test any stored procedure, function, trigger or DB object• A single test project can contain a variety of test types• Can be used to auto generate test stubs

Page 22: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

the strategic IT asset for your organisation

demo

Automated Testing

Page 23: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Is DB Testing Valid?

• You have to ask how useful it is to test at the raw data layer?

• Usually more effective to test the DB via the data access layer or as part of integration testing

Page 24: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

MSBuild• All the key DB tasks can be scripted• Database operations can become part of a scheduled build• However this can all get a bit complex and DBPro MSBuild tasks are a bit idiosyncratic.• Check the web for examples

Page 25: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

The Future

• Developer & Database Team Editions merged

• Database Schema Providers– Publicly extensible in Visual Studio 2010– Quest Software announced that they will offer a

Database Schema Provider (DSP) for Oracle– Partnership with IBM provides DB2 support

• Contextual Project Feature Extensibility– Publicly extensible in Visual Studio 2010

Page 26: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Summary

• Visual Studio Team Edition for Database Professionals make SQL development part of the project mainstream.

• Team System coupled with integrated version control helps to mitigate risks associated with DB schema change

• Build integration provides for quality tracking and improvement

• Process reduces last minute problems and the need to rollback changes out of production

Page 27: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

Good VSTS Blogs

• Gert Drapers (was Architect/Development Manager Visual Studio Team Edition for DB Professionals, but moved to new team Mar 09)–  http://blogs.msdn.com/gertd

• VSTS DB Team Blog (replaces Gert’s blog)– http://blogs.msdn.com/vstsdb/

• Brian Harry (Product Unit Manager for Team Foundation Server)– http://blogs.msdn.com/bharry

Page 28: Making the SQL developer one of the family with Visual Studio Team System

blackmarble

For Further Information

• My random thoughts ‘But it works on my PC!’ http://blogs.blackmarble.co.uk/blogs/rfennell

• You can also get in touch via: Email – [email protected] WebSite – www.blackmarble.co.uk