>> SQL Database Projects in
Azure Data Studio is bringing new functionality from
SSDT to other platforms like
Azure Data Studio which runs across Linux, Windows and Mac.
Learn more in this episode of Data Exposed.
[MUSIC].
>> Hi. I'm Anna Hoffman,
and welcome to this episode of Data Exposed.
Today I'm joined by Drew Skwiers-Koballa,
a Program Manager on the Azure Data team.
Thanks for joining us today, Drew.
>> Thanks for having me.
>> Before we get started, I thought it'd be good for you
to tell us a little bit about what you do.
>> I recently joined Microsoft as a Program Manager and I
focus on experiences for
Database Administrators and Database Developers.
This matches right with
my previous experience where I spent a decade
as a Database Administrator
and Developer prior to joining Microsoft.
>> Awesome, cool. Speaking of things DBAs do,
today I think you're going to talk about something that's
new to Azure Data Studio but not
new to the Database Administrators tool box
or things that they usually do.
Can you tell us a little preview teaser about what that is?
>> Yeah. SQL Database Projects are an adaptation
of the Database Developer experience in SQL Server Data Tools.
From Visual Studio, we have this rich experience for
Database Developers to build and deploy database projects,
and now we're bringing this experience to
a cross-platform world with SQL Database Projects.
>> Awesome, cool. I'm excited to learn more,
I don't know anything about this.
I thought that you prepared
them very interesting use of a notebook,
so I thought maybe we could show that and
you could tell us more about SQL Database Project.
>> Yeah, sounds great. In Azure Data Studio
as you mentioned we have these notebook concepts,
and in notebooks you can embed Markdown.
In this case, I had just a few visuals
that I wanted to bring today and so I dropped them
into Markdown cells where
we're able to render those images and then very
quickly explain to our viewers a little bit about
the different cross-platform tools that are
available for Database Developers.
In this bigger picture for SQL Database Projects,
we're looking to bring
that database developer experience to Azure Data Studio because
development as a whole is becoming more
enriched with cross-platform development pathways.
Most people are familiar with Visual Studio Code,
it's this great rich editor
where you're able to build applications,
and through the mssql extension you're able to query databases.
Less people are familiar with this great tool for
automation which is SqlPackage.Exe.
You're able to take these DACPAC database files and automate,
extract and publish operations through this command line tool.
Just like Visual Studio Code,
SqlPackage.Exe is available for
not only Windows but also Linux and Mac OS.
Last but not least is Azure Data Studio,
and that's where we're enduring this rich notebook experience,
and that's where you're able to deploy
query and administer databases,
and through all of
those great first and third-party extensions we're
able to add functionality like SQL Database Projects.
What I want to show everyone today with
SQL Database Projects is how
we're able to take an existing database,
it could be on a production server,
bring that into a project,
and then as a Database Developer make
some changes to that database project,
change the database schema.
Finally we're able to build the project and validate our changes,
and finally publish it to a test server.
Over on the left we have a connections pane,
and from our production server we
can see that we have adventure works deployed.
I'm going to import a project from the database,
selecting the production server,
and then our adventure works database.
We'll organize the files by object type,
and in just a few seconds it's going to extract
the database schema into
this collection of files over here on the left.
For example, we can see
the database definition for the customer table.
As a Database Developer I've been instructed to
add some functionality for rewards points,
so for my customer I'm going to add a column for rewards points,
that is an INT, and we're going to allow this columns me null.
I'm saving the change to the table definition here in the project.
I have not altered our production database,
this is all done in this SQL Database Project.
In validating these changes,
I can go ahead and click on that project and build,
and that build task will kick off here in the output.
>> While that's building,
this is just doing something that I used to do in SSDT.
Now, is this something that I can do in
SSMS or is this something that
today I can only do in Azure Data Studio with extension or SSDT?
>> This is something that you can only do in SSDT on
Windows or now in Azure Data Studio on Windows, Linux, and Mac OS.
>> Cool. Awesome. Now I have this new functionality that I
didn't have before if I was running on Linux or Mac.
>> The collaboration potential for teams that are
cross-platform is really amplified here through Azure Data Studio.
Now that we've built our project,
we're going to go ahead and publish it to a test server,
and we are going to call it our adventure
works database and publish.
Now, while that publishes
we are going to hop over our test server,
it's deploying the DACPAC.
There's no database yet,
the test server is empty while it publishes.
Once it finishes publishing we'll be able to see
that empty but full schema database there,
and we can even check out
that table change that we made to the customer table.
Now our Application Developers are
able to work with the modified schema where the words points.
That was able to take us through
a really quick development pipeline,
but within Azure Data Studio,
so for those cross-platform teams we are bringing the power of
SSDT into a new enriched environment.
If I haven't convinced you yet that this
is bringing SQL Projects into a cross-platform environment,
I'm sure you've gotten at that point,
but the other really important thing is that this is
this declarative database development cycle that you get
from SQL Server Data Tools so you're able to develop, build,
and publish, instead of directly modifying
a production database so kind
of lowers that risk of breaking changes.
This preview experience of
SQL Database Projects is available in Azure Data Studio,
you can get it from the extension store.
When you go into extension marketplace,
if you search for SQL Database Projects,
you can install this extension and get
started with your own database projects today.
>> Thanks Drew. That was really cool and
I liked how easy it is to use and how
intuitive it is that you would build your project than you'd
publish it and you can even publish it to a test server.
One question I had is,
you noted that these were both SQL Servers
or Azure SQL Database or what not,
is it something that works across On-premises and Azure?
>> Yes. All of the Azure SQL and SQL Server products
that are supported by SQL Server Data Tools
come right over into this experience.
So you're talking about Azure SQL Databases,
you're talking about Azure SQL MI or managed instances,
all of those are those experiences come with.
>> Awesome, cool. Now, if you had
one tip to give our users if they're getting started with this,
one piece of advice on building this given
your experience building this feature out, what would it be?
>> I would say, start playing with it as soon as
you can because changing your development cycle
to something that can have source control more easily
like this declarative development cycle really adds a level
of safety to your development and
avoids breaking changes that impact your production environments.
>> Awesome, cool. I like that tip to
start using it as soon as you can,
simple but straight to the point.
Thanks Drew for being on the show with us.
We'll put some links to learn
more in the description of this video.
For our viewers, if you liked this video please like this video
and let us know what you're doing with
this extension in Azure Data Studio.
We hope to see you next time on Data Exposed.
[MUSIC]