Delivering High Quality Databases Using Visual Studio 2019

This two-day, Delivering High Quality Databases Using Visual Studio 2019 training class provides students with the knowledge and skills to effectively develop, test, and deliver modern SQL Server databases. Student will experience how to manage changes to database schema, ensure quality through T-SQL unit testing and static code analysis, and automate the building and deploying of SQL Server databases.

This course is intended for database developers and administrators working with modern versions of SQL Server or SQL Azure. Application developers who are involved with writing and testing T-SQL code and working with test data will also find value from this course. It would also be beneficial if the student has worked on a team-based software development project and is familiar with their organization's development lifecycle and practices.


Public Classes: Delivered live online via WebEx and guaranteed to run . Join from anywhere!

Private Classes: Delivered at your offices , or any other location of your choice.

Course Topics
  1. SQL Server Data Tools (SSDT) overview
  2. SSDT vs. SSIS, SSAS, and SSRS development
  3. Agile database development
  4. SQL Server and Azure SQL version support
  5. Connected vs. disconnected development
  6. SQL Server Object Explorer (SSOX)
  7. T-SQL editor, debugger, and IntelliSense
  8. Imperative vs. declarative development
  9. Agile database techniques
  10. SQL Server database projects
  11. Thinking of schema as source code
  12. Solution Explorer vs. SQL Server Object Explorer
  13. Importing a database schema
  14. Importing a data-tier application (.dacpac)
  15. Importing T-SQL Script
  16. Cross-database dependencies
  17. Referencing a database projector .dacpac
  18. Database development lifecycle
  19. Database project activities and tasks
  20. IntegrationwithAzure DevOps(Azure Repos)
  21. Creating and configuring a team project
  22. Using Git to manage schema changes
  23. Creating and cloning a Git repository
  24. Commit, pull, push workflow in Visual Studio
  25. Comparing and synchronizing schema changes
  26. Creating and using a project snapshot (.dacpac)
  27. Comparing and synchronizing data changes
  28. SQL Server unit testing principles
  29. Creating a unit test project
  30. Testing stored procedures, functions, and triggers
  31. Using initialize, pre/post-test, and cleanup scripts
  32. T-SQL assertions vs. test conditions
  33. Automatic test generation
  34. Creating negative unit tests
  35. Using tSQLt for SQL Server unit testing
  36. Generating test data
  37. Using static code analysis
  38. Configuring, viewing, and suppressing messages
  39. Database refactoring overview
  40. SSDT refactoring commands
  41. Understanding the refactoring log
  42. Building the database project
  43. Deploying/publishing to SQL Server
  44. Using variables and custom scripts
  45. Advanced project types
  46. Integrating with Azure Pipelines
  47. Using build and release pipelines
  48. Running SQL Server unit tests in a pipeline
  49. Practicing Continuous Integration (CI)
  50. Practicing Continuous Delivery (CD)
  1. Agile Database Development
    1. Agile database development overview
    2. Agility challenges and blockers
    3. SQL Server Data Tools overview
    4. Connected vs. disconnected development
    5. Imperative vs. declarative development
    6. Agile database techniques
  2. SQL Server Database Projects
    1. Creating a SQL Server database project
    2. Treating schema as source code
    3. Working with SQL Server Object Explorer
    4. Importing database schema
    5. Importing data-tier applications (.dacpac)
    6. Importing scripts
    7. Managing cross-database dependencies
    8. Referencing a database and .dacpac file
  3. Managing Schema Changes
    1. Introduction to Azure DevOps
    2. Azure Repos overview
    3. Using Git to manage schema changes
    4. Cloning, committing, pushing, and pulling
    5. Comparing schemas and sync'ing changes
    6. Comparing data and sync'ing changes
    7. Rolling back changes using Git
    8. Rolling back changes using project snapshots
  4. Assuring a High-QualityDesign
    1. Database unit testing principles
    2. Levels of database unit testing
    3. SQL Server unit tests
    4. Database unit test designer
    5. T-SQL assertions vs. test conditions
    6. Using tSQLt for SQL Server unit testing
    7. Static code analysis
    8. Database refactoringtools
  5. Building and Deploying
    1. Building the database project
    2. Using pre-build and post-build events
    3. Including additional build scripts
    4. Using script build actions
    5. Using the LocalDB isolated sandbox
    6. Deploying changes to SQL Server
    7. Creating and using publishing profiles
    8. Using pre and post deployment scripts
    9. Using SQLCMD variables within scripts
    10. Building/deploying composite projects
    11. Building/deploying SQL CLR objects
    12. Azure Pipelines overview
    13. Using an automated build pipeline
    14. Practicing Continuous Integration (CI)
    15. Using an automated release pipeline
    16. Running tests in the releasepipeline
    17. Practicing Continuous Delivery(CD)
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Training for your Team

Length: 2 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

Truly a phenomenal learning experience.
Doug Wegner
Seagate Technology
Instructor was very knowledgeable and engaging. She answered all of our questions and provided excellent examples.
Jeff Brittain
J P Morgan Retirement Plan Services
I thought it was excellent - very concise and not overwhelming.
Dale Balcita
Daylight Solutions
I got so much more from the class than I expected.
Jim Lindstrom
FedEx Ground

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing


Students who have taken Instructor-led Training


Organizations who trust Webucator for their Instructor-led training needs


Satisfaction guarantee and retake option


Students rated our trainers 9.30 out of 10 based on 30,146 reviews

Contact Us or call 1-877-932-8228