introducing microsoft® visual studio® 2005 team edition for database professionals andy cheung isv...
TRANSCRIPT
Introducing Introducing Microsoft® Visual Microsoft® Visual Studio® 2005 Team Studio® 2005 Team Edition for Database Edition for Database ProfessionalsProfessionals
Andy CheungAndy CheungISV Developer EvangelistISV Developer EvangelistMicrosoft Hong KongMicrosoft Hong Kong
Business
Analyst
PMO
Operations
CIO
Application
Support
Architect
ProjectManager
Tester
Designer
Visual Studio Team SystemVisual Studio Team System
Developer
Visual 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
Conceptual OverviewConceptual Overview Difficult to manage change to the Difficult to manage change to the
schemaschema Production database is one version Production database is one version
of the truth for data and schemaof the truth for data and schema Database administrator (DBA) Database administrator (DBA)
doesn’t have access to changes doesn’t have access to changes until he/she has deploy or reject until he/she has deploy or reject choicechoice
Changes often made to production Changes often made to production database and not rolled back into database and not rolled back into testtest
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 managed in Schema change now managed in Visual Studio Team System and Visual Studio Team System and Team Foundation ServerTeam Foundation Server
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 or changes until he/she has deploy or reject choicereject choice
““One Version of the truth for One Version of the truth for Schema” is Under Source ControlSchema” is Under Source Control
Creating a ProjectCreating a Project
• Core concept: offline database Core concept: offline database developmentdevelopment
• Simply a series of files collected Simply a series of files collected together into a single logical collectiontogether into 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 Connects to SCCI providers for
versioning such as Team Foundation versioning such as Team Foundation ServerServer
Offline DevelopmentOffline Development
• Import database schema to Import database schema to populate project from existing populate project from existing databasedatabase
• Changes to schema traditionally Changes to schema traditionally have immediate affecthave immediate affect
• With offline project nothing With offline project nothing changes until you deploy the changes until you deploy the changechange
8
Establish the project Establish the project environmentenvironment
DatabaseDatabaseProjectProject Import schemaImport schema
DBADBA
Check in
to
Check in
to
Source
Source
C
ontro
lC
ontro
l
DBDevDBDev
ProductionDatabase
StagingDatabase
SCM
9
Isolated Iterative Isolated Iterative DevelopmentDevelopment
DBADBADBDevDBDev
ProductionDatabase
Sandbox
StagingDatabase
Sandbox
Sandbox
Sandbox
SCM
•SyncSync•Check-outCheck-out•Edit/RefactorEdit/Refactor•TestTest•Check-inCheck-in
•Work is being Work is being drivendrivenand tracked viaand tracked viawork itemswork items
10
Build CycleBuild Cycle
DBADBADBDevDBDev
ProductionDatabase
StagingDatabase
SCM
Daily BuildDaily Build Test Test
Get LatestGet Latest
TestDatabase
DailyBuild
Output
Can also beused in a “Continuous”build environment
11
Deploy the project Deploy the project environmentenvironment
DatabaseDatabaseProjectProject
DBADBA
Sync fro
m
Sync fro
m
Label
Label
DBDevDBDev
ProductionDatabase
StagingDatabase
SCM
SQLDeplo
y Script
BuildBuild
DeployDeploy
Refine deploy scriptRefine deploy scriptVerifyVerify
12
Benefits of ApproachBenefits of Approach
Managed, project oriented evolution Managed, project oriented evolution of database schemaof database schema
Application and database schema can Application and database schema can now be managed togethernow be managed together
Work in “isolation”, deploying only Work in “isolation”, deploying only when changes verified through when changes verified through empirical meansempirical means
Leverage VSTS work item tracking Leverage VSTS work item tracking and process guidance increases team and process guidance increases team collaboration and unitycollaboration and unity
What We Can TestWhat We Can Test• Stored ProceduresStored Procedures• FunctionsFunctions• TriggersTriggers• Arbitrary SQLArbitrary SQL• Support at Release to Market (RTM) to Support at Release to Market (RTM) to
automatically deploy changes to test automatically deploy changes to test system and generate datasystem and generate data
• Deterministic data generation ensures Deterministic data generation ensures stable test statestable test state
• Can test with your application tier Can test with your application tier because of common frameworkbecause of common framework
Test DataTest Data
• To create a solid foundation for testing To create a solid foundation for testing we support data generationwe support data generation
• Deterministic – always generate the Deterministic – always generate the same layoutsame layout
• Matched to your schema and very Matched to your schema and very customizablecustomizable
• Extensible mechanism, build your own Extensible mechanism, build your own generatorsgenerators
• Feature: DataGeneratorFeature: DataGenerator
Incorporate the database professionals into the software life cycle and Incorporate the database professionals into the software life cycle 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 professionals into the software life cycle and Incorporate the database professionals into the software life cycle 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 Development Project ModelProject Model that represents schema as objects providing a “personal sandbox” that represents schema as objects providing a “personal sandbox”
for offline development that lives within a Visual Studio solutionfor offline development that lives within a Visual Studio solution Team CollaborationTeam Collaboration with Work Item and Process Integration with Microsoftwith Work Item and Process Integration with Microsoft® ®
Visual StudioVisual Studio®® 2005 Team Foundation Server 2005 Team Foundation Server Automated Change SupportAutomated Change Support
Rename RefactoringRename Refactoring with the ability to preview pending changes prior to with the ability to preview pending changes prior to executionexecution
Comparison ToolsComparison Tools (Schema and Data Compare) allow comparisons (Schema and Data Compare) allow comparisons and and synchronization of schema and data with design/test/production databases synchronization of schema and data with design/test/production databases
Source/Version ControlSource/Version Control of all database objects with the ability to reverse of all database objects with the ability to reverse engineer a database to bring it under Source Controlengineer a database to bring it under Source Control
Database Unit TestingDatabase Unit Testing Leverages theLeverages the Test Project Infrastructure Test Project Infrastructure GenerateGenerate “Real and Meaningful” “Real and Meaningful” Data ValuesData Values through the ability to import through the ability to import
information such as Row Counts and histograms from a real databaseinformation such as Row Counts and histograms from a real database Data Generator provides Data Generator provides Repetitive Dataset GenerationRepetitive Dataset Generation for tests based on saved for tests based on saved
settingssettings Build / DeploymentBuild / Deployment
MSBuild 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 an Existing
SchemaSchema
NEW Microsoft Technical Support Newsgroup
• FREE!
•Supported by experienced senior engineers of the Microsoft Global
Technical Support Center (GTSC)
• Usually get an answer within 2 business days from Mondays to
Fridays
• Supported products
Visual Studio
Microsoft Exchange Server
Microsoft SQL Server
Management Server
Windows Server 2003
http://www.microsoft.com/hk/community/newsgroup.mspx
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.