Download presentation
Presentation is loading. Please wait.
1
The SSDT way or the highway
(sqlproj) Craig Ottley-Thistlethwaite Data Platform Lead Data Science
2
Database Technologies
3
This is what the highway can look like
4
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
5
SQL Server Data Tools History
Project funded April 2005 (Data Dude) Project Started July 2005 VS 2005 Team System for Database Professionals VS 2008 Team System for Database Professionals Re-architected to be declarative model based system VS 2008 Team System for Database Professionals GDR R2 VS 2010 Team System for Database Professionals Transitioned to SQL Server 2009 SQL Server Data Tools Source:
6
Evolution .dbschema v1.1 VS 2008 GDR .dbschema v1.2 VS 2010 dbproj
.sqlx v1.0 SSDT CTP3 .dacpac v2.5 SSDT CTP4 .dacpac v3.0 redist consumed by ALL SQL Products .dacpac v1.0 SQL 2008 R2 RC .dacpac v1.05 SQL 2008 R2 RTM .dacpac v1.1 SQL 2008 R2 SP1 .dacpac v2.0 SQL 2012 RC0 Source:
7
DAC Framework (DacFX) Core SQL Server redistributable component which provides modelling, reverse engineering and deployment capabilities! Managed Public API Command-Line tools (SqlPackage.exe) DACUnpack.exe Windows file handler for unpacking DACPACs to disk DACFx Clients SqlPackage.exe, SSMS, SSDT, SAMP, I&E, VS Web and DB Publishing DacFx does not support state/operational properties! Source:
8
Declarative Schema Deployment
9
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
10
Inside the dacpac
11
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
12
Pre/Post Deployment Scripts
13
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
14
Check/Default Constraints
15
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
16
Add/Remove/Rename Columns
17
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
18
Column Data Type Conversions
19
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
20
DacFx Model API – What is it?
SSDT model’s a database’s schema, the API lets you access that model programmatically. You can load, query and manipulate the schema to do what ever you like (within reason) API model is loosely typed, the TSqlModel class contains loosely typed TSqlObject’s that represent all the elements in your schema Each object will have some properties that describe it’s state and the relationships to other objects in the model Use strongly typed classes to find the properties/relationships of an object using TsqlModel.GetObjects private static void ReadTheModel(TSqlModel model) { // This will get all tables. Note the use of Table.TypeClass! var tables = model.GetObjects(DacQueryScopes.Default, Table.TypeClass).ToList(); } API does not fully support everything an SSDT project supports! Feature Supported Refactor Log Yes Deployment Contributors Pre/Post Deployment Scripts No References CLR Objects XML Schema Collections
21
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
22
Deployment Contributor
23
Agenda SQL Server Data Tools History Check/Default Constraints
DAC Framework Declarative Schema Deployment Inside the dacpac Pre/Post Deploy Scripts Check/Default Constraints Add/Remove/Rename Columns Column Data Type Conversion DacFx Public Model Deploy Contributor
24
Resources http://dacsamples.codeplex.com/ https://github.com/dacpac
25
Q&A Email: craig.ottley-thistlethwaite@dacpac.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.