SQL Cruise Alaska 2017, the last official SQL Cruise,* is in the books. This was my third SQL Cruise – two to Alaska and one to the Caribbean – and the one which made my brain melt more than any other.
* (SQL Cruise is now Tech Outbound, offering technical training events on both land and at sea.)
Hanging together viewing Sawyer Glacier
We boarded the Norwegian Jewel on Saturday, and had the usual "search" party (a kind of scavenger hunt for SQL Cruise attendees and their families), which is always a great way to get to know others on the trip. Getting other passengers or crew members to take our pictures (because selfies can't include the whole team) is always amusing.
Sunday and Thursday we were at sea, so it was all classroom all day. The sea was rough, and I was not the only queasy passenger. Having windows in our classroom made a big difference: keeping an eye on the horizon helps steady the equilibrium.
- Grant Fritchey (RedGate Software) (b/t) presented a session on execution plans, and I always learn something new in his sessions, even though I've been working with exec plans since SQL Server 4.2. In this case it was how much information is actually available in the properties window for each operator, and how that can be used to track memory spills and such. Excellent session. Later in the cruise Grant presented a session on the RedGate tools, and one on managing Azure Databases with PowerShell. He was able to successfully connect with his Azure environment, even though we were on a moving ship in the Pacific Ocean.
- Andy Kelly (SolidQ) (b/t) went through a detailed explanation of Query Store, the feature introduced in SQL Server 2016 to help manage query performance. This feature has been a game changer for dealing with parameter sniffing and other like issues, and Andy helped us understand how to make use of it to manage our workloads. He also did sessions on managing large data (think terabyte tables, and the problems trying to rebuild an index on a table that size), and on capturing performance metrics to monitor SQL Server performance.
- Argenis Fernandez (Pure Storage) (b/t) presented a session titled Modern Attack Vectors, and though it wasn't specific to SQL Server, it was a real eye opener to the ways in which people can get into your systems, and the steps you can take to avoid those kinds of issues. I've been advocating running SQL Server on Windows Server Core for some time, and Argenis echoed those thoughts, as it goes a long way towards minimizing the attack vectors available. Argenis also provided a session discussing all flash arrays.
Andy Yun (b/t) and I presented a session on the SentryOne tools, and how administrators can quickly find and correct performance issues. I also presented a session introducing PowerShell, including using it for SQL Server, and focusing on how much time can be saved leveraging the power of PowerShell Remoting when setting up environments and making changes across many systems. (Check out Andy's post on this year's SQL Cruise here.
Getting the required picture with a ship's officer.
The big treat for everyone in the group was, of course, Bob Ward (Microsoft) (t). Bob went into details on supporting SQL Server 2017 on Linux, and covered the various Linux distributions and how to manage SQL Server on each of them, and also explained Docker installations. This was a real peek behind-the-scenes, with someone who's been involved in this from its inception, so he went into a lot of detail. There are a lot of IT shops which won't support any operating system but Linux, and this will now allow these shops to run SQL Server. I think this is going to be a very large market, and so does Microsoft, but the learning curve for Windows admins is going to be steep. Bob's session helped get the cruisers started on that path. (I spent time as a Unix admin in the early-to-mid 90s, so in many ways it was a refresher for me, but things have changed since then.)
Bob also did sessions on In-Memory OLTP and on Machine Learning. He helped us understand the benefits as well as the caveats of using In-Memory OLTP, helped us understand how to set it up, and how to prepare for system failover. He also got into the internals and how to monitor performance of this great feature. He also went into detail in his Machine Learning session on how to set up and use R Services and Python in SQL Server, and how the SQL Extensibility Feature allows these popular languages to be supported within the framework of the SQL Server engine.
By the end of the week, my brain was melting. I'm still trying to process all the material presented on this trip. Tim Ford (b/t) does a wonderful job putting together the right mix of beginner and advanced material for these events, and the relationships developed during them have blossomed into long-lasting friendships. Connecting over a deep dive into technical and professional development training has helped many of us advance our knowledge, and our careers, far beyond expectation.
Oh, and we visited Ketchikan, Juneau and Skagway, Alaska, and Victoria, BC.