Microsoft announced the first release candidate (a.k.a. RC1) for SQL Server 2017 on Monday, July 17th. Release candidates are not a final and finished product, but they are feature complete. No new features are expected after Microsoft moves into the RC phase, only adding polish (for example, brushing up the documentation and UI) and performance to the existing feature set. The full product release is planned for some time in the second half of 2017.
RC1 includes a variety of new features that I’ve described for you in recent months. These features include support for the Linux operating system in several distributions, Docker container support, graph data processing support, adaptive query processing, and lots of added features for Machine Learning (ML) and data science workloads by integrating coding support for the Python and R languages.
There are also a handful of other features that I haven’t spent much time on in previous columns. For example, SQL Server 2017 will include Active Directory (AD) and TLS encryption support when running on Linux, improved Dynamic Management Views (DMVs) for SQL Server Analytic Services (SSAS) to improve the performance of analytic models, a new Unicode-based ODBC driver for SSIS on Linux, and further improvements to scale-out high availability for SSIS on Windows.
Grab a copy of RC1 for Windows, Linux, or Docker at www.microsoft.com/SQLServer2017!
Announcing Two New TPC Benchmarks
I’ve long advocated including readings of the latest TPC benchmarks into your regular reading list. (See https://www.dbta.com/Editorial/Our-View/Introduction-to-TPC-Database-Benchmarks-86891.aspx). For a quick recap, the Transaction Performance Processing Council (TPC) is a non-profit corporation focused on creating, verifying, and disseminating the results of database workload standards.
The latest two benchmarks announced by Microsoft run the transactional TPC-E workload and analytic/data warehousing TPC-H workload Windows Server 2016s with SQL Server 2017. In a nutshell, they broke the world records! For TPC-E, SQL Server 2017 running on a Lenovo ThinkSystem SR650, achieved a new world record for a 2 socket test result. While the TPC-H 10TB data warehouse workload running on a Lenovo ThinkSystem SR950 server achieved 1,336,109 QppH, a new world record. Keep in mind that the previous world records announced back in April was when Microsoft ran the 1TB TPC-H data warehousing workload on Red Hate Enterprise Linux (RHEL). Can you easily determine whether Linux or Windows is the better performing OS? Not easily. Both OSs provided peak performance in their given benchmarks. It’s more readily apparent that SQL Server 2017 is the big winner, producing world-record breaking performance on both OS’es.
Linux distributions currently supported by SQL Server 2017 include RHEL, SUSE Linux Enterprise Server (SLES), and Ubuntu. It can also run in Linux Docker machines, Windows Docker machines, and Apple Mac OS X Docker machines. SQL Server support on these platforms extends to the core database engine and to SQL Server Integration Services (SSIS). So if you were excited to move SSAS or SSRS over to Linux, you’ll have to wait until after General Availability (GA). This limitation also applies to SQL Server Machine Learning Services in R and Python.
Announcing SQL Server Diagnostic Extensions for SSMS
SQL Server creates stack dumps when there are very serious (and sometimes not-so-serious) problems encountered by the database engine. Once you had a stack dump, though, there wasn’t a whole lot a non-expert could do with the file. You typically had two options: one, manually read the file hoping to see a specific error message you could further investigate or two, call Microsoft.
Now the Microsoft Tiger Team gives us the SQL Server Diagnostic Extensions for SQL Server Management Studio (SSMS) 2016 and 2017. (Download at https://www.microsoft.com/en-us/download/details.aspx?id=55516). This nifty set of tools and cloud-based micro-services enables us to actually debug and make real sense of issues exposed by full stack dumps, mini dumps, and filtered dumps.
When you install the extensions, you can now access the new menu option SQL Server Diagnostics from the Tools menu in SSMS 2016 or SSMS 2017. While SSMS must be version 2016 or 2017, the SQL Server engine that produced the dump can be SQL Server 2008 or newer. When invoked, the SQL Server Diagnostics pop-up dialog asks for you to provide the regional Azure data center where you want to process the stack dump, the stack dump to upload, and the email address to send the processing results. The dump file must be 100GB or less, while Microsoft recommends that any file bigger than 8GB be zipped in LZ4 format.
The actual work is NOT done on your client, but rather in the Azure cloud. You’ll quickly receive an email that shows the results of the root cause analysis, details of any public Knowledge Base (KB) articles that relate to issues found in the dump file. You can troubleshoot from there. It even includes enhancements to make it easier to file Connect items or ask for a review by the SQL Server Program Group at Microsoft.
NOTE: The dumps are handles and stored in the same way as when customers initiate a standard support call Microsoft Support and provide a dump file directly to them.
If you don’t already have SSMS, grab it here: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms.