Download presentation
Presentation is loading. Please wait.
Published byEvan Turner Modified over 10 years ago
1
black marble the strategic IT asset for your organisation DEVELOPMENT LIFE CYCLE USING VISUAL STUDIO TEAM EDITION FOR DB PROFESSIONALS Richard Fennell Engineering Director Leeds SQL Users Group 19 th July 2008
2
black marble 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
3
black marble 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 standard way to manage the DB – until now
4
ExcelProject Operations, QA and Help Desk Non-Microsoft Developer Team System Web Access Visual Studio Team System Application Life Cycle Management (ALM) Solution
5
black marble Visual Studio for Database Professionals Was known as DataDude in beta phase Came out in 2006, a year after the main VS 2005 release. New release VS 2008 is really more of a service pack than a major release.
6
black marble DB Pro provides support for the full database lifecycle Schema Import Manage Schema Compare with external DB Associated changes with work items Run testsDeploy
7
black marble DBPro Features 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
8
black marble DBPro Features Database Unit Testing –Leverages the existing Test Project Infrastructure –Supports data generation Build and Deployment –MSBuild and Team Build integration
9
black marble Power Tools Power Tools add additional features that didnt make the product release cycle –Dependency Viewer –New Refactorings –Data Generation Wizard –MSBuild Tasks –T-SQL Static Code Analysis –Schema Manager API
10
black marble Team Foundation Server Integration As a member of the Visual Studio Team System family, DBPro is integrated with all of the team features TFS provides –Team project with prescriptive guidance –Version control management –Work Item tracking –Team Build integration
11
Writes Tests Writes DB Code Refactors Runs Tests Checks In Works with other developers to integrate Writes Tests Writes DB Code Refactors Runs Tests Checks In Works with other developers to integrate Reviews Changes Compares Updates to Production Builds Deploy Package Deploys to Production Reviews Changes Compares Updates to Production Builds Deploy Package Deploys to Production Creates New DB Project Reverse Engineers DB to Project Creates Data Generation Plan Creates New DB Project Reverse Engineers DB to Project Creates Data Generation Plan DB Developer DB Administrator Manage Develop Deploy Roles in a DB Project DB Administrator
12
Creating the DB Project DatabaseProjectDatabaseProject Import schema Check in to Source Control ProductionDatabase StagingDatabase Create a Project DBA DBPro TFS Server
13
DBPro DBA Isolated Iterative Development SyncSync Check-outCheck-out Edit/RefactorEdit/Refactor TestTest Check-inCheck-in Work is being driven and tracked via work itemsWork is being driven and tracked via work items Other team members can pick up changesOther team members can pick up changes TFS Shelving allows DBA to provide guidance and evaluate work Production Database Staging Database Sandbox Database Sandbox Database Sandbox Database
14
DBPro TFS Server Automated Build & Testing Build Server Test DBA Production Database Staging Database Get Latest TestEnvironment Reports
15
Deploy the Project DatabaseProjectDatabaseProject Sync from Label SQLDeployScript Build Deploy Refine deploy script Verify DBPro TFS Server DBA Production Database Staging Database Publish
16
black marble the strategic IT asset for your organisation demo demo DB Life Cycle
17
black marble So what DBs did I end up with? Live DBVS Dev DB Local Test DB Live production DB You may also have a test or staging DB DB Created by Visual Studio Used by IDE for design time validation Developers Test DB Used for sandbox testing (might be shared)
18
black marble 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, soon XML bound, Word bound and web search bound Plus what you write yourself.....
19
black marble the strategic IT asset for your organisation demo demo Data Generation
20
black marble 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
21
black marble the strategic IT asset for your organisation demo demo Automated Testing
22
black marble 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
23
black marble 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
24
black marble The Future VSTS 2008 Database Edition GDR June CTP –Architectural changes No longer requires a local SQL Server instance Providers are not restricted to relational database –Project System Database & Server project separation Partial projects –Build & Deploy Separation of the build and deployment process –Refactoring Implementation of a feature named "Preservation of Intent"
25
black marble 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
26
black marble Good VSTS Blogs Brian Harry (Product Unit Manager for Team Foundation Server ) –http://blogs.msdn.com/bharry Rob Caron (Lead Product Manager for Developer Content Strategy at Microsoft) –http://blogs.msdn.com/robcaron Gert Drapers (Architect/Development Manager Visual Studio Team Edition for DB Professionals ) – http://blogs.msdn.com/gertd
27
black marble 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 – richard@blackmarble.co.uk WebSite – www.blackmarble.co.uk
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.