Are you sometimes unsure about what type of database transaction or what isolation level makes sense for your application? Have you ever run into blocking problems or the dreaded deadlock? In this course, Managing SQL Server Database Concurrency, you will learn foundational knowledge of how SQL Server maximises the shared use of a database system while safeguarding the integrity of the data under its care and quickly delivering results to all applications that use it. First, you will learn how transactions are used and the various levels of isolation available. Next, you will discover how SQL Server uses locking to enable concurrency without affecting data integrity. Finally, you will explore how to analyze concurrency-affecting queries, including those that deadlock, and some techniques you can use to keep to avoid such issues. When you are finished with this course, you will have the skills and knowledge of concurrency management needed to explain database behavior, debug and fix blocking and deadlocking queries, and design queries that can do their jobs efficiently while minimizing their effects on other work being done simultaneously.
Gerald is a multiple-year of the Microsoft MVP award, Gerald has led introductory classes in Python and SQL for industry-sponsored events at Ryerson University, Toronto and the University of Toronto (his alma mater).
Course Overview Hi everyone. My name is Gerald Britton, and welcome to my course, Managing SQL Server Database Concurrency. I'm a senior solutions designer at TD Bank in Canada. I've been designing and troubleshooting SQL Server databases for more than 10 years, and love to help others with the next steps on their own journey. I have also been a Pluralsight author since 2016. Have you ever wondered how a busy database system manages to handle thousands of queries at once without ever messing up the business critical data it holds? Or have you ever seen or even written a seemingly simple query that somehow manages to bring the system to its knees? Maybe you just want to know how things really work, and the things you can do to make them work better. If so, this course is for you. In this course, we are going to explore the methods SQL Server uses to manage concurrent activity while preserving database integrity, and see the many things a query writer can do to maximize concurrency while balancing critical business needs. Some of the major topics we will cover include transactional isolation using the four ANSI isolation levels, row versioning using SQL Server's snapshot isolation, locking in the database engine, troubleshooting deadlocks, and writing efficient queries while maximizing concurrency. By the end of this course, you'll know how SQL Server uses locking to preserve database integrity, how to troubleshoot locking and deadlocks, and how to leverage row versioning, and how to write queries with concurrency in mind. Before beginning the course, you should be familiar with writing queries in Transact SQL and have an IDE, such as Azure Data Studio or SSMS installed and ready to go. From here, you should feel comfortable diving into advanced SQL Server topics with courses on creating stored procedures, functions, and triggers, Extended Events, and using XML in SQL Server. I hope you'll join me on this journey to learn the ins and outs of SQL Server operations with the Managing SQL Server Database Concurrency course at Pluralsight.