Developing High Quality Databases Using Visual Studio 2019 (DVS111)
This two-day, instructor-led Developing 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 students have worked on a team-based software development project and are familiar with their organization's development life cycle and practices.This course is intended for practitioners who are comfortable with the concepts of developing, testing, and deploying SQL Server databases.
- Obtain a SSDT overview.
- Learn to commit, pull, push workflow in Visual Studio.
- Learn to compare and synchronize schema changes.
- Learn Agile database techniques.
- Learn to create and use a project snapshot (.dacpac)
- Learn to compare and synchronize data changes
- Learn SQL Server unit testing principles.
- Learn to generate test data.
- Learn to use static cod analysis.
- Learn to build and release pipelines.
- Agile Database Development
- Agile database development overview
- Agility challenges and blockers
- SQL Server Data Tools overview
- Connected vs. disconnected development
- Imperative vs. declarative development
- Agile database techniques
- SQL Server Database Projects
- Creating a SQL Server database project
- Treating schema as source code
- Working with SQL Server Object Explorer
- Importing database schema
- Importing data-tier applications (.dacpac)
- Importing scripts
- Managing cross-database dependencies
- Referencing a database and .dacpac file
- Managing Schema Changes
- Introduction to Azure DevOps
- Azure Repos overview
- Using Git to manage schema changes
- Cloning, committing, pushing, and pulling
- Comparing schemas and sync’ing changes
- Comparing data and sync’ing changes
- Rolling back changes using Git
- Rolling back changes using project snapshots
- Assuring a High-Quality Design
- Database unit testing principles
- Levels of database unit testing
- SQL Server unit tests
- Database unit test designer
- T-SQL assertions vs. test conditions
- Using tSQLt for SQL Server unit testing
- Static code analysis
- Database refactoring tools
- Building and Deploying
- Building the database project
- Using pre-build and post-build events
- Including additional build scripts
- Using script build actions
- Using the Local DB isolated sandbox
- Deploying changes to SQL Server
- Creating and using publishing profiles
- Using pre and post deployment scripts
- Using SQL CMD variables within scripts
- Building/deploying composite projects
- Building/deploying SQL CLR objects
- Azure Pipelines overview
- Using an automated build pipeline
- Practicing Continuous Integration(CI)
- Using an automated release pipeline
- Running tests in the release pipeline
- Practicing Continuous Delivery(CD)
Each student will receive a comprehensive set of materials, including course notes and all the class examples.