Warning: Constant WP_TEMP_DIR already defined in /var/www/html/blogs/joe/wp-config.php on line 93

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/joe/wp-config.php:93) in /var/www/html/blogs/joe/wp-includes/feed-rss2.php on line 8
SQL Server Training https://www.sqlskills.com/blogs/joe/category/sql-server-training/ SQL Server Performance Tuning, High Availability and Disaster Recovery Blog Mon, 11 Aug 2014 22:27:42 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 New Course: “SQL Server: Common Query Tuning Problems and Solutions – Part 2″ https://www.sqlskills.com/blogs/joe/new-course-sql-server-common-query-tuning-problems-solutions-part-2/ Mon, 11 Aug 2014 22:21:58 +0000 http://3.209.169.194/blogs/joe/?p=1193 Today, Pluralsight published my latest course, “SQL Server: Common Query Tuning Problems and Solutions – Part 2“.  Part two is 2 hours and 17 minutes long and covers the following: Troubleshooting Inefficiency Demo: One-Row-At-A-Time-Processing Demo: The Forgotten Trigger Demo: Scalar Function Inhibited Parallelism Demo: Scalar Function Row by Row Execution Demo: Too Few Rows Per Batch […]

The post New Course: “SQL Server: Common Query Tuning Problems and Solutions – Part 2″ appeared first on Joe Sack.

]]>
Today, Pluralsight published my latest course, “SQL Server: Common Query Tuning Problems and Solutions – Part 2“.  Part two is 2 hours and 17 minutes long and covers the following:

Troubleshooting Inefficiency

  • Demo: One-Row-At-A-Time-Processing
  • Demo: The Forgotten Trigger
  • Demo: Scalar Function Inhibited Parallelism
  • Demo: Scalar Function Row by Row Execution
  • Demo: Too Few Rows Per Batch
  • Demo: Not Using TOP When You Can
  • Demo: Unnecessary Many-To-Many
  • Demo: Excessive Fragmentation and Scans

Tuning OLTP vs. DSS Patterns

  • Defining OLTP and DSS
  • OLTP Characteristics
  • Demo: Stop-And-Go Operators
  • Demo: Finding Timeout-Prone Queries
  • Demo: Over-Indexing
  • Demo: OLTP and Parallelism
  • Demo: OLTP and Deep Trees
  • DSS Characteristics
  • Demo: Expanding the AdventureWorksDW2012 Database
  • Demo: Unwanted Serial Plans
  • Demo: Gatekeeper Row Issue – Part 1
  • Demo: Gatekeeper Row Issue – Part 2
  • Demo: Gatekeeper Row Issue – Part 3
  • Demo: Aggregation Queries and Columnstore Index Opportunities
  • Demo: Distinct Aggregation Issue

Advanced Query Tuning Patterns

  • Demo: New-Feature Abuse
  • Demo: Recursive CTE Estimate Skews
  • Demo: Seeks, Scans, Predicates, and Filters – Part 1
  • Demo: Seeks, Scans, Predicates, and Filters – Part 2
  • Demo: Seeks, Scans, Predicates, and Filters – Part 3
  • Demo: Unmatched Indexes
  • Demo: Disused Filtered Statistics
  • Demo: Interpreting RetrievedFromCache
  • Demo: Amplification and Distinct Value Counts
  • Demo: Join Hints and Forced Order
  • Demo: CTEs vs. Derived Tables
  • Demo: One Procedure With Multiple Optional Input Parameters
  • Demo: Procedure Sub-Branching
  • Demo: Verifying Instance Workload Complexity

And if you are new to Pluralsight or considering a subscription, be sure to review the ever-growing course catalog from the entire SQLskills team!

The post New Course: “SQL Server: Common Query Tuning Problems and Solutions – Part 2″ appeared first on Joe Sack.

]]>
New Course: “SQL Server: Common Query Tuning Problems and Solutions – Part 1” https://www.sqlskills.com/blogs/joe/new-course-sql-server-common-query-tuning-problems-solutions-part-1/ Tue, 08 Jul 2014 01:37:53 +0000 http://3.209.169.194/blogs/joe/?p=1190 Pluralsight published my latest course, “SQL Server: Common Query Tuning Problems and Solutions – Part 1“.  Part 1 is 2 hours and 31 minutes and covers the following: Module: Validating Assumptions Downstream Impact of Bad Assumptions Cardinality Estimation and Predicates Selectivity Query Cardinality Questions Cardinality Estimate Inputs Statistics Demo: DBCC SHOW_STATISTICS STAT_HEADER Demo: DBCC SHOW_STATISTICS […]

The post New Course: “SQL Server: Common Query Tuning Problems and Solutions – Part 1” appeared first on Joe Sack.

]]>
Pluralsight published my latest course, “SQL Server: Common Query Tuning Problems and Solutions – Part 1“.  Part 1 is 2 hours and 31 minutes and covers the following:

Module: Validating Assumptions

  • Downstream Impact of Bad Assumptions
  • Cardinality Estimation and Predicates
  • Selectivity
  • Query Cardinality Questions
  • Cardinality Estimate Inputs
  • Statistics
  • Demo: DBCC SHOW_STATISTICS STAT_HEADER
  • Demo: DBCC SHOW_STATISTICS DENSITY_VECTOR
  • Demo: DBCC SHOW_STATISTICS HISTOGRAM
  • Demo: Histogram Direct Step Hit
  • Demo: Scaling the Estimate
  • Demo: Histogram Intra-Step Hit
  • Demo: Density Vector With an Unknown Runtime Value
  • Demo: Parameter Sniffed Value Estimation
  • Demo: Distinct Value Estimation
  • Impact to Query Execution and Performance
  • Identifying Bad Assumptions
  • Demo: Viewing Estimated Vs. Actual Row Counts
  • Demo: sys.dm_exec_query_profiles
  • Demo: Root-level Skews via sys.dm_exec_query_stats
  • What Variance is Problematic?

Module: Troubleshooting Bad Assumptions

  • Model Assumptions
  • Demo: Jagged Distributions
  • Demo: Correlated Predicates
  • Demo: Correlated Predicates in SQL Server 2014
  • Demo: Correlated Join Predicates, Independent Filter Predicates
  • Demo: Searching for Off-Histogram Values
  • Demo: Searching for Off-Histogram Values in SQL Server 2014
  • Troubleshooting Questions
  • Demo: Missing Statistics
  • Demo: Selectivity Guesses
  • Demo: Stale Statistics
  • Demo: Inadequate Sampling
  • Demo: Parameter Sensitivity
  • Demo: Table Variable Usage
  • Demo: MSTVF Usage – Part
  • Demo: Data Type Conversions
  • Demo: Buried Predicates

Module: Tuning Imprecision Problems

  • Demo: SELECT *
  • Demo: Unnecessary Sorts
  • Demo: Needless DISTINCT
  • Demo: UNION Vs. UNION ALL
  • Demo: Leading Wildcards
  • Demo: Hidden Cartesian Products
  • Demo: Data Type Conversion Issues
  • Demo: Redundant Logic and Overlapping Object References

And part 2 will be published soon!

The post New Course: “SQL Server: Common Query Tuning Problems and Solutions – Part 1” appeared first on Joe Sack.

]]>
SQLIntersection Post-Conference Session https://www.sqlskills.com/blogs/joe/sqlintersection-post-conference-session/ Mon, 19 May 2014 14:13:38 +0000 http://3.209.169.194/blogs/joe/?p=1187 I am really happy to announce that Kimberly Tripp and I will be delivering a post-conference in November’s SQLIntersection conference at the MGM Grand. The session is “Queries Gone Wild 2: Statistics and Cardinality in Versions 2008, 2008R2, 2012, and 2014” and will be delivered November 14th, from 9AM to 4:30PM. You can find registration […]

The post SQLIntersection Post-Conference Session appeared first on Joe Sack.

]]>
I am really happy to announce that Kimberly Tripp and I will be delivering a post-conference in November’s SQLIntersection conference at the MGM Grand. The session is “Queries Gone Wild 2: Statistics and Cardinality in Versions 2008, 2008R2, 2012, and 2014” and will be delivered November 14th, from 9AM to 4:30PM.

You can find registration details for the main conference, pre-conference and post-conference choices here

It will be an incredibly fun day and you can be sure to walk away with practical query tuning techniques and a strong foundation in statistics and cardinality estimation concepts (both for the new and legacy cardinality estimator).  

The post SQLIntersection Post-Conference Session appeared first on Joe Sack.

]]>
Deck from “Practical SQL Server Cardinality Estimation” https://www.sqlskills.com/blogs/joe/deck-from-practical-sql-server-cardinality-estimation/ https://www.sqlskills.com/blogs/joe/deck-from-practical-sql-server-cardinality-estimation/#comments Wed, 02 Apr 2014 14:41:48 +0000 http://3.209.169.194/blogs/joe/?p=1174 I uploaded the deck from my session for SQLSaturday #287 Madison 2014 and you can download it here. It was an excellent event!  Great organizers, volunteers, venue, speakers – and a matching big turnout with lots of first-time SQLSaturday attendees.  Grateful for the experience and hope to be back again next year.

The post Deck from “Practical SQL Server Cardinality Estimation” appeared first on Joe Sack.

]]>
I uploaded the deck from my session for SQLSaturday #287 Madison 2014 and you can download it here.

It was an excellent event!  Great organizers, volunteers, venue, speakers – and a matching big turnout with lots of first-time SQLSaturday attendees. 

Grateful for the experience and hope to be back again next year.

The post Deck from “Practical SQL Server Cardinality Estimation” appeared first on Joe Sack.

]]>
https://www.sqlskills.com/blogs/joe/deck-from-practical-sql-server-cardinality-estimation/feed/ 1
New Course: “SQL Server: Transact-SQL Common Table Expressions” https://www.sqlskills.com/blogs/joe/new-course-sql-server-transact-sql-common-table-expressions/ Fri, 14 Feb 2014 20:56:50 +0000 http://3.209.169.194/blogs/joe/?p=1162 Today Pluralsight published my new course, “SQL Server: Transact-SQL Common Table Expressions”. This is a demo-centric, short course on how to create and use common table expressions (CTEs) correctly, for developers and DBAs from SQL Server 2005 onward.  Areas I cover include: What are CTEs and Why Use Them? CTE Syntax Semicolon Requirements When Column […]

The post New Course: “SQL Server: Transact-SQL Common Table Expressions” appeared first on Joe Sack.

]]>
Today Pluralsight published my new course, “SQL Server: Transact-SQL Common Table Expressions”.

This is a demo-centric, short course on how to create and use common table expressions (CTEs) correctly, for developers and DBAs from SQL Server 2005 onward.  Areas I cover include:

  • What are CTEs and Why Use Them?
  • CTE Syntax
  • Semicolon Requirements
  • When Column Names Must Be Specified
  • Execution Scope
  • Multiple CTE Query Definitions
  • Defining and Referencing Multiple CTEs
  • Multiple References To the Same CTE
  • CTEs with Data Modification Statements
  • CTEs and Views
  • CTEs and Stored Procedures
  • CTEs and Triggers
  • CTEs and User-Defined Functions
  • Recursive CTE Examples
  • Forward Referencing Restrictions
  • ORDER BY restrictions
  • INTO and CTE Restriction
  • CTE Nesting Restriction
  • OPTION Clause with Query Hints Restriction
  • Max Recursion Limitation
  • Late Filtering
  • Non-Recursive Self-Join
  • CTEs and Non-Deterministic Functions
  • CTEs vs. Derived Table Code Clarity
  • Windowing Functions, Predicates and CTEs
  • Return Lineage Information
  • Multiple Anchors
  • Sequence Generation
  • CTEs as Reference Table Replacements
  • Windowing Functions and Data Modifications
  • Referencing a Scalar Subselect in a Predicate

Much more to come from the SQLskills team!

The post New Course: “SQL Server: Transact-SQL Common Table Expressions” appeared first on Joe Sack.

]]>
New Course: “SQL Server: Database Creation, Configuration, and Alteration” https://www.sqlskills.com/blogs/joe/new-course-sql-server-database-creation-configuration-and-alteration/ Tue, 17 Dec 2013 16:37:31 +0000 http://3.209.169.194/blogs/joe/?p=1136   Today Pluralsight published my new course, “SQL Server: Database Creation, Configuration, and Alteration”. This is a demo-centric, short course on how to how to use T-SQL to create and configure databases, files, and filegroups.  Areas I cover include: How to create a database How to configure files and filegroups Configuration of file settings Configuration […]

The post New Course: “SQL Server: Database Creation, Configuration, and Alteration” appeared first on Joe Sack.

]]>
 

Today Pluralsight published my new course, “SQL Server: Database Creation, Configuration, and Alteration”.

This is a demo-centric, short course on how to how to use T-SQL to create and configure databases, files, and filegroups.  Areas I cover include:

  • How to create a database
  • How to configure files and filegroups
  • Configuration of file settings
  • Configuration of recovery model, security, collation
  • How to create a database snapshot
  • How to support FILESTREAM data
  • Enabling containment
  • Adding, removing and modifying files and filegroups
  • Changing growth options
  • Relocating files
  • Changing logical file names
  • Making a filegroup read-only
  • Modifying compatibility levels, “AUTO” options, access and database state
  • Changing a database to read-only
  • Restricting database access
  • Changing recovery and recovery time options
  • Changing various options like page verification, snapshot isolation, ANSI settings
  • Enabling change tracking
  • Enabling Transparent Data Encryption
  • Changing security and Service Broker options
  • Changing containment settings

There are now 29 courses from the SQLskills team as of today and much more to come.

The post New Course: “SQL Server: Database Creation, Configuration, and Alteration” appeared first on Joe Sack.

]]>
New Course: “SQL Server: Temporary Objects” https://www.sqlskills.com/blogs/joe/new-course-sql-server-temporary-objects/ https://www.sqlskills.com/blogs/joe/new-course-sql-server-temporary-objects/#comments Wed, 30 Oct 2013 00:24:39 +0000 http://3.209.169.194/blogs/joe/?p=1072 This is my first blog post since going-independent. As mentioned in my previous post, I’ll still be blogging periodically on my original SQLskills blog.  As for what I’ve been up to these last few weeks, I’ve been working on-site with a local Minneapolis client – spending about half of my time on the DBA side […]

The post New Course: “SQL Server: Temporary Objects” appeared first on Joe Sack.

]]>
This is my first blog post since going-independent. As mentioned in my previous post, I’ll still be blogging periodically on my original SQLskills blog. 

As for what I’ve been up to these last few weeks, I’ve been working on-site with a local Minneapolis client – spending about half of my time on the DBA side of things and half embedded with a developer team.  I’ve been helping out on longer-term projects and I’m definitely enjoying it so far.   

So on to the subject of this brief blog post – today Pluralsight published my new course, “SQL Server: Temporary Objects”.

This is a short course on how to effectively leverage SQL Server temporary objects in your T-SQL code. The decision as to whether to use temporary tables or table variables can have a significant impact on your workload performance and scalability, and this course walks through several specific scenarios so that you can see first-hand the nuances of this design decision.

The post New Course: “SQL Server: Temporary Objects” appeared first on Joe Sack.

]]>
https://www.sqlskills.com/blogs/joe/new-course-sql-server-temporary-objects/feed/ 2
New Course: “SQL Server 2012: Transact-SQL Error Handling” https://www.sqlskills.com/blogs/joe/new-course-sql-server-2012-transact-sql-error-handling/ Wed, 21 Aug 2013 19:21:09 +0000 http://3.209.169.194/blogs/joe/?p=1015 Today Pluralsight published my new course, “SQL Server 2012: Transaction-SQL Error Handling”. As the title suggests, this course steps through how to write Transact-SQL code that deals with anticipated and unanticipated errors during code execution.  The audience is for developers and DBAs – and while the title states it is for SQL Server 2012, several […]

The post New Course: “SQL Server 2012: Transact-SQL Error Handling” appeared first on Joe Sack.

]]>
Today Pluralsight published my new course, “SQL Server 2012: Transaction-SQL Error Handling”.

As the title suggests, this course steps through how to write Transact-SQL code that deals with anticipated and unanticipated errors during code execution.  The audience is for developers and DBAs – and while the title states it is for SQL Server 2012, several aspects are applicable from SQL Server 2005 and onward.

The post New Course: “SQL Server 2012: Transact-SQL Error Handling” appeared first on Joe Sack.

]]>
Presenting “Performance Issue Patterns” at the PASSMN Minnesota SQL Server User Group https://www.sqlskills.com/blogs/joe/presenting-performance-issue-patterns-at-the-passmn-minnesota-sql-server-user-group/ Wed, 31 Jul 2013 16:48:00 +0000 http://3.209.169.194/blogs/joe/?p=1012 If you’re in town (Minneapolis/St. Paul) – just a heads-up that I’ll be presenting at the next PASSMN meeting on Tuesday, August 20th (scheduled from 4PM to 6PM).  This will be located at Microsoft, 3601 West 76th Street, Suite 600 Edina, MN  55437. Here is what I’ll be presenting: Title: Performance Issue Patterns Description: While […]

The post Presenting “Performance Issue Patterns” at the PASSMN Minnesota SQL Server User Group appeared first on Joe Sack.

]]>
If you’re in town (Minneapolis/St. Paul) – just a heads-up that I’ll be presenting at the next PASSMN meeting on Tuesday, August 20th (scheduled from 4PM to 6PM).  This will be located at Microsoft, 3601 West 76th Street, Suite 600 Edina, MN  55437.

Here is what I’ll be presenting:

Title: Performance Issue Patterns

Description: While a SQL Server professional may encounter various one-off situations over the course of a career, there are also several shared patterns and scenarios.  In this session we’ll walk through a few of these patterns interactively – where I’ll reproduce the issue and we’ll work through the scenario until we get to the root cause.

If you’ve seen my Pluralsight course with the same name – please note that this session is structured differently.  I’ll be setting up a scenario (with helpful and unhelpful symptoms), kicking off the pattern and then it is up to us to collectively troubleshoot.  Plenty of scenarios to choose from over 75 minutes, so I’ll likely pick and choose scenarios based on participant interaction as we go along.  Think “Video Game for DBAs”.

The post Presenting “Performance Issue Patterns” at the PASSMN Minnesota SQL Server User Group appeared first on Joe Sack.

]]>
New Course: “SQL Server: Transactional Replication Fundamentals” https://www.sqlskills.com/blogs/joe/new-course-sql-server-transactional-replication-fundamentals/ Fri, 21 Jun 2013 17:08:12 +0000 http://3.209.169.194/blogs/joe/?p=1009 Today Pluralsight published my new course, “SQL Server: Transactional Replication Fundamentals.” This course provides a fundamental overview of how to configure, monitor, tune and troubleshoot a SQL Server transactional replication topology. Transactional replication meets a few specific data distribution requirements that no other native SQL Server feature does out-of-the-box.  Even if you’re not a fan […]

The post New Course: “SQL Server: Transactional Replication Fundamentals” appeared first on Joe Sack.

]]>
Today Pluralsight published my new course, “SQL Server: Transactional Replication Fundamentals.”

This course provides a fundamental overview of how to configure, monitor, tune and troubleshoot a SQL Server transactional replication topology. Transactional replication meets a few specific data distribution requirements that no other native SQL Server feature does out-of-the-box.  Even if you’re not a fan of this feature (and I’ve met quite a few), if you are responsible for architecting SQL Server data-distribution solutions it is helpful to understand how transactional replication fits into the overall scalability, high availability and disaster recovery feature landscape. 

The post New Course: “SQL Server: Transactional Replication Fundamentals” appeared first on Joe Sack.

]]>