TL45  Gert E.R. Drapers Group Engineering Manager Microsoft Corporation      class class AuctionApplication class AuctionApplication AuctionApplication ( ( ( int id; int id; int id; void MethodA(); void MethodA(); string cacheTitle; ) void MethodB(); void MethodA(); ) void MethodB(); ) V1 V2 V3 CREATEALTER TABLE ALTER TABLE dbo.Auction TABLE dbo.Auction dbo.Auction ( WITH CHECK WITH CHECK ADD.

Download Report

Transcript TL45  Gert E.R. Drapers Group Engineering Manager Microsoft Corporation      class class AuctionApplication class AuctionApplication AuctionApplication ( ( ( int id; int id; int id; void MethodA(); void MethodA(); string cacheTitle; ) void MethodB(); void MethodA(); ) void MethodB(); ) V1 V2 V3 CREATEALTER TABLE ALTER TABLE dbo.Auction TABLE dbo.Auction dbo.Auction ( WITH CHECK WITH CHECK ADD.

TL45
 Gert E.R. Drapers
Group Engineering Manager
Microsoft Corporation





class
AuctionApplication
AuctionApplication
class class
AuctionApplication
(
(
(
int id;
int id;
int
id;
void MethodA();
void MethodA();
string cacheTitle;
)
void MethodB();
void MethodA();
)
void MethodB();
)
V1
V2
V3
CREATEALTER
TABLE
ALTER
TABLE
dbo.Auction
TABLE
dbo.Auction
dbo.Auction
(
WITH CHECK
WITH CHECK
ADD CONSTRAINT
ADD CONSTRAINT
id
INT
Au_PK
NOT
Au_SK
PRIMARY
NULL,
UNIQUE
KEY (id)
(name)
name VARCHAR(25) NOT NULL,
start DATETIME NULL,
len
INT NULL
)
App
Revision History
Database
-- version 1 Add table dbo.Auction
IF OBJECT_ID (N'dbo.Auction', N'U') IS NULL
BEGIN
CREATE TABLE dbo.Auction
(
id
INT NOT NULL,
name VARCHAR(25) NOT NULL,
start DATETIME NULL,
len
INT NULL
)
END
-- version 2 Add PK Au_PK
IF NOT EXISTS (SELECT * FROM sys.key_constraints WHERE name ='Au_PK' AND type ='PK')
BEGIN
ALTER TABLE Auction
WITH CHECK ADD CONSTRAINT Au_PK PRIMARY KEY (id)
END
-- version 3 Add UC Au_SK
IF NOT EXISTS (SELECT * FROM sys.key_constraints WHERE name ='Au_SK' AND type ='UQ')
BEGIN
ALTER TABLE Auction
WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name)
END
class class
AuctionApplication
class
AuctionApplication
AuctionApplication
(
(
(
int id;
int id;
int
id;
void MethodA();
void MethodA();
string cacheTitle;
)
void MethodB();
void MethodA();
)
void MethodB();
)
V1
V2
V3
App
Source-controlled and
deployed scripts
Revision
History
do not need
to match!
CREATE
TABLE
TABLE
dbo.Auction
dbo.Auction
CREATECREATE
TABLE
dbo.Auction
(
(
(
id
id
INT NOT
id
INTNULL,
NOT
INTNULL
NOT PRIMARY
NULL PRIMARY
KEY, KEY,
name name
VARCHAR(25)
name
VARCHAR(25)
VARCHAR(25)
NOT NULL,
NOT NULL,
NOT NULL UNIQUE,
start start
DATETIME
start
DATETIME
NULL,
DATETIME
NULL, NULL,
len len
INT NULL
len
INT NULL
INT NULL
)
)
)
Logical
Database
CREATECREATE
TABLE
CREATE
TABLE
dbo.Auction
TABLE
dbo.Auction
dbo.Auction
(
(
(
id
id
INT NOT
id
INTNULL,
NOT
INTNULL
NOT PRIMARY
NULL PRIMARY
KEY, KEY,
name
VARCHAR(25)
VARCHAR(25)
NOT NULL,
NOT NULL UNIQUE,
name name
VARCHAR(25)
NOT NULL,
start start
DATETIME
start
DATETIME
NULL,
DATETIME
NULL, NULL,
len len
INT NULL
len
INT NULL
INT NULL
)
)
)
V1
V2
New
Deployment
V3
Logical
Database
Revision History
CREATE TABLE dbo.Auction
ALTER TABLE dbo.Auction
(
WITH CHECK ADD CONSTRAINT
id
INT NOT NULL PRIMARY KEY,
Au_SK UNIQUE (name)
name VARCHAR(25) NOT NULL UNIQUE,
start DATETIME NULL,
len
INT NULL
)
Incremental
Deployment










































Source
Database
Reverse engineer
schema
into DDL artifacts
Interpret,
Analyze and
Validate
Schema Model
Project System
Build
DDL Scripts
(artifacts)
Schema Model
Compose model representation
from source code fragments
.dbschema
file
.SQL
Source
Parse










SqlCode
Dom
Interpret
Schema
Model
Validate
 Gert E.R. Drapers
Group Engineering Manager
Microsoft Corp.
.dbschema
file
Target
Database
Schema Model
Schema Model
Model Diff
Plan Executors
.SQL
…
Additional schema artifacts
Deployment
Engine
Incremental Target Update












<Project DefaultTargets="DspDeploy" ToolsVersion="3.5"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetDatabase>AdventureWorks2008</TargetDatabase>
<DeployToDatabase>False</DeployToDatabase>
<DeployToScript>True</DeployToScript>
<OutputPath>.</OutputPath>
<DeployScriptFileName>AdventureWorks2008.sql</DeployScriptFileName>
<DeploymentConfigurationFile>Database.sqldeployment</DeploymentConfigurationFile>
</PropertyGroup>
<ItemGroup>
<DeploymentExtensionConfiguration Include="Script.PostDeployment.sql">
<__PostdeploymentMetadata>
</__PostdeploymentMetadata>
</DeploymentExtensionConfiguration>
<DeploymentExtensionConfiguration Include="Script.PreDeployment.sql">
<__PredeploymentMetadata>
</__PredeploymentMetadata>
</DeploymentExtensionConfiguration>
<SourceModel Include="AdventureWorks2008.dbschema" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.SqlTypes.dbschema">
<LogicalName>{3b4726f4-e981-42d7-9ab0-b500b7508bc9}</LogicalName>
</Reference>
</ItemGroup>
<Import Project="...\Microsoft\VisualStudio\v9.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />
<PropertyGroup>
<SqlCommandVariablesFile>Database.sqlcmdvars</SqlCommandVariablesFile>
</PropertyGroup>
</Project>
 Gert E.R. Drapers
Group Engineering Manager
Microsoft Corp.









DSP
Extensions
DSP
Extensions
DSP
Extensions
DSP
Extensions
DSP
Extensions
DSP
Extensions
Schema
Compare
Data
Compare
Database
Refactoring
T-SQL Static
Code
Analysis
Database
Unit Testing
Data
Generation
3rd Party
Designers
3rd Party
Tools
Project Features
SQL Server
2000 DSP
SQL Server
2005 DSP
SQL Server
2008 DSP
Parser
ScriptDOM
Interpreter
Reverse Engineer
Deploy
Parser
ScriptDOM
Interpreter
Reverse Engineer
Deploy
Parser
ScriptDOM
Interpreter
Reverse Engineer
Deploy
Parser
ScriptDOM
Interpreter
Reverse Engineer
Deploy
Database Model API
Database Eco
Project System
Solution Explorer
Schema View
Dependency Viewer
Editor
DSP Extensions
3rd Party
DSP


























<?xml version="1.0" encoding="utf-8"?>
<extensions assembly="Microsoft.VisualStudio.TeamSystem.Data.Generators, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" version="1"
xmlns="urn:Microsoft.VisualStudio.TeamSystem.Data.Extensions"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:Microsoft.VisualStudio.TeamSystem.Data.Extensions
Microsoft.VisualStudio.TeamSystem.Data.Extensions.xsd">
<extension type="Microsoft.VisualStudio.TeamSystem.Data.Generators.StringGenerator"
enabled="true"/>
</extensions>
 Gert E.R. Drapers
Group Engineering Manager
Microsoft Corp.
Refactoring
Operation
Refactoring
Command
Contr.
Input
Refactoring
Contributor
Contr.
Contr.
Input
Input
Refactoring
Contributor
Contributor
.
.
.
Change
Change
Change
Proposal
Proposal
Proposal
 Gert E.R. Drapers
Group Engineering Manager
Microsoft Corp.





Product information: http://msdn.microsoft.com/vsts2008/db
Blog: http://blogs.msdn.com/gertd
MSDN Forum Visual Studio Team System - Database Professionals
http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=725&SiteID=1
Visual Studio Team System 2008 Database Edition GDR download location:
http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f694db9-b1c9-8f55759846ed&displaylang=en
Team Developer + Database Edition Merge Information
http://msdn.microsoft.com/en-us/vsts2008/products/cc990295.aspx
Related Sessions
Session Title
Speaker
Day
Time
Location
TL47 Visual Studio Team System: A Lap Around VSTS 2010
Cameron Skinner
10/27
11:00 AM – 12:15PM
Room 153
TL52 Team Foundation Server 2010: Cool New Features
Brian Harry
10/27
03:30 PM – 04:45 PM
Room 151
TL03 Microsoft Visual Studio Team System: Software
Diagnostics and Quality for Services
Habib Heydarian;
Justin Marks
10/27
03:30 PM – 04:45 PM
Room 515A
TL09 Agile Development with Microsoft Visual Studio
Lori Lamkin; Sunder
Raman
10/27
05:15 PM – 06:30 PM
Room 502A
TL45 Microsoft Visual Studio Team System Database
Edition: Overview
Gert Drapers
10/27
05:15 PM – 06:30 PM
Room 501B
TL59 Visual Studio Debugger Tips & Tricks
John Cunningham
10/28
12:45PM – 01:30 PM
Room 409A
TL37 Microsoft Visual Studio Team System: Leveraging
Virtualization to Improve Code Quality with Team Lab
Ram Cherala
10/29
12:00 PM – 12:45 PM
Room 408B
TL61 Panel: The Future of Unit Testing
Euan Garden, Jim
Newkirk, Peter Provost,
Nikolai Tillmann
10/29
12:00 PM – 12:45 PM
Room 406A
TL60 Improving Code Quality with Code Analysis
Ravs Kaur
10/29
12:00 PM – 12:45 PM
Room 409A
TL24 Improving .NET Application Performance and
Scalability
Steve Carroll;
Ed Glas
10/29
01:15 PM – 02:30 PM
Room 153
TL15 Architecture without Big Design Up Front
Peter Provost
10/29
04:45 PM – 06:00 PM
Room 403
TL04 Microsoft Visual Studio Team System Team
Foundation Server: How We Use It at Microsoft
Stephanie Saad
10/30
08:30 AM : 9:45AM
Room 151
TL51 Research: Contract Checking and Automated Test
Generation with Pex
Mike Barnett
Nikolai Tillmann
10/30
08:30 AM : 9:45AM
Room 403
VSTS 2010 Hands on Labs
HOL Code
Title
TLHOL07
VSTS 2010: Project Planning, Management, and Design
TLHOL08
VSTS 2010: Architecture Tools
TLHOL09
VSTS 2010: Team Foundation Server
TLHOL10
VSTS 2010: Software Quality
TLHOL11
VSTS 2010: Diagnostics and Performance
www.microsoftpdc.com
© 2008 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.