2. Key Additions
▪ Linux Support
▪ Graph DatabaseTables
▪ Resumable Online Index
▪ Machine Learning Services
▪ Automatic Query Optimization
▪ Additional enhancements to Memory-optimized tables
▪ Ability to disable Identity Cache
▪ New Functions
– TRIM() TRANSLATE() STRING_AGG
3. SQL Server on Linux
▪ Available in Red Hat, Suse, Ubuntu
▪ Not all the features are available in Linux version yet.
– FileTable Polybase Managed Backup
– Db Mirroring SQL Server Browser R Services
– Analysis Services Reporting Services DataQuality Services
– Master Data Services
▪ SSMS, SSDT orVS Code extension to manage the Linux servers.
▪ VS Code has Linux and Mac version.
5. Graph Database Tables
▪ Heavily used in Social Media, and Government agencies.
▪ Easy to create many to many relationships.
▪ Relationships are fist-class citizen.
▪ Two types of tables.
– Nodes
– Edges
▪ New Match() clause to query data.
6. How to create GraphTables
NodeTables
• Node table represents an entity
• Every node table has column named
$node_id
• $node_id values are generated
automatically.
• $node_id contains JSON string.
EdgeTables
• Edge table represents relationship.
• Every row has the following columns
• $edge_id : values are generated
automatically.
• $from_id : stores $node_id of an entity,
from where the edge originates.
• $to_id : stores $node_id of an entity, at
which the edge terminates
9. Graph DatabaseTable Limitations
• Local or GlobalTemporary tables cannot be node or edge table.
• Table variables cannot be declared as node or edge table.
• Node and Edge tables cannot beTemporal table.
• Node and Edge tables cannot be Memory Optimized tables.
• Relationships cannot be updated.
• Cross database queries on graph objects are not supported.
10. Resumable Online Index
▪ Resume / Suspend ongoing index rebuild operation.
▪ sys.index_resumable_operations to track paused rebuilds.
To make an index resumable To pause the rebuilding operation
To resume the rebuilding operationCheck Status
11. Machine Learning Services
• SQL Server R Services is renamed SQL Server Machine Learning Services.
• Run Python in SQL Server using stored procedures.
• R or Python are not supported in Linux version
12. Automatic Query Optimization
• New automatic tuning feature that identifies/fixes SQL query plans.
• Query Performance depends on cached query plans
• When cached query plan is wrong:
• Query runs slow
• Excessive resource usage
• Slows down the whole system
To let SQL Server 2017 to automatically correct any plan that regressed
SQL Server will continuously monitor and analyze plans, identify new plans that have worse
performance that the previous ones, and force last know good plan as corrective action.
13. Interleaved Execution
• Fixes Estimation problems
• Materialize estimates for problematic subtrees.
• Fixed cardinality estimates associated with multi-statement table values functions.
Batch Mode Memory Grant Feedback
• Catch Memory problems
• Batch-Execution mode
• Adjusting memory grants that result in spills or overestimates
Batch Mode Adaptive Joins
• Defer the join choice until the first join input has been scanned.
• Force Nested Loop for small dataset of rows.
• Force Hash Joins for large dataset of rows.
14. Memory-Optimized Tables
• Computed Columns support
• Cross Apply operator
• Full support for JSON functions
• Case expressions
• sp_spaceused and sp_rename is not supported for M.O.T.
• 8 index limit is eliminated
15. New Functions – TRANSLATE()
Translate() is the Replace() function in Steroids.