Title: Introduction to Visual Studio Team System Team Edition for Database Professionals
1Introduction to Visual Studio Team SystemTeam
Edition for Database Professionals
- Adam Gallant
- Developer Solutions Technical Specialist
- adam.gallant_at_microsoft.com
- Blog http//blogs.msdn.com/adamga
2Where are you attending from?
Live Meeting Poll
- Where are you attending from?
- Canada
- United States
- South America
- Europe
- Middle East/Africa
- Asia/New Zealand/Australia
- Non-planetary
Changes directly made to this slide will not be
displayed in Live Meeting. Edit this slide by
selecting Properties in the Live Meeting
Presentation menu.
3What is your primary role?
Live Meeting Poll
- What best describes the role you primarily play
in your organization? - Business Stakeholder
- Procurement
- Project Manager/Development Manager
- Developer
- Database Pro
- Test and UAT
- Architect
Changes directly made to this slide will not be
displayed in Live Meeting. Edit this slide by
selecting Properties in the Live Meeting
Presentation menu.
4Visual Studio Team SystemApplication Life Cycle
Management (ALM) Solution
5What are Team Editions?
- These are all FULL versions of Visual Studio
- Visual Studio Professional at the core
- Build any type of application (Web, Windows,
Device, etc) - They ADD specific tools to drive
- Quality
- Productivity
- New Capabilities
- Include CAL for TFS
6Visual Studio Team Editions
SoftwareArchitects
SoftwareDevelopers
DatabaseProfessionals
SoftwareTesters
VisualStudioIndustryPartners
VisualStudioTeamExplorer
Application Modeling
Code Analysis
Performance Testing
Database Change Management
Infrastructure and Deployment Modeling
Performance Tuning
Manual Testing
Database Testing
Test Case Management
Database Build Deployment
Security Analysis
Unit Testing
Code Coverage
Class Modeling
Visio and UML Modeling
Visual Studio Professional Edition
Load Test Agent
Visual Studio Team Foundation Server
Change Management
Reporting
Integration Services
Work Item Tracking
Project Site
Project Management
7Conceptual Overview
Tuning Monitoring
- Difficult to Manage Change to the schema
- Production Database is one version of the truth
for Data and Schema - DBA doesnt have access to changes until he/she
has deploy or reject choice - Changes often made to production database and not
rolled back into test
Schema Changes
One Version of the Truth for Data and Schema
8Conceptual Overview
- Schema Change now managed in VSTS and TFS
- Production Database is now One version of the
truth only for Data - DBA doesnt have access to changes until he/she
has deploy or reject choice - One Version of the truth for Schema is Under
Source Control
Tuning Monitoring
One Version of the Truth for Data
- Changes can be rolled out in a scheduled, managed
way - Scripts allow administrators to mange change
updates
One Version of the Truth for Schema
- Offline
- Under Source Control
Schema Changes
9Key Themes
- Manage Database Schema Change
- Enable Version Control for Database schema
- Mitigate Risk of those changes
- Leverage the Sandbox
- Establish the Database Development Lifecycle (
DDLC ) - Support iterative development
- Incorporate the DDLC into the Software
Development Lifecycle ( SDLC ) - Holistic Application
10Off-line Development
- Import database schema to populate project from
existing database - Changes to schema traditionally have immediate
affect - With off-line project nothing changes until you
deploy the change
Create table AUCTION ( id int not null, title
varchar(25) not null, startDate DateTime not
null, length in not null)
11Creating a Project
- Represents the off-line database
- You are NOT connected to a live database!
- Simply a series of files collected together into
a single logical collection - The files represent the truth of your schema
- Connects to SCCI providers for versioning such as
Team Foundation Server - The database project is a first class project
along with the other VS project types ( C /
VB.NET / C, etc. )
12Test Data
- To create a solid foundation for testing we
support data generation - Deterministic always generate the same layout
- Matched to your schema and very customizable
- Extensible mechanism, build your own generators
distributions - Bottom Line Realistic values with representative
distributions
13Database Unit Testing
- Unit Testing helps ensure that changes do not
break existing code - Unit test designer is SQL focused
- Work in the language of your choice TSQL,
VB.NET, C - Builds on existing Team Test Unit Test
functionality - Integrate your database tests along side your
application unit tests - We can test the following
- Generate test stubs for these types
- Stored Procedures, Functions, Triggers
- Arbitrary SQL
14Refactoring
- Bring power of refactoring to SQL
- Cascading Change
- Update all dependent objects in database project
- Schema objects, Data generation, Unit Tests, SQL
Scripts - Preview all changes
- Make an atomic change
- Global Undo
- Rename
- Meet corporate standards
- Better express semantic intent clarity
15Build/Deploy
- Standard MSBuild task
- Configurations
- New vs. Incremental Updates
- Project properties for build
- Pre/Post Deployment scripts
- Build results in SQL script file
- Deploy
- Deploy via SQL query tool
- Deploy via MSBuild task
- SQLCMD command support
16Demo IDE Tour
17Incorporate the Database Professional into the
software lifecycle and provide them with a
foundation for change management and process
integration.
- Change Management
- Project Based Development
- Project Model that represents schema as objects
providing a personal sandbox for offline
development that lives within a Visual Studio
Solution - Team Collaboration with Work Item and Process
Integration with Team Foundation Server - Automated Change Support
- Rename Refactoring with the ability to preview
pending changes prior to execution - Comparison Tools (Schema Data Compare) allow
comparisons synchronization of schema and data
with design/test/production databases - Source/Version Control of all database objects
with the ability to reverse engineer a database
to bring it under Source Control - Database Unit Testing
- Leverages the Test Project Infrastructure
- Generate Real and Meaningful Data Values
through the ability to import information such as
Row Counts and histograms from a real database - Data Generator provides Repetitive Dataset
Generation for tests based on saved settings - Build / Deployment
- MSBuild Integration for Database
Deployments/Builds based on Projects - Either Create a new Database at the target
location or Update an Existing Schema
18Visual Studio Team System Team Suite
Premier version of Visual Studio Includes ALL
functionality in all Team Editions Simplest
Licensing Model Most Functional Model
19How do I get started?
- Evaluate the Team Editions today
- Trial Editions
- http//msdn2.microsoft.com/en-us/teamsystem
- Get free Basics Training!
- Modules, Hands-on Labs, fully configured Virtual
Image - http//www.microsoft.com/downloads/details.aspx?fa
milyid527E2A17-1DEA-4D0B-9484-6AE43D00E570displa
ylangen - Other VSTS Webcasts
- Search http//blogs.msdn.com/adamga for Team
System Webcast
20Other Resources
- Visual Studio Team System home page
- http//msdn2.microsoft.com/en-us/teamsystem
- Visual Studio Team System community portal
- http//vstsrocks.net
- Slides
- http//adamga.officeisp.net
- My Blog
- http//blogs.msdn.com/adamga