SQL Server 2016 introduces new features for business intelligence and reporting. PolyBase allows querying data across SQL Server and Hadoop using T-SQL. Integration Services has improved support for AlwaysOn availability groups and incremental package deployment. Reporting Services adds HTML5 rendering, PowerPoint export, and the ability to pin report items to Power BI dashboards. Mobile Report Publisher enables developing and publishing mobile reports.
3. PresenterInfo
1982 I started working with computers
1988 I started my professional career in computers industry.
1996 I started working with SQL Server 6.0
1998 I earned my first certification at Microsoft as Microsoft
Certified Solution Developer (3rd in Greece)
I started my career as Microsoft Certified Trainer (MCT)
with more than 25.000 hours of training until now!
2010 I became for first time Microsoft MVP on SQL Server
I created the SQL School Greece www.sqlschool.gr
2012 I became MCT Regional Lead by Microsoft Learning
Program.
2013 I was certified as MCSE : Data Platform & Business
Intelligence
Antonios Chatzipavlis
Database Architect,
SQL Server Evangelist
MCT, MCSE, MCITP, MCPD, MCSD, MCDBA, MCSA, MCTS,
MCAD, MCP, OCA, ITIL-F
4. SQLschool.gr
Team
Antonios Chatzipavlis
SQL Server Evangelist • Trainer
Vassilis Ioannidis
SQL Server Expert • Trainer
Fivi Panopoulou
System Engineer • Speaker
Sotiris Karras
System Engineer • Speaker
7. The Conference for Technical Data Professionals
• 200+ technical sessions
• New and expert industry speakers
• Networking opportunities with thousands of attendees
from around the world
Use Local Chapter Discount Code: LC15CPJ8 for $150 off*
October 25-28
Seattle
*Cannot be applied retroactively or combined with other offers.
17. { }
Relational
Cloud
• Disparate systems and processes
• Multiple tools and skillsets
• Siloed insights on
disconnected data
• High cost of ownership
Inefficiencies from fragmented architecture
Beyond relational
On-premises
Challenges of the modern data platform
18. Azure SQL DB
Azure SQL DW
Analytics Platform System
Azure Data Lake
SQL Server 2016
Analytics Platform System
SQL
Relational Beyond relational
On-premisesCloud
Data Management
Power BI
Cortana Analytics
Azure IoT
Business
Analytics
Business Analytics & Data Management Platform
Fits your business
Intelligence made
relevant to your business
Proven leader
19. Access any data Scale and manage Powerful insights Advanced analytics
PolyBase
Insights from data across SQL
Server and Hadoop with the
simplicity of T-SQL
Enhanced SSIS
Designer support for previous
SSIS versions
Enterprise-grade
Analysis Services
Enhanced performance and
scalability for Analysis Services
Single SSDT in Visual
Studio 2015
Build richer analytics solutions as
part of your development projects
in Visual Studio
Enhanced MDS
Excel add-in 15x faster; more
granular security roles; archival
options for transaction logs; and
reuse entities across models
Mobile BI
Business insights for your on-
premises data through rich
visualization on mobile devices
with native apps for Windows,
iOS, and Android
Enhanced Reporting
Services
New modern reports with rich
visualizations
R integration
Bringing predictive analytic
capabilities to your relational
database
Expand your “R” script library with
Microsoft Azure Marketplace
Deeper insights across data
22. Interest in big data spurs customer demand
Increase in number and
variety of data sources
that generate large
quantities of data
Realization that data is
“too valuable” to delete
Dramatic decline in the
cost of hardware,
especially storage
Adoption of big data technologies like Hadoop
$
23. PolyBase and queries
Provides a scalable, T-SQL-compatible query processing
framework for combining data from both universes
24. PolyBase View in SQL Server 2016
PolyBase View
• Execute T-SQL queries against
relational data in SQL Server
and ‘semi-structured’ data in
HDFS and/or Azure
• Leverage existing T-SQL skills
and BI tools to gain insights
from different data stores
• Expand the reach of SQL Server
to Hadoop(HDFS)
26. •PolyBase Engine Service
•PolyBase Data Movement Service (with HDFS Bridge)
•External table constructs
•MR pushdown computation support
Components introduced in SQL Server 2016
27. How to use PolyBase in SQL Server 2016
Set up a Hadoop Cluster
or Azure Storage blob
Install SQL Server
Configure a PolyBase
group
Choose Hadoop flavor
Attach Hadoop Cluster
or Azure Storage
PolyBase T-SQL
queries submitted
here
PolyBase queries can
only refer to tables
here and/or external
tables here
Computenodes
Head nodes
Access any data
28. Step 1: Set up a Hadoop Cluster…
Hortonworks or Cloudera Distributions
Hadoop 2.0 or above
Linux or Windows
On-premises or in Azure
Access any data
29. Step 1: …Or set up an Azure Storage blob
Azure Storage blob (ASB) exposes an HDFS layer
PolyBase reads and writes from ASB using Hadoop
RecordReader/RecordWrite
No compute pushdown support for ASB
Azure
Storage
Volume
Azure
Storage
Volume
Azure
Storage
Volume
Azure
Access any data
30. Step 2: Install SQL Server
PolyBase
DLLs
PolyBase
DLLs
PolyBase
DLLs
PolyBase
DLLs
Install one or more SQL Server instances with PolyBase
PolyBase DLLs (Engine and DMS) are installed and registered
as Windows Services
Prerequisite: User must download and install JRE (Oracle)
Access any data
31. Step 3: Configure a PolyBase group
PolyBase
Engine
PolyBase
DMS
PolyBase
DMS
PolyBase
DMS
PolyBase
DMS
Use stored procedures and GUI to configure nodes as compute
nodes of a PolyBase group
EXEC sp_join_polybase_group
bob.contoso.local, DemoServer, 1433;
EXEC sp_leave_polybase_group;
Head node
Compute nodes
Access any data
32. Step 3: Configure a PolyBase group
PolyBase
Engine
PolyBase
DMS
PolyBase
DMS
PolyBase
DMS
PolyBase
DMS
Head node
Compute nodes
PolyBase scale-out group
Head node is the SQL Server
instance to which queries are
submitted
Compute nodes are used for
scale-out query processing for
data in HDFS or Azure
33. Supported Hadoop distributions
Cloudera CHD 5.x on Linux
Hortonworks 2.x on Linux and Windows Server
What happens under the covers?
Loading the right client jars to connect to Hadoop distribution
-- different numbers map to various Hadoop flavors
-- example: value 4 stands for HDP 2.x on Linux,
value 5 for HDP 2.x on Windows,
value 6 for CHD 5.x on Linux
Access any data
Step 4: Choose Hadoop flavor
34. Step 5: Attach Hadoop Cluster or Azure Storage
PolyBase
Engine
PolyBaseDMS
PolyBaseDMS PolyBaseDMS PolyBaseDMS
Head node
Azure
Storage
Volume
Azure
Storage
Volume
Azure
Storage
Volume
Azure
Access any data
35. After Setup
Compute nodes are used for scale-out
query processing on external tables in
HDFS
Tables on compute nodes cannot be
referenced by queries submitted to
head node
Number of compute nodes can be
dynamically adjusted by DBA
Hadoop clusters can be shared
between multiple SQL16 PolyBase
groups
PolyBase T-SQL
queries submitted
here
PolyBase queries can
only refer to tables
here and/or external
tables here
Computenodes
Head nodes
Access any data
36. PolyBase query example #1
-- select on external table (data in HDFS)
SELECT * FROM Customer
WHERE c_nationkey = 3 and c_acctbal < 0;
A possible execution plan:
CREATE temp
table T
Execute on compute nodes1
IMPORT
FROM HDFS
HDFS Customer file read into T2
EXECUTE
QUERY
Select * from T where
T.c_nationkey =3 and T.c_acctbal < 0
3
Access any data
37. PolyBase query example #2
-- select and aggregate on external table (data in HDFS)
SELECT AVG(c_acctbal) FROM Customer
WHERE c_acctbal < 0 GROUP BY c_nationkey;
Execution plan:
Run MR Job
on Hadoop
Apply filter and compute
aggregate on Customer.
1
What happens here?
Step 1: QO compiles predicate into Java
and generates a MapReduce (MR) job
Step 2: Engine submits MR job to
Hadoop cluster. Output left in hdfsTemp.
hdfsTemp
<US, $-975.21>
<FRA, $-119.13>
<UK, $-63.52>
Access any data
38. PolyBase query example #2
-- select and aggregate on external table (data in HDFS)
SELECT AVG(c_acctbal) FROM Customer
WHERE c_acctbal < 0 GROUP BY c_nationkey;
Execution plan: 1. Predicate and aggregate pushed
into Hadoop cluster as a
MapReduce job
2. Query optimizer makes a cost-
based decision on what
operators to push
Run MR Job on
Hadoop
Apply filter and compute
aggregate on Customer.
Output left in hdfsTemp
1
IMPORT
hdfsTEMP Read hdfsTemp into T3
CREATE temp
table T On DW compute nodes2
RETURN
OPERATION Select * from T4
hdfsTemp
<US, $-975.21>
<FRA, $-119.13>
<UK, $-63.52>
Access any data
41. SSIS improvements for SQL Server 2016
AlwaysOn support
Incremental deployment of
packages
Improved project upgrade support
Error column name support
Custom log level
Package template
OData V4 support
Designer improvements
One designer multi-version support
AlwaysOn
Availability Groups
Secondary for
SSISDB
New York
(Primary)
New Jersey
(Secondary)
SSIS
DB
SSIS
DB
SQL Server 2012
SSIS Project X
SQL Server 2016
SSIS Project X
Improved project
upgrade
Access any data
42. AlwaysOn support for SSISDB
DBA can set up AlwaysOn availability groups
for the SSIS Catalog
Access any data
43. Deploy packages to Integration Services server
private static void Main(string[] args)
{
// Connection string to SSISDB
var connectionString = "Data Source=.;Initial Catalog=SSISDB;Integrated Security=True;MultipleActiveResultSets=false";
using (var sqlConnection = new SqlConnection(connectionString))
{
sqlConnection.Open();
var sqlCommand = new SqlCommand
{
Connection = sqlConnection,
CommandType = CommandType.StoredProcedure,
CommandText = "[catalog].[deploy_packages]"
};
var packageData = Encoding.UTF8.GetBytes(File.ReadAllText(@"C:TestPackage.dtsx"));
// DataTable: name is the package name without extension and package_data is byte array of package.
var packageTable = new DataTable();
packageTable.Columns.Add("name", typeof(string));
packageTable.Columns.Add("package_data", typeof(byte[]));
packageTable.Rows.Add("Package", packageData);
// Set the destination project and folder which is named Folder and Project.
sqlCommand.Parameters.Add(new SqlParameter("@folder_name", SqlDbType.NVarChar, ParameterDirection.Input, "Folder", -1));
sqlCommand.Parameters.Add(new SqlParameter("@project_name", SqlDbType.NVarChar, ParameterDirection.Input, "Project", -1));
sqlCommand.Parameters.Add(new SqlParameter("@packages_table", SqlDbType.Structured, ParameterDirection.Input, packageTable, -1));
var result = sqlCommand.Parameters.Add("RetVal", SqlDbType.Int);
result.Direction = ParameterDirection.ReturnValue;
sqlCommand.ExecuteNonQuery();
}
}
Deployment options
Integration Services Deployment Wizard
SQL Server Management Studio
Deploy packages stored procedure
Object model API
SQL Server Data Tools for Business
Intelligence
Access any data
44. Error column name support
Developer can see the error column name in
both the data viewer and editor
Developer can also see the IntToString
lineage ID mapping in the log
Developer can also programmatically get the
column name using the lineage ID
45. Custom Log level
Developer can create and use a customized
log level other than the default
Access any data
46. Package template
Developer can save part of the package as a
template and reuse it in the design of other
packages
Access any data
48. Capability
Stretch large operational tables
from on-premises to Azure with
the ability to query
Benefits
SQL
Access any data
SSIS improvements for Azure services
50. SQL Server 2016 Reporting Services and mobile reporting
SQL Server 2016
Reporting Services
(Native mode)
Datazen Server now a
component of SSRS
CREATE
SQL Server 2016
Reporting Services
(SharePoint integrated mode)
Datazen Windows app
Datazen Android app
Datazen iOS app
Report Server web portal
(paginated and mobile reports)
Datazen Publisher
SQL Server
Report Builder
Report Designer in
SQL Server Data Tools
Datazen phone app
Pin paginated report elements
to Power BI dashboards
SSRS reports rendered as PDF
SharePoint web
MANAGE CONSUME
51. Render and export reports to PowerPoint® with SQL Server® 2016 Reporting
Services:
•In Report Builder or Report Manager, click Export and choose PowerPoint from
the list
•Pass “PowerPoint” as a parameter in the URL string to render straight to
PowerPoint
PowerPoint Rendering and Export
52. Print reports to PDF from the report viewer toolbar:
•No need to download an ActiveX control
•Page preview shows how the printed pages will look
•Page settings can be configured
•Can also save to PDF format
•Printing is enabled by default, but can disabled
PDF for Remote Printing
53. •Reports now render to HTML5:
•Richer and faster user experience
•Targets modern browsers
•Switch between HTML5 and old rendering engine
HTML5 Rendering Engine
54. •New charts in SQL Server 2016 Reporting Services include:
New Chart Types
Tree Map Chart Sunburst Chart
55. Reporting Services subscriptions have been enhanced with the following
features:
•Native Mode:
• Quickly enable and disable subscriptions. Disabled subscriptions retain configuration properties, so they are
easy to re-enable
• Shared credentials can be used for file share subscriptions. Can be alongside file share with individual
credentials
•SharePoint and Native Mode:
• Include a report description when creating a subscription
• Change the owner of a subscription using the new interface – administrators can also do this using a script
Subscription Enhancements
56. SQL Server 2016 Reporting Services additional enhancements include:
•Reporting Services web portal gives access to users on role-based security
•Use Mobile Report Publisher to publish reports to the web portal for viewing
on mobile devices
•Pin report items to a Power BI dashboard
•Customize the layout of parameters with the new grid-style design surface
•Support for Microsoft .NET Framework
•Report Builder supports High DPI
Other Reporting Services Updates
57. •SQL Server 2016 Mobile Report
Publisher:
• Develop and publish highly visual mobile
reports
• Reports scale to size on tablets and phones
• Data sources include on-premises SQL Server,
Azure SQL Databases, and Excel
• Reports can be viewed in Power BI for iOS—
Power BI must be enabled on the reporting
server
• Compatible with Windows 7 and later
• Stand-alone download from Microsoft
website
• Create and manage KPIs and data sources in
the new Reporting Services
• Find the new Reporting Services web portal
at: http://<server_name>/reports_preview
What are Mobile Reports?
58. •SQL Server Mobile Report Publisher:
• Mobile reports are published to the new SQL Server 2016 Reporting Services
• Both paginated and mobile reports can be rendered and viewed in the new Reporting Services
• Mobile reports can be viewed on an iOS mobile device:
• iPhone and iPad must be iOS 8.0 or later
• iPhone must be iPhone 5 or later
• KPIs can be viewed and created
Publishing Mobile Reports
60. •Create larger data models—data is loaded more efficiently. Improvements to
MDS Add-in for Excel support this increase in capability
•Data compression on the entity level, using row level compression
•Transaction log maintenance and scheduling
•Super User function for easier security management
•Custom indexes
•Manage business rules using the MDS Excel Add-in
•Manage revision history
Enhanced Master Data Services
61. •Perform real-time advanced analytics on operational and analytic data
•R statistical programming language has been integrated into Transact-SQL
•Data scientists can create predictive applications in R and deploy to a SQL
Server 2016 production environment
•R can use SQL Server features including in-memory, columnstore indexes, and
parallel processing
•Execute Transact-SQL procedure with R code from any application that can
connect to SQL Server
•Requires Advanced Analytics Extensions, R Open, R Enterprise, post-install
configurations, and script
Advanced Analytics with R
62. •Set up environments using Configuration Manager
•Connect to any database from your history
•Pin favorite connections for fast access
•Browse SQL Azure databases
•System-versioned temporal tables in database projects
•Multiple languages
•Row level security
•New columnstore index enhancements
•SSIS control flow templates
•SSIS Hadoop connector supports Avro and Kerberos
•Max buffer size in SSIS data flow task increased
•SSAS calculated tables can be created
SSDT in Visual Studio 2015
63. •Tabular Model Scripting Language (TMSL) to automate administrative tasks
•Upgrade to tabular 1200 models, add roles, and upgrade metadata in SSDT
•DirectQuery now available for tabular models
•Partition management for tabular models
•Bi-Directional Cross Filters for tabular models
•Calculated tables in SSDT
•DBCC for Analysis Services
•New assembly to extend AMO
What’s New in SQL Server Analysis Services
64. •More than 50 new DAX functions in SQL Server 2016, including but not limited
to:
• Date and Time Functions—DATEDIFF and CALENDAR
• Filter Functions—ADDMISSINGITEMS
• Information Functions—ISONORAFTER
• Math and Trig Functions—EVEN, PI, SIN, and TAN
• Text Functions—CONCATENATEX
• Other Functions—GROUPBY, INTERSECT, and ISEMPTY
•Named variables are now supported in DAX
•Save incomplete DAX measures
•Improved DAX formatting in the formula bar
Enhanced DAX Functionality
65. •Extended Events for Analysis Services
•Add computer accounts as administrators in SSMS
•Project templates added for tabular 1200 models in SSDT
•New data sources for DirectQuery mode include Teradata, Oracle, and
Microsoft Analytics Platform
•Formula fixup automatically updates measures referencing a table or column
that is renamed (tabular 1200 models only)
Interface Enhancements
66. •Improved performance for generating tabular models in the 1120 compatibility
level up to three times faster
•Tabular model parallel processing functionality for tables with two or more
partitions
•Simpler query generation for DirectQuery delivers better performance
Performance Improvements