Introduction to Visual Studio Team System for Database

Download Report

Transcript Introduction to Visual Studio Team System for Database

(code name: Data Dude)
INTRODUCTION TO VISUAL STUDIO TEAM
EDITION FOR DATABASE PROFESSIONALS
Josh Robinson
[email protected]
Aculix
A BRIEF HISTORY OF “DATA DUDE”
Need was identified to find missing member of
Visual Studio family
 Eric Rudder decided missing persona should be
called “Data Dude”
 Project focus: Replace“PROD” database with
system to hold “one version of the truth”
 Development began Sept 1, 2005

4
Developers at start
WHAT DO I GET OUT OF THE BOX?

Manage DB change through schema management



Source control for DBs


Generate scripts/apply updates
Data generation


Ability to store different versions as changesets
Schema and data compare


“One version of the truth”
Offline sandbox for multiple developers
Generate meaningful test data automatically
DB Unit tests

Same test infrastructure as rest of Team System (uses SQL)
WHERE DOES DATA DUDE FIT IN?
MSF Process and Guidance
Visual Studio Team Suite
Visual
Studio
Team
Explorer
Software
Architects
Application
Modeling
Infrastructure and
Deployment
Modeling
Software
Developers
Code Analysis
Performance
Tuning
Software
Testers
Performance
Testing
Manual Testing
Test Case
Security Analysis Management
New!
Database
Professionals
Database
Change
Management
Database Testing
Database Build &
Deployment
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
Visual
Studio
Industry
Partners
HOW IS IT ALL CONNECTED?
 Import
database schema to populate
project from existing database
 Changes to schema traditionally have
immediate affect
Production
 With off-line project nothing changesDatabase
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)
Test
Database
WHAT DOES A DEVELOP SCENARIO LOOK LIKE?
Manage
Develop
Deploy
Creates New DB
Project
Writes Tests
Reviews Changes
Writes DB Code
Refactors
Compares Updates to
Production
Runs Tests
Builds Deploy Package
Checks In
Deploys to Production
Reverse Engineers DB
to Project
Creates Data
Generation Plan
DBA
DB DEVELOPER
DBA
WHAT IS A DATABASE PROJECT?
Core concept: off-line database development
“Schema” projects
Microsoft SQL Server 2000
Microsoft SQL Server 2005
Simply a series of files collected together into a
single logical collection
Objects are stored as .SQL files at the most atomic
level
Schema view versus file view
WHAT’S INCLUDED IN A SCHEMA PROJECT?

Included
 All
SQL Server objects within a user database
 Must
be user-created objects
 Schema
folders reflect the SQL version
 i.e.
“Service Broker” objects only appear in SQL 2005
projects

Not Included
 System
 Team
objects like logins, custom error messages
DB “knows” about them, included in scripts
DEMO – CREATE A PROJECT AND IMPORT A
DATABASE
BUILD AND DEPLOY A DATABASE SCHEMA
Standard MSBuild task
Configurations
New versus existing builds
Project properties for build
Schema compare used for build
Pre/Post Deployment scripts
Build results in SQL script file
Deploy
SQL query tool; Deploy via MSBuild task
SQLCMD command support
DEMO – BUILD AND DEPLOY A DATABASE
HOW IS DATA GENERATION IMPLEMENTED?
Data generation is used to create a solid
foundation for testing
Deterministic – always generate the same
layout
Matched to your schema and very customizable
Extensible mechanism, build your own data
generators
Will support histograms and distributions in
final release
DEMO – GENERATE TEST DATA
WHAT CAN I TEST?
Stored Procedures
 Functions
 Triggers
 Arbitrary SQL
 Support at RTM to automatically deploy changes to
test system and generate data
 Deterministic data generation ensures stable test
state
 Can test with your application tier because of
common framework

DEMO – CREATE A DATABASE UNIT TEST
DATABASE REFACTORING

Bring power of refactoring to SQL


Cascading Change
Update all dependent objects in database project

Schema objects, Data generation, Unit Tests, SQL
Scripts
Make an atomic change, see preview
 Rename

Meet corporate standards
 Better express semantic intent – clarity


Supports global undo to back out any change
DEMO – REFACTORING THE DATABASE
SCHEMA COMPARE

Allows comparisons of:






Full SQL Server 2000 and 2005 support
Object level script difference between DBs
Notifies when data loss may occur
Generate script or apply changes directly
It’s smart!


Project -> database; database -> database
understands constraints, creates temp tables to hold data,
more
Compare security settings

Users, roles and permissions
DEMO – SCHEMA COMPARE
PRICING, LICENSING AND AVAILABILITY
Included in Team Suite at No Extra Cost
 Purchase as an individual Edition


Same pricing as other Team System Editions
 Retail
Price - $5469
 Many Discounts available
 http://msdn.microsoft.com/vstudio/howtobuy/default.aspx

Availability

CTP 5 Available Today (CTP 6 out soon)
 http://msdn.microsoft.com/vstudio/teamsystem/products/db
pro/

RTM By the end of 2006
THE END