visual studio team edition for database professionals microsoft confidential mario szpuszta software...
TRANSCRIPT
Visual Studio Team Editionfor Database Professionals
Visual Studio Team Editionfor Database Professionals
Microsoft Confidential
Mario SzpusztaSoftware ArchitectDeveloper & Platform GroupMicrosoft Österreich GmbH.
[email protected]://blogs.msdn.com/mszCool
MSDN Briefings – OrganisationMSDN Briefings – Organisation
Monthly technical briefingsCurrently released technologyYour current needs
Invitation / Registration / Feedbackhttp://blogs.msdn.com/msdnat http://blogs.msdn.com/talk
Well, what I am doing here?
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
Static Code AnalysisStatic Code AnalysisStatic Code AnalysisStatic Code Analysis
Unit TestingUnit TestingUnit TestingUnit Testing
Test Arch
PM
The Development Engine
IT Solution LifecycleIT Solution LifecycleIT Solution LifecycleIT Solution Lifecycle
Dev
ITGovernance
• Business process re-engineering• Demand generation• Business Value Capture• Outsourcing• Resource planning
OperationalExcellence
• Deployment• Impact analysis• Updates and Maintenance• App Health Monitoring• Security• Automated failover and recovery plans• Workflow customization
Value through “Better Together” integration across the Solution Lifecycle
Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System
Change Management
Work Item Tracking
Reporting
Project Site
Visual Studio
Team Foundation Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio
Team Architect
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client
VS Pro
Class Modeling
Load Testing
Manual Testing
Test Case Management
Application Modeling
Logical Infra. Modeling
Deployment Modeling
Visual Studio
Team DeveloperVisual Studio
Team Test
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Build Server
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
Product Overview (1)Product Overview (1)Product Overview (1)Product Overview (1)
Database Project SystemDatabase Project SystemSchema and Script VersioningSchema and Script Versioning
SCC IntegrationSCC Integration
T-SQL Editor with Query ExecutionT-SQL Editor with Query Execution
Database Schema ManagementDatabase Schema ManagementBuild & DeployBuild & Deploy
Schema CompareSchema Compare
Data CompareData Compare
Product Overview (2)Product Overview (2)Product Overview (2)Product Overview (2)
Database Unit TestingDatabase Unit Testing(Test) Data Generator(Test) Data Generator
Stored Procedure Unit TestingStored Procedure Unit Testing
Schema RefactoringSchema RefactoringVersion 1: Change names, onlyVersion 1: Change names, only
Future versions: indexes, constraints, relationsFuture versions: indexes, constraints, relations
Team Foundation Server IntegrationTeam Foundation Server IntegrationWork Item TrackingWork Item Tracking
Process IntegrationProcess Integration
Database Development Life CycleDatabase Development Life CycleThe cycle of life for database developersThe cycle of life for database developersDatabase Development Life CycleDatabase Development Life CycleThe cycle of life for database developersThe cycle of life for database developers
CompareCompare
TestTest
Data Data GenerationGeneration
DeployDeploy
Conceptual OverviewConceptual OverviewConceptual OverviewConceptual Overview
Difficult to Manage Difficult to Manage Change to the schemaChange to the schema
Production Database is Production Database is one version of the truth one version of the truth for Data and Schemafor Data and Schema
DBA doesn’t have DBA doesn’t have access to changes until access to changes until he/she has deploy or he/she has deploy or reject choicereject choice
Changes often made to Changes often made to production database production database and not rolled back into and not rolled back into testtest
Production DatabaseProduction Database
Management Studio
TuningMonitoring
“One Version of the Truth” for Data and Schema
SchemaSchemaSchema Changes
Conceptual OverviewConceptual OverviewConceptual OverviewConceptual OverviewSchema Change now managed in Schema Change now managed in VSTS and TFSVSTS and TFS
Production Database is now “One Production Database is now “One version of the truth” only for Dataversion of the truth” only for Data
DBA doesn’t have access to DBA doesn’t have access to changes until he/she has deploy changes until he/she has deploy or reject choiceor reject choice
““One Version of the truth for One Version of the truth for Schema” is Under Source ControlSchema” is Under Source Control
Production Production DatabaseDatabaseProduction Production DatabaseDatabase
Management Management StudioStudio
TuningTuningMonitoringMonitoring
““One Version of the One Version of the Truth”Truth” for for DataData
““One Version of the Truth”One Version of the Truth” for for Schema Schema
• Offline Offline • Under Source ControlUnder Source Control
SchemaSchema
Schema ChangesSchema Changes
Changes can be rolled out in Changes can be rolled out in a scheduled, managed waya scheduled, managed way
Scripts allow administrators Scripts allow administrators to mange change updatesto mange change updates
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
Import database schemaImport database schema
Reverse engineer existing .SQL script files (*)Reverse engineer existing .SQL script files (*)
Create New ProjectCreate New Project
SQLSQLScriptScript
DatabaseDatabaseProjectProjectTemplateTemplate
SQLSQLServerServerDatabaseDatabase
Collection Collection of .SQL file of .SQL file containing T-containing T-SQL DDL SQL DDL fragmentsfragments
Project ModelProject ModelThe center of gravityThe center of gravityProject ModelProject ModelThe center of gravityThe center of gravity
Offline ModelOffline ModelOffline ModelOffline Model
Project modelProject modelSchema Objects representationSchema Objects representation
Collection of T-SQL DDL fragmentsCollection of T-SQL DDL fragments
Objects are Parsed and Interpreted Objects are Parsed and Interpreted at:at:
Project Load TimeProject Load Time
Object Change (save)Object Change (save)
Source Control Sync (external change)Source Control Sync (external change)
Test Test DatabaseDatabaseTest Test DatabaseDatabase
Production Production DatabaseDatabaseProduction 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
Offline ModelOffline ModelOffline ModelOffline Model
Reverse Engineering a SchemaReverse Engineering a Schema
DEMO
Loading, importing or reverse engineeringLoading, importing or reverse engineeringShreds the schema definition Shreds the schema definition Smallest possible DDL fragmentsSmallest possible DDL fragments
Example:Example:TableTable
CREATE TABLE [dbo].[Territories]CREATE TABLE [dbo].[Territories]((
[TerritoryID] [nvarchar] (20) NOT NULL,[TerritoryID] [nvarchar] (20) NOT NULL,[TerritoryDescription] [nchar] (50) NOT NULL,[TerritoryDescription] [nchar] (50) NOT NULL,[RegionID] [int] NOT NULL[RegionID] [int] NOT NULL
) ON [PRIMARY]) ON [PRIMARY]Primary KeyPrimary Key
ALTER TABLE [dbo].[Territories] ADD CONSTRAINT ALTER TABLE [dbo].[Territories] ADD CONSTRAINT [PK_Territories] PRIMARY KEY NONCLUSTERED ([TerritoryID]) [PK_Territories] PRIMARY KEY NONCLUSTERED ([TerritoryID]) ON [PRIMARY]ON [PRIMARY]
FKFKALTER TABLE [dbo].[Territories] ADDALTER TABLE [dbo].[Territories] ADDCONSTRAINT [FK_Territories_Region] FOREIGN KEY CONSTRAINT [FK_Territories_Region] FOREIGN KEY ([RegionID]) REFERENCES [dbo].[Region] ([RegionID])([RegionID]) REFERENCES [dbo].[Region] ([RegionID])
Shredding in to SQL FragmentsShredding in to SQL FragmentsShredding in to SQL FragmentsShredding in to SQL Fragments
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
Managed ChangeManaged ChangeManaged ChangeManaged Change
Changes are localChanges are local
Comparison between databasesComparison between databasesTest databaseTest database
Production databaseProduction database
Elements under source controlElements under source controlAny 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 ProjectWorking With the ProjectWorking With the Project
Make changesMake changesAdd new elements Add new elements
Modify existing elementsModify existing elements
Delete ItemsDelete Items
Compare databasesCompare databasesBuild update scriptBuild update script
Deploy new or incremental updateDeploy new or incremental updateVisual StudioVisual Studio
MSBuild actionMSBuild action
Build/DeployBuild/DeployBuild/DeployBuild/Deploy
Standard VS build taskStandard VS build task
ConfigurationsConfigurationsNew vs. Update buildsNew vs. Update builds
Project properties for buildProject properties for build
Schema compare used for buildSchema compare used for build
Pre/Post Deployment scriptsPre/Post Deployment scripts
Build results in SQL script fileBuild results in SQL script file
Deploy Deploy Deploy via SQL query toolDeploy via SQL query tool
Deploy via MSBuild taskDeploy via MSBuild task
RTM: SQLCMD command supportRTM: SQLCMD command support
Changing the databaseChanging the database
DEMO
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
What you need for Testing?What you need for Testing?
Updated schema
Test drivers (unit tests)
Tons of data (realistic)
Data GenerationData GenerationDesign TimeDesign TimeData GenerationData GenerationDesign TimeDesign Time
Data generator componentData generator componentStrategy for generationStrategy for generation
Distribution for generatorDistribution for generatorRange of valuesRange of values
Relation between valuesRelation between values
Settings for generator & distributionSettings for generator & distributionNumber of rowsNumber of rows
Row-count ratios between tablesRow-count ratios between tables
Data GenerationData GenerationDesign Time – Default BehaviorDesign Time – Default BehaviorData GenerationData GenerationDesign Time – Default BehaviorDesign Time – Default Behavior
Per column generatorPer column generatorMatching data typeMatching data type
Aware of CHECK constraintsAware of CHECK constraints
Special attributesSpecial attributesForeign Keys Foreign Keys Foreign Key generator Foreign Key generator
Uniqueness Uniqueness PK, UC, indexes PK, UC, indexes
Default distributionDefault distributionUniform distribution when not uniqueUniform distribution when not unique
Data Generation – Value Data Generation – Value GeneratorsGeneratorsData Generation – Value Data Generation – Value GeneratorsGenerators
Simple generators for each data typeSimple generators for each data typeStrings (char, varchar, nvarchar…)Strings (char, varchar, nvarchar…)Numbers (smallint, int, bigint, float…)Numbers (smallint, int, bigint, float…)Binary (varbinary, image…)Binary (varbinary, image…)Date and TimeDate and TimeUUID and BitUUID and Bit
Complex generatorsComplex generatorsForeign KeyForeign KeyRegular ExpressionRegular ExpressionData BoundData Bound
36
Data GenerationData GenerationDistributions @ WorkDistributions @ WorkData GenerationData GenerationDistributions @ WorkDistributions @ Work
Data Generation Distributions
0
2000
4000
6000
8000
10000
12000
1 501 1001 1501 2001 2501 3001 3501 4001 4501
# of Rows
Ge
ne
rate
Va
lue
(0
-10
00
0)
Uniform
Normal
InverseNormal
Exponential
InverseExponential
37
Data GenerationData GenerationDesign TimeDesign TimeData GenerationData GenerationDesign TimeDesign Time
Understand domain constraintsUnderstand domain constraintsCheck constraints (min/max)Check constraints (min/max)
Table cardinalityTable cardinalityEnforce table ratiosEnforce table ratios
Column value distributionColumn value distribution
Generate Test-DataGenerate Test-Data
DEMO
39
Database Unit TestingDatabase Unit TestingDesign TimeDesign TimeDatabase Unit TestingDatabase Unit TestingDesign TimeDesign Time
Automatically generate unit tests:Automatically generate unit tests:Stored Procedures, Functions, TriggersStored Procedures, Functions, Triggers
Test Validation (assertions)Test Validation (assertions)T-SQL T-SQL RAISERROR RAISERROR
Client AssertionsClient Assertions
None Empty ResultSetNone Empty ResultSet
Row Count Row Count
Execution Time, …Execution Time, …
Pre & Post Test ScriptsPre & Post Test Scripts
40
Database Unit Testing Database Unit Testing Test ExecutionTest ExecutionDatabase Unit Testing Database Unit Testing Test ExecutionTest Execution
Automatic Deployment IntegrationAutomatic Deployment IntegrationAutomatically deploy database project Automatically deploy database project prior to running testsprior to running tests
Data Generation IntegrationData Generation IntegrationAutomatically generate data based on Automatically generate data based on generation plan prior to running testsgeneration plan prior to running tests
Execution & Validation connectionsExecution & Validation connectionsValidation connection can be higher Validation connection can be higher privileged accountprivileged account
Create a Unit TestCreate a Unit Test
DEMO
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
43
Database Schema RefactoringDatabase Schema RefactoringWhat is refactoring?What is refactoring?Database Schema RefactoringDatabase Schema RefactoringWhat is refactoring?What is refactoring?
““A database refactoring A database refactoring is a small change to is a small change to your database schema your database schema which improves its which improves its design without changing design without changing its semantics.”its semantics.”
Agile Database Agile Database Development, Scott Development, Scott AmblerAmbler
44
Database Schema Refactoring Database Schema Refactoring Rename Refactoring…Rename Refactoring…Database Schema Refactoring Database Schema Refactoring Rename Refactoring…Rename Refactoring…
Rename any SQL 2000/2005 schema Rename any SQL 2000/2005 schema objectobject
Updates all references in…Updates all references in…Schema ObjectsSchema Objects
Data Generation Plans Data Generation Plans
ScriptsScripts
Database Unit TestsDatabase Unit Tests
Preview changes prior to commitPreview changes prior to commit
Global undo to reverse all changesGlobal undo to reverse all changes
45
Database Schema Refactoring Database Schema Refactoring Refactoring Safety NetRefactoring Safety NetDatabase Schema Refactoring Database Schema Refactoring Refactoring Safety NetRefactoring Safety Net
Unit TestingUnit TestingGenerate tests after refactoringGenerate tests after refactoring
Version ControlVersion ControlStore all previous versions before Store all previous versions before refactoringrefactoring
Schema CompareSchema CompareAnalyze the exact differences between Analyze the exact differences between the project and live database to the project and live database to understand the impact of the updateunderstand the impact of the update
Refactoring an ObjectRefactoring an Object
DEMO
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
Command Line BuildingCommand Line BuildingCommand Line BuildingCommand Line Building
Using devenv.exeUsing devenv.exeVisual Studio shell in command line Visual Studio shell in command line modemode
Using MSBuild.exeUsing MSBuild.exeImportant note:Important note:
In CTP3 the project needs to be In CTP3 the project needs to be opened inside Visual Studio!opened inside Visual Studio!
Project PropertiesProject PropertiesProject PropertiesProject Properties
SET optionsSET optionsOnly override when differentOnly override when different
CollationsCollationsOnly override when differentOnly override when different
Difference between New and UpdateDifference between New and Update
Build – New database scriptBuild – New database scriptmsbuild NorthwindOnline.dbproj /t:buildmsbuild NorthwindOnline.dbproj /t:build
msbuild NorthwindOnline.dbproj /t:build msbuild NorthwindOnline.dbproj /t:build /p:Configuration="New Deployment"/p:Configuration="New Deployment"
Build – Update for defined target serverBuild – Update for defined target servermsbuild NorthwindOnline.dbproj /t:build msbuild NorthwindOnline.dbproj /t:build /p:Configuration="Update Deployment" /p:Configuration="Update Deployment" /p:TargetConnectionString="Data Source=(local)\/p:TargetConnectionString="Data Source=(local)\sql80;Integrated Security=True;Pooling=False;" sql80;Integrated Security=True;Pooling=False;" /p:TargetDatabase="NorthwindOnlineTestRun"/p:TargetDatabase="NorthwindOnlineTestRun"
Building Using MSBuildBuilding Using MSBuildBuilding Using MSBuildBuilding Using MSBuild
Deploying Using MSBuildDeploying Using MSBuildDeploying Using MSBuildDeploying Using MSBuild
Deploy – New databaseDeploy – New databasemsbuild NorthwindOnline.dbproj /t:deploy msbuild NorthwindOnline.dbproj /t:deploy /p:Configuration="New Deployment"/p:Configuration="New Deployment"
Deploy – Update DatabaseDeploy – Update Databasemsbuild NorthwindOnline.dbproj /t:deploy msbuild NorthwindOnline.dbproj /t:deploy /p:Configuration="Update Deployment" /p:Configuration="Update Deployment" /p:TargetConnectionString="Data Source=(local)\/p:TargetConnectionString="Data Source=(local)\sql80;Integrated Security=True;Pooling=False;"sql80;Integrated Security=True;Pooling=False;"
Misc. Actions Using MSBuildMisc. Actions Using MSBuildMisc. Actions Using MSBuildMisc. Actions Using MSBuild
All (Build + Deploy)All (Build + Deploy)msbuild NorthwindOnline.dbproj /t:allmsbuild NorthwindOnline.dbproj /t:all
CleanCleanmsbuild NorthwindOnline.dbproj /t:cleanmsbuild NorthwindOnline.dbproj /t:clean
msbuild NorthwindOnline.dbproj /t:clean msbuild NorthwindOnline.dbproj /t:clean /p:Configuration="New Deployment"/p:Configuration="New Deployment"
msbuild NorthwindOnline.dbproj /t:clean msbuild NorthwindOnline.dbproj /t:clean /p:Configuration="Update Deployment"/p:Configuration="Update Deployment"
MSBuild Task: SqlBuild/SqlDeployMSBuild Task: SqlBuild/SqlDeployMSBuild Task: SqlBuild/SqlDeployMSBuild Task: SqlBuild/SqlDeploy
BuildType { "New Deployment" | "Update Deployment“ }BuildType { "New Deployment" | "Update Deployment“ }TargetConnectionStringTargetConnectionStringTargetDatabaseTargetDatabaseBuild options:Build options:
DefaultCollation {"True" | "False“}DefaultCollation {"True" | "False“}EnableFullTextIndexing {"True" | "False“}EnableFullTextIndexing {"True" | "False“}ScriptCreateDBStatement {"True" | "False“}ScriptCreateDBStatement {"True" | "False“}GenerateDropsIfNotInProject {"True" | "False“}GenerateDropsIfNotInProject {"True" | "False“}SourceDatabase {"True" | "False“}SourceDatabase {"True" | "False“}
Set options:Set options:ARITHABORT {"True" | "False“}ARITHABORT {"True" | "False“}NUMERIC_ROUNDABORT {"True" | "False“}NUMERIC_ROUNDABORT {"True" | "False“}ANSI_NULLS {"True" | "False“}ANSI_NULLS {"True" | "False“}CONCAT_NULL_YIELDS_NULL {"True" | "False“}CONCAT_NULL_YIELDS_NULL {"True" | "False“}ANSI_PADDING {"True" | "False“}ANSI_PADDING {"True" | "False“}ANSI_WARNINGS {"True" | "False“}ANSI_WARNINGS {"True" | "False“}QUOTED_IDENTIFIER {"True" | "False“}QUOTED_IDENTIFIER {"True" | "False“}
Building with MSBuildBuilding with MSBuild
DEMO
Provisioning Multiple ServersProvisioning Multiple ServersProvisioning Multiple ServersProvisioning Multiple Servers
Deploy to multiple targets?Deploy to multiple targets?
Database ProjectDatabase ProjectSingle target server/database, onlySingle target server/database, only
Use MSBuild tasks to provisionUse MSBuild tasks to provisionCommand line or tool calling MSBuildCommand line or tool calling MSBuild
for each server+database combination in for each server+database combination in listlist{{
SqlBuildTask SqlBuildTask SqlDeployTask SqlDeployTask
}}
56
Data GenerationData GenerationCustomization & Extensibility Customization & Extensibility Data GenerationData GenerationCustomization & Extensibility Customization & Extensibility
Customization of value generationCustomization of value generationRegEx GeneratorRegEx Generator
Data Bound GeneratorData Bound Generator
ExtensibilityExtensibilityCustom GeneratorCustom Generator
Custom DistributionCustom Distribution
Data Generator ExtensibilityData Generator ExtensibilityData Generator ExtensibilityData Generator Extensibility
GeneratorsGeneratorsImplement:Implement:
IDesignerIDesigner
IGeneratorIGenerator
Base classBase classGeneratorGenerator
AttributesAttributesGeneratorAttributeGeneratorAttribute
GeneratorNameAttributeGeneratorNameAttribute
DistributionsDistributionsImplement:Implement:
IDistributionIDistribution
RegistrationRegistration
Generators and Distributions have to:Generators and Distributions have to:%ProgramFiles%\Microsoft Visual Studio 8\DBPro\%ProgramFiles%\Microsoft Visual Studio 8\DBPro\ExtensionsExtensions
%ProgramFiles%\Microsoft Visual Studio 8\DBPro\%ProgramFiles%\Microsoft Visual Studio 8\DBPro\Microsoft.VisualStudio.TeamSystem.Data.Extensions.xmlMicrosoft.VisualStudio.TeamSystem.Data.Extensions.xml
Be strong key signedBe strong key signed<?xml version="1.0" encoding="us-ascii"?><?xml version="1.0" encoding="us-ascii"?><types version="1"><types version="1">
<type>Microsoft.VisualStudio.TeamSystem.Data.Generators.RegexString, <type>Microsoft.VisualStudio.TeamSystem.Data.Generators.RegexString, Microsoft.VisualStudio.TeamSystem.Data.Generators, Microsoft.VisualStudio.TeamSystem.Data.Generators,
Version=2.0.0.0, Version=2.0.0.0, Culture=neutral, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPublicKeyToken=b03f5f7f11d50a3a
</type></type><type>Microsoft.VisualStudio.TeamSystem.Data.Generators.Exponential,<type>Microsoft.VisualStudio.TeamSystem.Data.Generators.Exponential,
Microsoft.VisualStudio.TeamSystem.Data.Generators, Microsoft.VisualStudio.TeamSystem.Data.Generators, Version=2.0.0.0, Version=2.0.0.0, Culture=neutral, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPublicKeyToken=b03f5f7f11d50a3a
</type></type></types></types>
Data Generator – RegistrationData Generator – RegistrationData Generator – RegistrationData Generator – Registration
Custom Data GeneratorCustom Data Generator
DEMO
60
Database Unit TestingDatabase Unit TestingCustomization & ExtensibilityCustomization & ExtensibilityDatabase Unit TestingDatabase Unit TestingCustomization & ExtensibilityCustomization & Extensibility
Database Unit Test designerDatabase Unit Test designerGenerates C# or VB.NET codeGenerates C# or VB.NET code
Can customize generated code for:Can customize generated code for:Custom test validation logicCustom test validation logic
Parameterized test supportParameterized test support
Managing transactionsManaging transactions
Additional test setup and teardown of Additional test setup and teardown of teststests
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary
SummarySummary
Team Edition for Database Professionals
Database development life-cycle
Basic functionalityReverse-Engineer database schemaSource Control for schemaRefactor database schemaGenerate test data, create unit testsCompare schemas
Extensible infrastructure
Pricing, Licensing and AvailabilityPricing, Licensing and AvailabilityPricing, Licensing and AvailabilityPricing, Licensing and Availability
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
AvailabilityAvailabilityCTP 4 Available TodayCTP 4 Available Today
RTM By the end of 2006RTM By the end of 2006
64
Resources…Resources…Resources…Resources…
CTP 5 Download SiteCTP 5 Download Sitehttp://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?FamilyID=4014554e-903a-4a62-b429-FamilyID=4014554e-903a-4a62-b429-2b027321c32d&DisplayLang=en 2b027321c32d&DisplayLang=en
Team WebsiteTeam Websitehttp://msdn.microsoft.com/vstudio/teamsystem/http://msdn.microsoft.com/vstudio/teamsystem/products/dbpro/default.aspx products/dbpro/default.aspx
Product ForumProduct Forumhttp://forums.microsoft.com/MSDN/ShowForum.aspx?http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=725&SiteID=1 ForumID=725&SiteID=1
PowerToys and SamplesPowerToys and Sampleshttp://gotdotnet.com/Workspaces/Workspace.aspx?http://gotdotnet.com/Workspaces/Workspace.aspx?id=378460fd-1254-427b-aa7d-e777a826a564 id=378460fd-1254-427b-aa7d-e777a826a564
AgendaAgenda
Team System ReviewVSTS for Database Professionals
Project SystemChange ManagementDatabase Unit TestingDatabase Refactoring
Advanced Topics, ExtensibilitySummary