There are a number of new features available in SQL Server 2014 but this article will go into more detail regarding the less popular ones. The well publicised In Memory OLTP Engine and the ability to update a column store index are probably the most used features and provide lots of performance benefits. However, there are lots of other blogs out there that will give you a breakdown of advantages, disadvantages, useful techniques, etc.
SQL Server 2014 did not go through such a drastic makeover as SQL Server 2012. The environment has been further stabilised and grown to give users more functionality and a better handle on standard processes. The below additions to SQL Server 2014 will be discussed:
– Database Backups
– Resource Governor for I/O
– SSD Buffer Pool Extension
– Incremental statistics
NOTE
This Article DOES NOT explain how to implement a feature. The ‘Further Reading’ section provides a website that
provides more detailed information on each subject.
Database Backups
- Encryption.
- SQL Server now supports built-in database encryption – no need for third party tools.
- Can use either a certificate or asymmetric key to backup a database.
- Supported encryption algorithms are for Advanced Encryption Standard (AES):
- AES 128-bit.
- AES 192-bit.
- AES 256-bit.
- Triple DES (3DES).
- Managed backup to Azure Blob Storage.
- Automatically backs up a database (or an instance) based on:
- Defined recovery intervals.
- Workload patterns.
- When the system determines that data has changed enough, a backup is taken on Azure.
- Azure backup integration is fully built into SQL Management Studio (SSMS).
- Managed backups are ONLY compatible with blob storage and dependant on Internet access to take and restore backups.
- Automatically backs up a database (or an instance) based on:
Resource Governor for I/O
Disk I/O (Input/Output) can cause a lot of problems in a database system, especially when running large or problematic queries. SQL Server 2014 (more specifically, Resource Governor) enables more control over I/O:
- Queries put into their own resource pool – limiting I/O per volume.
- Minimum/Maximum reads or writes (per second) in a disk volume are controlled by:
MIN_IOPS_PER_VOLUME
Reserves a minimum number of I/O transactions per second
MAX_IOPS_PER_VOLUME
Sets a maximum but more importantly, prevents the hard disk from being monopolised.
Large queries will run but enable other processes to function in parallel.
- Good I/O control will reserve Input/Output Operations Per Second (IOPS), in order for administrators to investigate overloaded or bad performing disks.
SSD Buffer Pool Extension
A buffer pool extension for SQL Server 2014 is similar to defining a different page file for Windows. As various data pages move into memory, the buffer pool begins to fill up. Once it is full, less frequently used pages are added to disk. When they are needed again, the pages are swapped with another page in the buffer pool and allocated back to memory.
- Buffer pool extension allows a user to define a Solid State Drive (SSD) as a buffer file location.
- SSD is much faster than a standard spinning disk, therefore, increasing performance considerably.
- Buffer pool extension file:
- Up to 32 times the size of physical memory.
- Increased random I/O throughput.
- Increased transaction throughput.
- Caching that can take advantage of low-cost memory drives.
- No risk of data loss. Buffer Pool Extension (BPE) only deals with clean pages.
- SQL syntax is very simple to use and maintain.
Incremental statistics
Typically, statistics (stats) have been pretty useless and costly in SQL Server. Whenever stats need to be rebuilt, the whole table requires updating. For example, a table with 100 million records but only 5 millions updates would need a statistics update for the whole 100 million rows.
Incremental statistics can alleviate the above example, as well as offer some other advantages:
- Update changed rows and merge them with existing rows
- Can result in drastically improved query performance.
- Used in conjunction with table partitioning.
- Final statistics object is updated – not re-created.
- Percentage of data changes to trigger an automatic update of statistics now works at the partition level.
- Now only 20% of rows changed per partition are required.
- Default setting for incremental statistics is OFF.
Conclusion
There are many other new/improved features in SQL Server 2014, that have not been discussed in this blog. The 5 features included here are the ones which could help increase SQL Server performance, efficiency and reliability. You should think about these elements before building a data warehouse or Analysis Service cube, as it could save a lot of time and money further down the line.
I would encourage all interested parties to read up on the other exciting additions to SQL Server 2014. Simply typing any of the below keywords into Google will bring up a number of related articles.
– Updateable Columnstore Indexes
– In-Memory OLTP Engine
– AlwaysOn Enhancements
– Power BI for Office 365 Integration
– Power View for Multidimensional Models
– Delayed durability
For any questions related to this blog, please contact Callum Green at callum.green@adatis.co.uk.
Further Reading
For further information on the new features (and associated functionality), navigate to the below website links:
- Database Backups
Encryption Types – http://msdn.microsoft.com/en-GB/library/ms345262.aspx
Managed Azure backups – http://msdn.microsoft.com/en-gb/library/dn449491.aspx - Resource Governor for I/O
Configuration and SQL Server 2014 implementation examples – http://www.databasejournal.com/features/mssql/restricting-io-using-sql-server-2014-resource-governor.html - SSD Buffer Pool
Benefits, features and SQL Syntax for Buffer Pool Extension – http://blogs.technet.com/b/dataplatforminsider/archive/2013/07/25/buffer-pool-extension-to-ssds-in-sql-server-2014.aspx - Incremental Statistics
Improvements made to statistics and using alongside table partitioning – http://sqlperformance.com/2014/02/sql-statistics/2014-incremental-statistics
Scenarios when Incremental Statistics are not available or possible (half way down the page) – http://msdn.microsoft.com/en-us/library/ms188038.aspx
GPT-4 with Vision vs Custom Vision in Anomaly Detection
Businesses today are generating data at an unprecedented rate. Automated processing of data is essential
May
Exploring DALL·E Capabilities
What is DALL·E? DALL·E is text-to-image generation system developed by OpenAI using deep learning methodologies.
May
Using Copilot Studio to Develop a HR Policy Bot
The next addition to Microsoft’s generative AI and large language model tools is Microsoft Copilot
Apr
Pretty Power BI – Adding GIFs
Good UX design is critical in enabling stakeholders to maximise the key insight that they
Apr
Pareto Charts in Power BI and the DAX behind them
The Pareto principle, commonly referred to as the 80/20 rule, is a concept of prioritisation.
Apr
Databricks: Cluster Configuration
Databricks, a cloud-based platform for data engineering, offers several tools that can be used to
Apr
AI Assistance in Microsoft Fabric
The exponential growth of Large Language Models (LLMs) couples with Microsoft’s close partnership with OpenAI
Apr
10 reasons why it’s worth the effort to understand the value of your data
“If leaders really want to create a data driven culture, the journey starts with them!
Apr