The X-Files of SQL Server 20XX
SQL Server Evangelist - MVP
MCT • MCSE • MCITP • MCPD • MCSD • MCDBA • MCSA • MCTS • MCAD • MCP • OCA
December 7-8, 2013
the cutting edge event for ITPros and Devs
Solution Architect – SQL Server Evangelist
I have been started with computers since 1982.
In 1988 I started my professional carrier in computers industry.
In 1996 I have been started to work with SQL Server version 6.0
In 1998 I earned my first certification at Microsoft as
Microsoft Certified Solution Developer (3rd in Greece).
• Since then I earned more than 30 certifications (and counting!)
• MCT, MCITP MCPD, MCSD, MCDBA, MCSA, MCTS, MCAD, MCP OCA, ITIL-F
• MCSE : Data Platform, MCSE: Business Intelligence
• In 1998 started my carrier as Microsoft Certified Trainer (MCT).
• Since then I have more than 20.000 hours of training.
• In 2010 I became for first time Microsoft MVP on SQL Server
• In 2010 I created the SQL School Greece (www.sqlschool.gr)
• I am board member of IAMCT organization and Leader of Greek
Chapter of IAMCT organization.
• In 2012 I became MCT Regional Lead by Microsoft Learning Program.
• I am moderator of autoexec.gr and member of dotnetzone.gr
GET IN TOUCH
WHAT’S NEW IN SQL SERVER 2014
• Database Engine
• In-Memory OLTP (Hekaton)
• AlwaysOn Enchancements
• Columnstore Indexes
• Analysis Services and BI
• SSDT for BI
• Power View for MD Models
• Integration Services
• Reporting Services
BUFFER POOL EXTENSION
• The buffer pool extension size can be up 32
times of RAM size
• Recommend a ratio between the size of the
physical memory (max_server_memory) and
the size of the buffer pool extension of 1:16 or
• A lower ratio in the range of 1:4 to 1:8 may be optimal.
• Enterprise Edition only
SETTING BUFFER POOL EXTENSION OPTIONS
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'F:SSDCACHEExample.BPE',
SIZE = 50 GB);
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION OFF;
BACKUP AND RESTORE ENHANCEMENTS
• SQL Server Backup to URL
• Encryption for Backups
• AES 128, AES 192, AES 256, and Triple DES.
• You must use either a certificate or an asymmetric key to perform
encryption during backup
• Screen Cast on SQLschool.gr
• SQL Server Managed Backup to Windows
SQL SERVER & WINDOWS AZURE
• SQL Server Data Files in Windows Azure
• Enables native support for SQL Server database files stored as Windows
• This feature allows you to create a database in SQL Server running in onpremises or in a virtual machine in Windows Azure with a dedicated
storage location for your data in Windows Azure Blob Storage.
• Host a SQL Server Database in a Windows
Azure Virtual Machine
• Use the Deploy a SQL Server Database to a Windows Azure Virtual
Machine Wizard to host a database from an instance of SQL Server in a
Windows Azure Virtual Machine.
• Fully durable transaction
• commits are synchronous
• report a COMMIT as successful and return control to the client only after
the log records for the transaction are written to disk.
• Delayed durable transaction
• commits are asynchronous
• report a COMMIT as successful before the log records for the transaction
are written to disk.
• Delayed durable transactions become durable when the transaction log
entries are flushed to disk.
USE DELAYED TRANSACTION DURABILITY
• You can tolerate some data loss.
• for example, where individual records are not critical as long as you have
most of the data, then delayed durability may be worth considering
• You are experiencing a bottleneck on
transaction log writes.
• if your performance issues are due to latency in transaction log writes, your
application will likely benefit from using delayed transaction durability.
• Your workloads have a high contention rate.
• if your system has workloads with a high contention level much time is lost
waiting for locks to be released.
• Delayed transaction durability reduces commit time and thus releases locks
faster which results in higher throughput.
DELAYED DURABILITY CODE SAMPLE
CREATE PROCEDURE <procedureName> …
WITH NATIVE_COMPILATION, SCHEMABINDING,
EXECUTE AS OWNER
BEGIN ATOMIC WITH
( DELAYED_DURABILITY = ON,
TRANSACTION ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = N'English'
SELECT … INTO
• The SELECT … INTO statement is improved
and can now operate in parallel.
• The database compatibility level must be at
• CONNECT ANY DATABASE Permission
• Grant it to a login that must connect to all databases that currently exist
and to any new databases that might be created in future.
• Does not grant any permission in any database beyond connect.
• IMPERSONATE ANY LOGIN Permission
• When granted, allows a middle-tier process to impersonate the account of
clients connecting to it, as it connects to databases.
• When denied, a high privileged login can be blocked from impersonating
• SELECT ALL USER SECURABLES Permission
• When granted, a login such as an auditor can view data in all databases
that the user can connect to