Book Image

SQL Server 2017 Developer's Guide

Book Image

SQL Server 2017 Developer's Guide

Overview of this book

Microsoft SQL Server 2017 is a milestone in Microsoft's data platform timeline, as it brings in the power of R and Python for machine learning and containerization-based deployment on Windows and Linux. This book prepares you for advanced topics by starting with a quick introduction to SQL Server 2017's new features. Then, it introduces you to enhancements in the Transact-SQL language and new database engine capabilities before switching to a different technology: JSON support. You will take a look at the security enhancements and temporal tables. Furthermore, the book focuses on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. Toward the end of the book, you'll be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. You'll also learn to integrate Python code into SQL Server and graph database implementations as well as the deployment options on Linux and SQL Server in containers for development and testing. By the end of this book, you will be armed to design efficient, high-performance database applications without any hassle.
Table of Contents (25 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Free Chapter
1
Introduction to SQL Server 2017
Index

PerfMon counters


SQL Server also provides perfmon counters for the In-Memory OLTP engine; however, PerfMon is a much older technology than Extended Events and has certain limitations that prevent it from exposing all the details that Extended Events can. Be that as it may, it is still possible to collect certain information on the In-Memory OLTP engine.

A T-SQL query to return a list of the PerfMon counters that are available for the In-Memory OLTP engine would be:

SELECT object_name, 
    counter_name 
FROM sys.dm_os_performance_counters 
WHERE object_name LIKE '%XTP%'; 

Assistance in migrating to In-Memory OLTP

Now that we have explored the possibilities that memory-optimized tables offer, it would be fantastic to be able to somehow evaluate our existing databases. Ideally this evaluation would show how many tables or stored procedures could potentially be converted from traditional disk-based objects into ultra-fast memory-optimized objects.

Luckily for us, Microsoft has also provided us with...