dev217 introducing visual studio team edition for database professionals thomas murphy...
TRANSCRIPT
DEV217Introducing Visual Studio Team Edition for Database Professionals
DEV217Introducing Visual Studio Team Edition for Database Professionals
Thomas MurphyThomas [email protected]@microsoft.comGroup Program ManagerGroup Program ManagerMicrosoft CorporationMicrosoft Corporation
Matt Nunn Matt Nunn [email protected]@microsoft.com Sr. Product Managerm Sr. Product ManagerMicrosoft CorporationMicrosoft Corporation
AgendaAgenda
Managing Database ChangeManaging Database ChangeWhere is the Truth?Where is the Truth?
Team System Data Core ScenarioTeam System Data Core Scenario
Projects and Data GenerationProjects and Data Generation
Ensuring Change - TestingEnsuring Change - Testing
Making Managed ChangeMaking Managed Change
Build and DeployBuild and Deploy
Q&AQ&A
Other SessionsOther Sessions
Introducing Visual Studio Team Edition for Introducing Visual Studio Team Edition for Database ProfessionalsDatabase Professionals
DEV217 - 6/13/2006 10:15AM - 11:30AM, room: 104 ABCDEV217 - 6/13/2006 10:15AM - 11:30AM, room: 104 ABC
Managing and Deploying your SQL Server Managing and Deploying your SQL Server Schemas with Visual Studio Team Edition for Schemas with Visual Studio Team Edition for Database ProfessionalsDatabase Professionals
DAT312 - 6/13/2006 1:00PM - 2:15PM, room: 156 ABCDAT312 - 6/13/2006 1:00PM - 2:15PM, room: 156 ABC
Testing & Refactoring your Database with Visual Testing & Refactoring your Database with Visual Studio Team Edition for Database ProfessionalsStudio Team Edition for Database Professionals
DAT320 - 6/14/2006 8:30AM - 9:45AM, room: 160 ABCDAT320 - 6/14/2006 8:30AM - 9:45AM, room: 160 ABC
Under the Hood of Visual Studio Team Edition for Under the Hood of Visual Studio Team Edition for Database ProfessionalsDatabase Professionals
DAT433 - 6/15/2006 1:00PM - 2:15PM, room: 160 ABCDAT433 - 6/15/2006 1:00PM - 2:15PM, room: 160 ABC
Hands on Labs – 4 labs to use the productHands on Labs – 4 labs to use the product
Focus Groups – sign-up at our BoothFocus Groups – sign-up at our Booth
Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System
Visual Visual StudioStudio• ProductivityProductivity• PowerfulPowerful• Ease of useEase of use• World class IDEWorld class IDE• Broad reachBroad reach
Developer
Architect
ProjectManager
Tester
Designer
Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System
VS Team VS Team SystemSystem
• Expand to development Expand to development teamteam
• Business results from ITBusiness results from IT• Team productivity and Team productivity and
collaborationcollaboration• Integrated qualityIntegrated quality
Developer
Business
Analyst
PMO
Operations
CIO
Application
Support
Architect
ProjectManager
Tester
Designer
Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System
Developer
Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System
Business
Analyst
PMO
Operations
CIO
Application
Support
Architect
ProjectManager
Tester
Designer
Developer
DB Pro
Team Edition for Team Edition for Database Database ProfessionalsProfessionals
• Expand to database teamsExpand to database teams• Manage Database ChangeManage Database Change• Extend Team productivity and Extend Team productivity and
collaborationcollaboration• Integrated qualityIntegrated quality
What we heard from customersWhat we heard from customersor “why did we build it…”or “why did we build it…”
Managing Database Change is hard….Managing Database Change is hard….A Rollback means a LONG night.A Rollback means a LONG night.
Development Teams can end up working with Development Teams can end up working with out of date versionsout of date versions
Loss of revenue because the release wasn’t Loss of revenue because the release wasn’t synchronizedsynchronized
Finding errors at the end of the development Finding errors at the end of the development cyclecycle
More costly than finding them earlyMore costly than finding them early
Increased support cost when you break an Increased support cost when you break an application from a database updateapplication from a database update
Disconnect between development and Disconnect between development and database teamsdatabase teams
Need to be more integratedNeed to be more integrated
Incorporate the Database Professional into the software lifecycle and Incorporate the Database Professional into the software lifecycle and provide them with a foundation for change management and process provide them with a foundation for change management and process
integration.integration.
Incorporate the Database Professional into the software lifecycle and Incorporate the Database Professional into the software lifecycle and provide them with a foundation for change management and process provide them with a foundation for change management and process
integration.integration.Change ManagementChange Management
Project Based DevelopmentProject Based DevelopmentProject ModelProject Model that represents schema as objects providing a “personal sandbox” for offline that represents schema as objects providing a “personal sandbox” for offline development that lives within a Visual Studio Solutiondevelopment that lives within a Visual Studio Solution
Team CollaborationTeam Collaboration with Work Item and Process Integration with Team Foundation Serverwith Work Item and Process Integration with Team Foundation Server
Automated Change SupportAutomated Change SupportRename RefactoringRename Refactoring with the ability to preview pending changes prior to execution with the ability to preview pending changes prior to execution
Comparison ToolsComparison Tools (Schema & Data Compare) allow comparisons (Schema & Data Compare) allow comparisons & synchronization of schema & synchronization of schema and data with design/test/production databases and data with design/test/production databases
Source/Version ControlSource/Version Control of all database objects with the ability to reverse engineer a database of all database objects with the ability to reverse engineer a database to bring it under Source Controlto bring it under Source Control
Database Unit TestingDatabase Unit TestingLeverages theLeverages the Test Project Infrastructure Test Project Infrastructure
GenerateGenerate “Real and Meaningful” “Real and Meaningful” Data ValuesData Values through the ability to import information such as through the ability to import information such as Row Counts and histograms from a real databaseRow Counts and histograms from a real database
Data Generator provides Data Generator provides Repetitive Dataset GenerationRepetitive Dataset Generation for tests based on saved settings for tests based on saved settings
Build / DeploymentBuild / DeploymentMSBuild Integration MSBuild Integration for Database Deployments/Builds based on Projects for Database Deployments/Builds based on Projects
Either Either CreateCreate a new Database at the target location or a new Database at the target location or UpdateUpdate an Existing Schema an Existing Schema
Conceptual OverviewConceptual Overview
Difficult to Manage Difficult to Manage Change to the Change to the schemaschema
Production Database Production Database is one version of the is one version of the truth for Data and truth for Data and SchemaSchema
DBA doesn’t have DBA doesn’t have access to changes access to changes until he/she has until he/she has deploy or reject deploy or reject choicechoice
Changes often made Changes often made to production to production database and not database and not rolled back into testrolled back into test
ProductiProduction on
DatabaseDatabase
ProductiProduction on
DatabaseDatabase
ManagemeManagement Studiont Studio
TuningTuningMonitoringMonitoring
““One Version of One Version of the Truth”the Truth” for for Data and Data and SchemaSchema
SchemaSchemaSchema ChangesSchema Changes
Conceptual OverviewConceptual OverviewProductiProducti
on on DatabaseDatabase
ProductiProduction on
DatabaseDatabase
ManagemeManagement Studiont Studio
TuningTuningMonitoringMonitoring
““One Version of One Version of the Truth”the Truth” for for DataData
““One Version of the One Version of the Truth”Truth” for for Schema Schema •Offline Offline •Under Source Under Source ControlControl
SchemaSchema
Schema ChangesSchema Changes
Changes can be rolled out Changes can be rolled out in a scheduled, managed in a scheduled, managed wayway
Scripts allow Scripts allow administrators to mange administrators to mange change updateschange updates
Schema Change now Schema Change now managed in VSTS and TFSmanaged in VSTS and TFS
Production Database is now Production Database is now “One version of the truth” “One version of the truth” only for Dataonly for Data
DBA doesn’t have access to DBA doesn’t have access to changes until he/she has changes until he/she has deploy or reject choicedeploy or reject choice
““One Version of the truth for One Version of the truth for Schema” is Under Source Schema” is Under Source ControlControl
Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SuiteVisual Studio Team Suite
MS
F P
rocess a
nd
Gu
idan
ce
MS
F P
rocess a
nd
Gu
idan
ce
Visual Studio Team Foundation ServerVisual Studio Team Foundation Server
VisualVisualStudioStudio
IndustryIndustryPartnersPartners
SoftwareSoftwareArchitectsArchitects
SoftwareSoftwareDevelopersDevelopers
SoftwareSoftwareTestersTesters
DatabaseDatabaseProfessionalsProfessionalsVisualVisual
StudioStudioTeamTeam
ExplorerExplorerApplication Application ModelingModeling
Infrastructure Infrastructure and Deployment and Deployment
ModelingModeling
Code AnalysisCode Analysis
Performance Performance TuningTuning
Security AnalysisSecurity Analysis Database Database Build &Build &
Deployment Deployment
Database Database Change Change
ManagementManagementDatabase Database TestingTesting
Performance Performance TestingTesting
Manual TestingManual Testing
Test Case Test Case ManagementManagement
Visual Studio Professional Visual Studio Professional EditionEdition
Change ManagementChange Management
Work Item TrackingWork Item Tracking
ReportingReporting
Project SiteProject Site
Integration ServicesIntegration Services
Project ManagementProject Management
Load Test AgentLoad Test Agent
Visio and UML Visio and UML ModelingModeling
Class Class ModelingModeling
Unit TestingUnit Testing
Code Code CoverageCoverage
New!New!
Single data repositoryoffers true insight
Real-time reportsfor real-time decisions
Process managementminimizes variability
Team Foundation ServerTeam Foundation ServerMitigating project risksMitigating project risks
T E
A M
D
B
D E
V E
L O
P M
E N
T
W I
T H
D
B P
RO
Writes Tests
Writes DB Code
Refactors
Runs Tests
Checks InReviews Changes
Compares Updates to Production
Builds Deploy Package
Deploys to Production
Creates New DB Project
Reverse Engineers DB to Project
Creates Data Generation Plan
ManageManage DevelopDevelop DeployDeploy
DBA DB DEVELOPER DBA
Walkthrough ScenarioWalkthrough Scenario“Managed Database Evolution for Northwind “Managed Database Evolution for Northwind Traders”Traders”
Creating a ProjectCreating a Project
Core concept: off-line database Core concept: off-line database developmentdevelopment
Simply a series of files collected together Simply a series of files collected together into a single logical collectioninto a single logical collection
The files represent the truth of your The files represent the truth of your schemaschema
Can be included in complete solutionCan be included in complete solution
Connects to SCCI providers for versioning Connects to SCCI providers for versioning such as Team Foundation Serversuch as Team Foundation Server
For Additional Details See DAT312For Additional Details See DAT312
Test Test DatabaseDatabase
Test Test DatabaseDatabase
Production Production DatabaseDatabase
Production Production DatabaseDatabase
Create table AUCTION( id int not null,title varchar(25) not null,startDate DateTime not null,length in not null)
Import database schema to Import database schema to populate project from existing populate project from existing databasedatabaseChanges to schema traditionally Changes to schema traditionally have immediate affecthave immediate affectWith off-line project nothing With off-line project nothing changes until you deploy the changes until you deploy the changechange
Off-line DevelopmentOff-line Development
Test DataTest Data
To create a solid foundation for testing we To create a solid foundation for testing we support data generationsupport data generation
Deterministic – always generate the same Deterministic – always generate the same layoutlayout
Matched to your schema and very Matched to your schema and very customizablecustomizable
Extensible mechanism, build your own Extensible mechanism, build your own generatorsgenerators
Will support histograms and distributions in Will support histograms and distributions in final releasefinal release
Feature: DataGeneratorFeature: DataGenerator
The Project System and The Project System and Import Database SchemaImport Database SchemaThe Project System and The Project System and Import Database SchemaImport Database Schema
A Rollback Means a LONG NightA Rollback Means a LONG Night
Unit Testing helps ensure that changes do Unit Testing helps ensure that changes do not break existing codenot break existing code
Unit test designer is SQL focusedUnit test designer is SQL focusedWork in the language of your choice: TSQL, VB, Work in the language of your choice: TSQL, VB, C#C#
Builds on existing Team Test Unit Test Builds on existing Team Test Unit Test functionalityfunctionality
For Additional Details see DAT320For Additional Details see DAT320
What We Can TestWhat We Can Test
Stored ProceduresStored Procedures
FunctionsFunctions
TriggersTriggers
Arbitrary SQLArbitrary SQL
Support at RTM to automatically deploy Support at RTM to automatically deploy changes to test system and generate datachanges to test system and generate data
Deterministic data generation ensures Deterministic data generation ensures stable test statestable test state
Can test with your application tier because Can test with your application tier because of common frameworkof common framework
Ensure Change with a Test Ensure Change with a Test FoundationFoundationEnsure Change with a Test Ensure Change with a Test FoundationFoundation
Managed ChangeManaged ChangeManaged ChangeManaged ChangeControlling what happensControlling what happens
Managed ChangeManaged Change
Changes are local to projectChanges are local to project
Project can be compared with databaseProject can be compared with database
All elements can be managed under All elements can be managed under version controlversion control
Any SCCI compliant version systemAny SCCI compliant version system
Template driven Template driven Version specific SQL 2000 or SQL 2005Version specific SQL 2000 or SQL 2005
Working With the ProjectWorking With the Project
Add new elements Add new elements
Modify existing elementsModify existing elements
Delete ItemsDelete Items
Deploy new or incremental updateDeploy new or incremental update
RefactoringRefactoring
Bring power of refactoring to SQLBring power of refactoring to SQLCascading ChangeCascading Change
Update all dependent objects in database Update all dependent objects in database project project
Schema objects, Data generation, Unit Tests, Schema objects, Data generation, Unit Tests, SQL ScriptsSQL Scripts
Make an atomic change, see preview Make an atomic change, see preview
RenameRenameMeet corporate standardsMeet corporate standards
Better express semantic intent – clarityBetter express semantic intent – clarity
For Additional Details in DAT320For Additional Details in DAT320
Build/DeployBuild/Deploy
Standard VS build taskStandard VS build taskConfigurationsConfigurations
New vs. Update buildsNew vs. Update buildsProject properties for buildProject properties for buildSchema compare used for buildSchema compare used for build
Pre/Post Deployment scriptsPre/Post Deployment scriptsBuild results in SQL script fileBuild results in SQL script fileDeploy Deploy
Deploy via SQL query toolDeploy via SQL query toolDeploy via MSBuild taskDeploy via MSBuild taskRTM: SQLCMD command supportRTM: SQLCMD command support
For Details Attend DAT312For Details Attend DAT312
Pricing, Licensing and Pricing, Licensing and AvailabilityAvailability
Included in Team Suite at No Extra CostIncluded in Team Suite at No Extra Cost
Purchase as an individual EditionPurchase as an individual EditionSame pricing as other Team System EditionsSame pricing as other Team System Editions
Retail Price - $5469Retail Price - $5469
Many Discounts available Many Discounts available
http://msdn.microsoft.com/vstudio/howtobuy/http://msdn.microsoft.com/vstudio/howtobuy/default.aspxdefault.aspx
AvailabilityAvailabilityCTP 3 Available TodayCTP 3 Available Today
Pick up a copy in the Blue TLC AreaPick up a copy in the Blue TLC Area
http://msdn.microsoft.com/vstudio/teamsystem/http://msdn.microsoft.com/vstudio/teamsystem/products/dbpro/products/dbpro/
RTM By the end of 2006RTM By the end of 2006
Wrap UpWrap Up
Managed, project oriented evolution of Managed, project oriented evolution of database schema – no more rollbacksdatabase schema – no more rollbacks
Go get the CTP at our booth and try it out Go get the CTP at our booth and try it out on your databaseson your databases
http://msdn.microsoft.com/http://msdn.microsoft.com/
Report feedback (good & bad)Report feedback (good & bad)http://forums.microsoft.com/MSDN/http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=725&SiteID=1ShowForum.aspx?ForumID=725&SiteID=1
Further Questions:Further Questions:Thomas: [email protected]: [email protected]
Other SessionsOther Sessions
Managing and Deploying your SQL Server Managing and Deploying your SQL Server Schemas with Visual Studio Team Edition Schemas with Visual Studio Team Edition for Database Professionalsfor Database Professionals
DAT312 - 6/13/2006 1:00PM - 2:15PM, room: DAT312 - 6/13/2006 1:00PM - 2:15PM, room: 156 ABC156 ABC
Testing & Refactoring your Database with Testing & Refactoring your Database with Visual Studio Team Edition for Database Visual Studio Team Edition for Database ProfessionalsProfessionals
DAT320 - 6/14/2006 8:30AM - 9:45AM, room: DAT320 - 6/14/2006 8:30AM - 9:45AM, room: 160 ABC160 ABC
Under the Hood of Visual Studio Team Under the Hood of Visual Studio Team Edition for Database ProfessionalsEdition for Database Professionals
DAT433 - 6/15/2006 1:00PM - 2:15PM, room: DAT433 - 6/15/2006 1:00PM - 2:15PM, room: 160 ABC160 ABC
DATLC10: Q&A: Managing and Deploying Your SQL Server Schemas DATLC10: Q&A: Managing and Deploying Your SQL Server Schemas with Visual Studio Team Edition for Database Professionalswith Visual Studio Team Edition for Database Professionals
Tuesday, June 13, 4:30 PM - 5:45 PMTuesday, June 13, 4:30 PM - 5:45 PM
Richard Waymire; Mairead O'DonovanRichard Waymire; Mairead O'Donovan
DATLC16: Q&A: Testing and Refactoring Your Database with Visual DATLC16: Q&A: Testing and Refactoring Your Database with Visual Studio Team Edition for Database ProfessionalsStudio Team Edition for Database Professionals
Thursday, June 15, 8:00AM – 9:15AMThursday, June 15, 8:00AM – 9:15AM
Gert Drapers; Sachin RekhiGert Drapers; Sachin Rekhi
DEVTLC17: Q&A: Visual Studio Team Edition for Database DEVTLC17: Q&A: Visual Studio Team Edition for Database Professionals: OverviewProfessionals: Overview
Thursday, June 15 9:45 AM - 11:00 AM Thursday, June 15 9:45 AM - 11:00 AM
The Team Data TeamThe Team Data Team
DATLC20: Q&A: Under the Hood of Visual Studio Team Edition for DATLC20: Q&A: Under the Hood of Visual Studio Team Edition for Database ProfessionalsDatabase Professionals
Thursday, June 15, 4:30 PM - 5:45 PMThursday, June 15, 4:30 PM - 5:45 PM
Gert DrapersGert Drapers
VSTE DB Pro ChalkTalksVSTE DB Pro ChalkTalks
VSTS DB Pro HOLsVSTS DB Pro HOLs
DEV008: Version Controlling your SQL DEV008: Version Controlling your SQL Server Database Schema with Visual Server Database Schema with Visual Studio Team Edition for Database Studio Team Edition for Database ProfessionalsProfessionals
DAT006: Managing Change to your SQL DAT006: Managing Change to your SQL Server Database Schema with Visual Server Database Schema with Visual Studio Team Edition for Database Studio Team Edition for Database ProfessionalsProfessionals
DEV024: Understanding Team Integration DEV024: Understanding Team Integration with Visual Studio Team Edition for with Visual Studio Team Edition for Database ProfessionalsDatabase Professionals
DAT015: Build and Deploy you SQL Server DAT015: Build and Deploy you SQL Server Database Schema with Visual Studio Team Database Schema with Visual Studio Team Edition for Database ProfessionalsEdition for Database Professionals
VSTS Breakout SessionsVSTS Breakout SessionsDEV304 - Delving into Visual Studio 2005 Team Edition for Software Architects
6/12/2006 10:45AM-12:00PM 160ABC
DEV307 - Delving into Visual Studio 2005 Team Edition for Software Developers
6/12/2006 1:30PM-2:45PM Grand Ballroom A
DEV311 - Delving into Visual Studio 2005 Team Edition for Software Testers
6/12/2006 5:00PM-6:15PM 104 ABC
DEV217 - Introducing Visual Studio 2005 Team Edition for Database Professionals
6/13/2006 10:15AM-11:30AM 104 ABC
DAT312 - Managing and Deploying Your SQL Server Schemas with Visual Studio Team Edition for Database Professionals
6/13/2006 1:00PM-2:15PM 156 ABC
DAT320 - Testing and Refactoring Your Database with Visual Studio Team Edition for Database Professionals
6/14/2006 8:30AM-9:45AM 160 ABC
DEV327 - Visual Studio 2005 Team Foundation Server (Part 1): Applying Version Control, Work Item Tracking and Team Build to Your Software Development Project
6/14/2006 10:15AM-11:30AM 160 ABC
DEV429 - Visual Studio 2005 Team Foundation Server (Part 2): Developing Custom Process Templates, Work Item Types and Policies
6/14/2006 2:00PM-3:15PM 160 ABC
DEV233 - Visual Studio 2005 Team Foundation Server: Using Metrics to Manage and Troubleshoot Your Projects
6/14/2006 5:30PM-6:45PM 153 ABC
DEV237 - Visual Studio 2005 Team Foundation Server: Step-by-Step Migration and Adoption Planning
6/15/2006 9:45AM-11:00AM 104 ABC
DEV439- Visual Studio 2005 Team System and Microsoft Solution Framework: Implementing an Agile or CMMI Process
6/15/2006 1:00PM-2:15PM 156 ABC
DAT433 Under the Hood of Visual Studio Team Edition for Database Professionals 6/15/2006
1:00PM-2:15PM 160 ABC
Hands on LabsHands on LabsDEV005 Streamlining your Development Process with Visual Studio 2005 Team SystemDEV005 Streamlining your Development Process with Visual Studio 2005 Team System
ChalktalksChalktalksBuilding Quality In: Visual Studio Team System and Continuous Integrated TestingBuilding Quality In: Visual Studio Team System and Continuous Integrated Testing
DEV TLC Theatre 6/14/2006 8:30AM-9:45AMDEV TLC Theatre 6/14/2006 8:30AM-9:45AMTeamlook and TeamSpec in ContextTeamlook and TeamSpec in Context Modeling that Supports Visual Studio 2005Modeling that Supports Visual Studio 2005
DEV TLC Theatre 6/14/2006 5:30PM-6:45PMDEV TLC Theatre 6/14/2006 5:30PM-6:45PMModeling that Supports Visual Studio 2005Modeling that Supports Visual Studio 2005
DEV TLC Theatre 6/14/2006 5:30PM-6:45PMDEV TLC Theatre 6/14/2006 5:30PM-6:45PMCode Generation and Model Execution from DSL ToolsCode Generation and Model Execution from DSL Tools
DEV TLC Theatre 6/15/2006 2:45PM-4:00PMDEV TLC Theatre 6/15/2006 2:45PM-4:00PM
VSTS HOL / TCLVSTS HOL / TCL
ResourcesResourcesTechnical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp
Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx
MSDN & TechNet http://microsoft.com/msdnhttp://microsoft.com/technet
Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx
Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Technical Community Siteshttp://www.microsoft.com/communities/default.mspx
User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx
Fill out a session Fill out a session evaluation on evaluation on CommNet for CommNet for
a chance toa chance toWin an XBOX Win an XBOX
360!360!
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.