Q1. How will the Performance Tuning and Optimizing Microsoft SQL Databases (MS-10987) certification training benefit me in my current job role?
The Performance Tuning and Optimizing Microsoft SQL Databases (MS-10987) certification training will help you in your Job’s current role by learning and getting hands on experience in the following areas:
- Understanding the high-level architectural overview of SQL Server and its various components.
- Learn how SQL Server execution model, waits and queues operation works.
- The core I/O concepts, Storage Area Networks and performance testing.
- Understand the architectural concept related to data files for user databases and TempDB. Learn what are some best practices related to these databases.
- Learn The Architectural concepts and best practices related to Concurrency, Transactions, Isolation Levels and Locking.
- Understand the architectural concepts of the Optimizer and how to identify and fix query plan issues.
- What is the architectural concept of troubleshooting scenarios and best practices related to Plan Cache.
- Learn architectural concepts, troubleshooting strategy and usage scenarios for Extended Events.
- Get your hands-on data collection strategy and techniques to analyze collection of data.
- Understand techniques to identify and diagnose bottlenecks to improve overall performance
Q2. Do I have to prepare anything before attending a training course?
Before attending this training make sure you are well versed with the following:
- Professional Experience in T-SQL querying.
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
- Working knowledge of database administration and maintenance
- Working knowledge of Transact-SQL.
Q3. Explain how the hardware running SQL Server can help or hinder performance
Following may be the reasons hardware running SQL Server can help or hinder performance:
- Taxed CPUs will queue requests and hinder query performance.
- Insufficient memory could cause paging resulting in slow query performance.
- Incorrectly configured disk drives could exacerbate IO problems.
Q4. Why is it important to avoid functions in the WHERE clause?
- Because SQL Server will scan the index, or the table as opposed to seeking the data. The scan operation is a much more costly operation than a seek.
- Often, a slightly different approach can be used to prevent using the function in the WHERE clause yielding a favorable query plan and high performance.
Q5. How can I/O statistics be gathered and reviewed for individual database files?
- By using the fn_virtualfilestats function to capture the metrics.
- This process can be automated with a script to determine the file usage with numerous samples.
Q6. What is lock escalation and what triggers it?
Lock escalation can be defined as “The process of converting many fine-grained locks into fewer coarse-grained locks “It reduces system resource consumption/overhead while increasing the possibility of concurrency conflicts.
To escalate locks, the Database Engine attempts to change the intent lock on the table to the corresponding full lock, for example, changing an intent exclusive (IX) lock to an exclusive (X) lock, or an intent shared (IS) lock to a shared (S) lock). If the lock escalation attempt succeeds and the full table lock is acquired, then all heap or B-tree, page (PAGE), key-range (KEY), or row-level (RID) locks held by the transaction on the heap or index are released. If the full lock cannot be acquired, no lock escalation happens at that time and the Database Engine will continue to acquire row, key, or page locks.
Lock escalation is triggered at either of these times:
- When a single Transact-SQL statement acquires at least 5,000 locks on a single table or index.
- When the number of locks in an instance of the Database Engine exceeds memory or configuration thresholds.
- If locks cannot be escalated because of lock conflicts, the Database Engine periodically triggers lock escalation at every 1,250 new locks acquired.
Q7. What are Database Maintenance Plans?
Database Maintenance Plans allow us to automate many database administration tasks in Microsoft SQL Server. We can create maintenance plans using an easy wizard-based process without any knowledge of Transact-SQL.
We may perform the following tasks within a database maintenance plan:
- Shrinking a database
- Backing up a database
- Performing an operator notification
- Updating database statistics
- Verifying the integrity of a database
- Cleaning up leftover maintenance files
- Executing a SQL Server Agent job
- Executing a Transact-SQL statement
- Rebuilding an index
- Reorganizing an index
- Cleaning up database histories
Q8. What is tablediff.exe? What are the usages?
The tablediff utility is used to compare the data in two tables for non-convergence and is particularly useful for troubleshooting non-convergence in a replication topology. This utility can be used from the command prompt or in a batch file to perform the following tasks:
- A row by row comparison between a source table in an instance of Microsoft SQL Server acting as a replication Publisher and the destination table at one or more instances of SQL Server acting as replication Subscribers.
- Perform a fast comparison by only comparing row counts and schema.
- Perform column-level comparisons.
- Generate a Transact-SQL script to fix discrepancies at the destination server to bring the source and destination tables into convergence.
- Log results to an output file or into a table in the destination database.
Q9. What is a performance monitor?
- Windows performance monitor is a tool to capture metrics for the entire server.
- We can use this tool for capturing events of the SQL server also.
- Some useful counters are – Disks, Memory, Processors, Network, etc.