SQL Server, Analytics, .Net, Machine Learning, R, Python
Mitch Wheat has been working as a professional programmer since 1984, graduating with a honours degree in Mathematics from Warwick University, UK in 1986. He moved to Perth in 1995, having worked in software houses in London and Rotterdam. He has worked in the areas of mining, electronics, research, defence, financial, GIS, telecommunications, engineering, and information management. Mitch has worked mainly with Microsoft technologies (since Windows version 3.0) but has also used UNIX. He holds the following Microsoft certifications: MCPD (Web and Windows) using C# and SQL Server MCITP (Admin and Developer). His preferred development environment is C#, .Net Framework and SQL Server. Mitch has worked as an independent consultant for the last 10 years, and is currently involved with helping teams improve their Software Development Life Cycle. His areas of special interest lie in performance tuning
Wednesday, October 25, 2017
Shared Memory Protocol is not Supported on SQL Server Failover Clusters
I was recently trying to work out why SSAS installed on the same server as SQL Server would not use shared memory for its processing connections. It may be obvious to some people, but an internet search turns up surprising few references: the Shared Memory Protocol is not Supported on SQL Server Failover Clusters.
On a standard SQL Server instance, the Shared Memory protocol can be used when a client is running on the same computer as the SQL Server instance and the Shared Memory Protocol is enabled in SQL Server’s network protocols. (You can check the status of the enabled protocols using SQL Server Configuration Manager).
sys.dm_exec_connections will show you which net transport a client connection is using:
You can force a client connection to use a specific protocol by prefixing the Server name in the connection string with one of these modifiers:
e.g. Force connection to use the TCP protocol:
In addition, you can force the client connection to use the Shared Memory protocol by using (local) as the server name. You can also use localhost or a period (.) e.g.:
Tuesday, October 17, 2017
SSMS 17.3 has XE Profiler built-in
New to SQL Server Manager Studio (SSMS) 17.3 is the XE Profiler. This is Profiler-like functionality built-in to SSMS:
Just double-click either of the two entries to create a live trace window (built on the SSMS XE “Watch Live Data” functionality). The event sessions that will be created are named:
Friday, October 13, 2017
SSAS: Turn Off Flight Recorder
A quick and easy SSAS optimisation: turn off flight recorder:
Wednesday, October 04, 2017
SQL Server: Do You Have a Poorly Performing Query you can't Explain?
If you are running a SQL Server version prior to SQL Server 2016, and you have a query whose plan just doesn't seem right and you can't explain it, try running it with trace flag 4199
It enables all the query optimiser hot fixes present in your applied SP and CU version.
Many DBAs enable this trace flag globally (at the instance level).
SQL Server 2016 will automatically enable all prior version query optimiser hot fixes.
SQL Server query optimizer hotfix trace flag 4199 servicing model
SQL Server 2016: The Death of the Trace Flag
Tuesday, October 03, 2017
SQL Server 2017: Performance Improvements and Linux
MSN, Email: mitch døt wheat at gmail.com