>> 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]