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

SQL Graph limitations


The SQL Graph feature is new in SQL Server 2017 and has many limitations. In this review, you will see general limitations for graph tables and missing validation features in edge tables.

General limitations

You saw that creating node and edge tables in SQL Server 2017 is very straightforward. However, there are certain limitations for both table types in this version. Nodes and edge tables cannot be created as memory-optimized, system-versioned temporal tables or temporary tables. Table variables cannot be declared as node or edge tables. Automatically generated $from_id and $to_id columns in an edge table cannot be updated; you can insert a new edge and remove the existing one. Finally, cross database queries on graph objects are not supported.

It is usual that the first implementation of a new feature has certain limitations. It is also usual that most of them are removed in the next release. We have a good reason to hope that this will be the case with these limitations...