33163001 ORACLE 11g SQL PL SQL Performance Enhancements Developers
SQL Server 2016 New Features and Enhancements
-
Upload
john-martin -
Category
Technology
-
view
1.376 -
download
4
Transcript of SQL Server 2016 New Features and Enhancements
SQL SERVER 2016
New Features and Enhancements
Tuning blog: http://www.sqlperformance.com/
E-mail [email protected] for free copies of our $10 e-books:
YOUR PRESENTER• John Q Martin
o Sales Engineer for SQL Sentryo Worked with SQL Server for ~10 yearso Consultant, SQL DBA, Dev & BI Developero Former Microsoft Premier Field Engineer
• Contact Informationo Email: [email protected] Blog: http://blogs.sqlsentry.com/author/JohnMartin/ o Twitter: @SQLServerMonkeyo LinkedIn: https://uk.linkedin.com/in/johnqmartin
DEMO CODEAll demo code for this deck can be found using the link below;
http://1drv.ms/1PC5smY
AGENDA
New Features in SQL Server 2016
Columnstore Enhancements
In-Memory OLTP Enhancements
AlwaysOn Availability Group Enhancements
Load Balanced Readable Replicas
Row Level Security
Dynamic Data MaskingOperational Analytics
Always Encrypted
TDE Performance
Temporal TablesQuery Data Store
Live Query StatsBackup to Azure
Managed Backup
Multiple TempDb files on InstallFOR JSONStretch Database
PowerPoint Export in SSRS
TRUNCATE TABLE Partitions
Multiple Availability Group Failover Partners
SSRS – HTML5 Rendering Engine
SSRS – New Chart Types
SSRS – High DPI Support
SSIS – Support for AlwaysOn Availability Groups
SSIS – Incremental Package Deployment
SSIS – Odata v4 Sources
SSRS – CSS Support
SSAS – XE UI in SSMSSSRS – New DAX Functions
SSAS – Processing Improvements
MDS Now Works!
ALWAYSON AVAILABILITY GROUPS
• AlwaysOn Availability Groups will now support DTC Transactions & cross database queries.o One of the biggest blockers to adoptiono Requires the use of Windows Server 2016
• Improved health detection for triggering failover eventso Will now trigger when a database is offline rather than relying on Instance level
issues
• Increased High Availability configurationo Now support for two automatic failover partners as opposed to one
ALWAYSON AVAILABILITY GROUPS
• Now possible to use Round Robin load balancing on Active Secondaries for read-only querieso Expanded capability when connecting via the Availability Group Listenero Still requires that Read-Only Routing is configured
• Support for Group Managed Service Accountso These Active Directory accounts can greatly simplify the management of service
accounts for SQL Server.
ALWAYS ENCRYPTED
• New data encryption capability built into the engineo Encryption is defined at the column levelo Cipher-text is stored, DBA can manage but not see the plain text datao Certificate and encryption is handled by the connection driver in the application
• Two forms of encryptiono Deterministico Non-Deterministic (Randomized)
ALWAYS ENCRYPTED
ALWAYS ENCRYPTED
• Requires the SQL Native Client 12o .NET 4.6
• Windows Certificate Store is only one supported out of the boxo You can develop your own Key Store provider to interact with HSM modules etc.
• Data is protected in-transit and at-rest for the specified columns
• DBA Can manage the system but not see the datao Great for compliance or high security environments
DEMOSecuring sensitive data with SQL Server 2016 Always Encrypted
IN-MEMORY OLTP
• You are now able to run ALTER commands on memory optimized objectso Tables and procedures no longer need to be dropped and re-created
• Full join syntax support & other T-SQL surface area enhancementso Earlier version did not allow outer joinso UNION, NOT, OR and IN
• Nested Statements are now supportedo Nesting natively compiled procedures
IN-MEMORY OLTP
• Columnstore Indexes are now supported on In-Memory tableso Functionality that underpins the Operational Analytics feature set.
• Better scalabilityo Multi-threaded persistence processo Multi-threaded recovery process
• Increase in size of data for In-Memory objectso 2TB per-database (MS Recommendation)
DEMOMaking In-Memory OLTP Usable
OPERATIONAL ANALYTICS
• Perform high performance reporting on OLTP structures
• Can combine In-Memory or disk-based tables with Columnstore.
• You control which data resides in which structure.
OPERATIONAL ANALYTICS• It is possible to use two filtered
indexes to reduce data structure size
• Leverages non-clustered Columnstore indexes.o Apply a filter to identify cold/warm data
• Can be created in addition to a normal B-Tree index structure
OPERATIONAL ANALYTICS
• Important to understand your query workloado If the Queries and the Indexes don’t work well together then optimal performance
will be difficult to achieve.
• Combine with other existing technologieso Table Partitioningo Columnstore Archive Compression
• When using In-Memory tables it is not possible to use the filtered Columnstore Indexes.
DEMOMixing OLTP and Analytic Workloads with Operational Analytics.
POLYBASE
• Technology that is part of the APS (formerly PDW) appliance.
• Used to integrate external data sources to SQL Servero HDInsight/Hadoopo Azure Blob Storage
• Allows querying of the external data sources via T-SQLo Create “External Tables” in the database to access the data store.
POLYBASE
• Installed as an additional feature option from the Installero Required Java Runtime Environment 7.51 or highero One installer per-OSE
• As data is stored externally to SQL Server network will impact performanceo Getting data from on-premises Hadoop will be quicker than going to the cloud
• Allows for some potentially interesting data architectureso SQL Server database for hot/warm data with Hadoop holding deep archive data
SQL Server
All Data
POLYBASE
SQL Server
All Data
POLYBASE
T-SQL Query
POLYBASE
Hadoop[On-Premises/Cloud]
Historical Data(> 5 Years Old)
SQL Server
Current Data(< 5 Years Old)
Azure Blob Storage
POLYBASE
Hadoop[On-Premises/Cloud]
Historical Data(> 5 Years Old)
SQL Server
Current Data(< 5 Years Old)
Azure Blob Storage
T-SQL Query
POLYBASE
Hadoop[On-Premises/Cloud]
Historical Data(> 5 Years Old)
SQL Server
Current Data(< 5 Years Old)
Azure Blob Storage
T-SQL Query
Hadoop Query
Blob Query
POLYBASE
Hadoop[On-Premises/Cloud]
Historical Data(> 5 Years Old)
SQL Server
Current Data(< 5 Years Old)
Azure Blob Storage
T-SQL Query
Hadoop Query
Blob Query
Hadoop Data
Blob Data
SECURITY ENHANCEMENTS
• Row Level Securityo Restrict access to data at the row levelo Security logic sits in the data tier and is implemented by the SQL Server
• You define the logico User defined In-Line Table Value Function
• By placing this logic in the data tier, it is possible to improve securityo If the data does not leave the database then exposure is reduced
SECURITY ENHANCEMENTS
• Dynamic Data Maskingo Used to mask data that is returned to the callero Targeted at situations where there is no direct query access to data tiero Useful in compliance situations
• Feature is enabled by defaulto Can be disabled with the use of trace flags 209 & 219o Still needs to be configured by the administrator
• Number of ‘default’ masks built ino You can define your own mask patterns
SECURITY ENHANCEMENTS
• Important to understand that sysadmin can still see the data
• If there is direct T-SQL Access it can be circumventedo Select into Temporary tables and then select will expose the data
SECURITY ENHANCEMENTS
• Transparent Data Encryptiono Now supports the use of AES-NI Hardware Acceleration
• AES-NIo Instruction set in the CPU that results in more efficient processing than if it was
done in software.o Help to mitigate side-channel attacks
DEMOSecurity Enhancements for SQL Server 2016
STRETCH DATABASE
• Archive data to Microsoft Azure SQL Databaseo Query the remote and local data transparently
• Data is moved from SQL Server to Azureo Data Ingres to Azure is free, Egress however costs, understand your queries.
• Archive data is limited by the size of the Azure SQL Databaseo Currently this stands at 1TB when using the highest service tier (P11)
STRETCH DATABASE
SQL ServerLinked Server
On Premises
Remote Data
Local Data
Azure SQLDB
Eligible Data
Local Data
STRETCH DATABASE
SQL ServerLinked Server
Client Application
Eligible Data
Local Data
Remote Data
Azure SQLDB
On Premises
TEMPORAL TABLES
• Tracking the state of data as it changes over time with a validity period
• Managed by the SQL Server systemo System managedo Migrate existing table to system management
• Two tableso Current tableo History table
DEMOKeeping track of changing data with Temporal Tables.
T-SQL ENHANCEMENTS
• Alter Tableo Now allows for multiple ALTER COLUMN
operations
• FOR JSON functiono There is now the ability to return data
formatted as JSONo Similar to the FOR XML operator
• Truncate Tableo Enhanced to allow truncation of partitions
• New Query Hinto NO_PERFORMANCE_SPOOL
QUESTIONS
THANK YOU!
• Slides will be available at http://blogs.sqlsentry.com/author/johnmartin
• E-mail [email protected] for free copies of our e-books:o Just tell them where you met me
• My contact info for other questions:o Email: [email protected] Twitter: @SQLServerMonkey