万本电子书0元读

万本电子书0元读

顶部广告

SQL Server 2017 Developer’s Guide电子书

售       价:¥

11人正在读 | 0人评论 9.8

作       者:Dejan Sarka,Miloš Radivojevic,William Durkin

出  版  社:Packt Publishing

出版时间:2018-03-16

字       数:100.7万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Build smarter and efficient database application systems for your organization with SQL Server 2017 About This Book ? Build database applications by using the development features of SQL Server 2017 ? Work with temporal tables to get information stored in a table at any time ? Use adaptive querying to enhance the performance of your queries Who This Book Is For Database developers and solution architects looking to design efficient database applications using SQL Server 2017 will find this book very useful. In addition, this book will be valuable to advanced analysis practitioners and business intelligence developers. Database consultants dealing with performance tuning will get a lot of useful information from this book as well. Some basic understanding of database concepts and T-SQL is required to get the best out of this book. What You Will Learn ? Explore the new development features introduced in SQL Server 2017 ? Identify opportunities for In-Memory OLTP technology ? Use columnstore indexes to get storage and performance improvements ? Exchange JSON data between applications and SQL Server ? Use the new security features to encrypt or mask the data ? Control the access to the data on the row levels ? Discover the potential of R and Python integration ? Model complex relationships with the graph databases in SQL Server 2017 In Detail Microsoft SQL Server 2017 is the next big step in the data platform history of Microsoft as it brings in the power of R and Python for machine learning and containerization-based deployment on Windows and Linux. Compared to its predecessor, SQL Server 2017 has evolved into Machine Learning with R services for statistical analysis and Python packages for analytical processing. This book prepares you for more advanced topics by starting with a quick introduction to SQL Server 2017’s new features and a recapitulation of the possibilities you may have already explored with previous versions of SQL Server. The next part introduces you to enhancements in the Transact-SQL language and new database engine capabilities and then switches to a completely new technology inside SQL Server: JSON support. We also take a look at the Stretch database, security enhancements, and temporal tables. Furthermore, the book focuses on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. Towards the end of the book, you’ll be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. You’ll also learn to integrate Python code in SQL Server and graph database implementations along with deployment options on Linux and SQL Server in containers for development and testing. By the end of this book, you will have the required information to design efficient, high-performance database applications without any hassle. Style and approach This book is a detailed guide to mastering the development features offered by SQL Server 2017, with a unique learn-as-you-do approach. All the concepts are explained in a very easy-to-understand manner and are supplemented with examples to ensure that you—the developer—are able to take that next step in building more powerful, robust applications for your organization with ease.
目录展开

Title Page

Copyright and Credits

SQL Server 2017 Developer's Guide

Dedication

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the authors

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Introduction to SQL Server 2017

Security

Row-Level Security

Dynamic data masking

Always Encrypted

Engine features

Query Store

Live query statistics

Stretch Database

Database scoped configuration

Temporal Tables

Columnstore indexes

Containers and SQL Server on Linux

Programming

Transact-SQL enhancements

JSON

In-Memory OLTP

SQL Server Tools

Business intelligence

R in SQL server

Release cycles

Summary

Review of SQL Server Features for Developers

The mighty Transact-SQL SELECT

Core Transact-SQL SELECT statement elements

Advanced SELECT techniques

DDL, DML, and programmable objects

Data definition language statements

Data modification language statements

Triggers

Data abstraction—views, functions, and stored procedures

Transactions and error handling

Error handling

Using transactions

Beyond relational

Spatial data

CLR integration

XML support in SQL Server

Summary

SQL Server Tools

Installing and updating SQL Server Tools

New SSMS features and enhancements

Autosave open tabs

Searchable options

Enhanced scroll bar

Execution plan comparison

Live query statistics

Importing flat file Wizard

Vulnerability assessment

SQL Server Data Tools

Tools for developing R and Python code

RStudio IDE

R Tools for Visual Studio 2015

Setting up Visual Studio 2017 for data science applications

Summary

Transact-SQL and Database Engine Enhancements

New and enhanced functions and expressions

Using STRING_SPLIT

Using STRING_ESCAPE

Using STRING_AGG

Handling NULLs in the STRING_AGG function

The WITHIN GROUP clause

Using CONCAT_WS

Using TRIM

Using TRANSLATE

Using COMPRESS

Using DECOMPRESS

Using CURRENT_TRANSACTION_ID

Using SESSION_CONTEXT

Using DATEDIFF_BIG

Using AT TIME ZONE

Using HASHBYTES

Using JSON functions

Enhanced DML and DDL statements

The conditional DROP statement (DROP IF EXISTS)

Using CREATE OR ALTER

Resumable online index rebuild

Online ALTER COLUMN

Using TRUNCATE TABLE

Maximum key size for nonclustered indexes

New query hints

Using NO_PERFORMANCE_SPOOL

Using MAX_GRANT_PERCENT

Using MIN_GRANT_PERCENT

Adaptive query processing in SQL Server 2017

Interleaved execution

Batch mode adaptive memory grant feedback

Batch mode adaptive joins

Disabling adaptive batch mode joins

Summary

JSON Support in SQL Server

Why JSON?

What is JSON?

Why is it popular?

JSON versus XML

JSON objects

JSON object

JSON array

Primitive JSON data types

JSON in SQL Server prior to SQL Server 2016

JSON4SQL

JSON.SQL

Transact-SQL-based solution

Retrieving SQL Server data in JSON format

FOR JSON AUTO

FOR JSON PATH

FOR JSON additional options

Add a root node to JSON output

Include NULL values in the JSON output

Formatting a JSON output as a single object

Converting data types

Escaping characters

Converting JSON data in a tabular format

OPENJSON with the default schema

Processing data from a comma-separated list of values

Returning the difference between two table rows

OPENJSON with an explicit schema

Import the JSON data from a file

JSON storage in SQL Server 2017

Validating JSON data

Extracting values from a JSON text

JSON_VALUE

JSON_QUERY

Modifying JSON data

Adding a new JSON property

Updating the value for a JSON property

Removing a JSON property

Multiple changes

Performance considerations

Indexes on computed columns

Full-text indexes

Summary

Stretch Database

Stretch DB architecture

Is this for you?

Using Data Migration Assistant

Limitations of using Stretch Database

Limitations that prevent you from enabling the Stretch DB features for a table

Table limitations

Column limitations

Limitations for Stretch-enabled tables

Use cases for Stretch Database

Archiving of historical data

Archiving of logging tables

Testing Azure SQL database

Enabling Stretch Database

Enabling Stretch Database at the database level

Enabling Stretch Database by using wizard

Enabling Stretch Database by using Transact-SQL

Enabling Stretch Database for a table

Enabling Stretch DB for a table by using wizard

Enabling Stretch Database for a table by using Transact-SQL

Filter predicate with sliding window

Querying stretch databases

Querying and updating remote data

SQL Server Stretch Database pricing

Stretch DB management and troubleshooting

Monitoring Stretch Databases

Pause and resume data migration

Disabling Stretch Database

Disable Stretch Database for tables by using SSMS

Disabling Stretch Database for tables using Transact-SQL

Disabling Stretch Database for a database

Backing up and restoring Stretch-enabled databases

Summary

Temporal Tables

What is temporal data?

Types of temporal tables

Allen's interval algebra

Temporal constraints

Temporal data in SQL Server before 2016

Optimizing temporal queries

Temporal features in SQL:2011

System-versioned temporal tables in SQL Server 2017

How temporal tables work in SQL Server 2017

Creating temporal tables

Period columns as hidden attributes

Converting non-temporal tables to temporal tables

Migrating an existing temporal solution to system-versioned tables

Altering temporal tables

Dropping temporal tables

Data manipulation in temporal tables

Inserting data in temporal tables

Updating data in temporal tables

Deleting data in temporal tables

Querying temporal data in SQL Server 2017

Retrieving temporal data at a specific point in time

Retrieving temporal data from a specific period

Retrieving all temporal data

Performance and storage considerations with temporal tables

History retention policy in SQL Server 2017

Configuring the retention policy at the database level

Configuring the retention policy at the table level

Custom history data retention

History table implementation

History table overhead

Temporal tables with memory-optimized tables

What is missing in SQL Server 2017?

SQL Server 2016 and 2017 temporal tables and data warehouses

Summary

Tightening Security

SQL Server security basics

Defining principals and securables

Managing schemas

Object and statement permissions

Encrypting the data

Leveraging SQL Server data encryption options

Always Encrypted

Row-Level Security

Using programmable objects to maintain security

Predicate-based Row-Level Security

Exploring dynamic data masking

Defining masked columns

Dynamic data masking limitations

Summary

Query Store

Why Query Store?

What is Query Store?

Query Store architecture

Enabling and configuring Query Store

Enabling Query Store with SSMS

Enabling Query Store with Transact-SQL

Configuring Query Store

Query Store default configuration

Query Store recommended configuration

Disabling and cleaning Query Store

Query Store in action

Capturing the Query info

Capturing plan info

Collecting runtime statistics

Query Store and migration

Query Store – identifying regressed queries

Query Store – fixing regressed queries

Query Store reports in SQL Server Management Studio

Regressed queries

Top resource – consuming queries

Overall Resource Consumption report

Queries With Forced Plans

Queries With High Variation

Automatic tuning in SQL Server 2017

Regressed queries in the sys.dm_db_tuning_recommendations view

Automatic tuning

Capturing waits by Query Store in SQL Server 2017

Catalog view sys.query_store_wait_stats

Query Store use cases

SQL Server version upgrades and patching

Application and service releases, patching, failovers, and cumulative updates

Identifying ad hoc queries

Identifying unfinished queries

Summary

Columnstore Indexes

Analytical queries in SQL Server

Joins and indexes

Benefits of clustered indexes

Leveraging table partitioning

Nonclustered indexes in analytical scenarios

Using indexed views

Data compression and query techniques

Writing efficient queries

Columnar storage and batch processing

Columnar storage and compression

Recreating rows from columnar storage

Columnar storage creation process

Development of columnar storage in SQL Server

Batch processing

Nonclustered columnstore indexes

Compression and query performance

Testing the nonclustered columnstore index

Operational analytics

Clustered columnstore indexes

Compression and query performance

Testing the clustered columnstore index

Using archive compression

Adding B-tree indexes and constraints

Updating a clustered columnstore index

Deleting from a clustered columnstore index

Summary

Introducing SQL Server In-Memory OLTP

In-Memory OLTP architecture

Row and index storage

Row structure

Row header

Row payload

Index structure

Non-clustered index

Hash indexes

Creating memory-optimized tables and indexes

Laying the foundation

Creating a table

Querying and data manipulation

Performance comparisons

Natively compiled stored procedures

Looking behind the curtain of concurrency

Data durability concerns

Database startup and recovery

Management of In-Memory objects

Dynamic management objects

Extended events

PerfMon counters

Assistance in migrating to In-Memory OLTP

Summary

In-Memory OLTP Improvements in SQL Server 2017

Ch-Ch-Changes

Feature improvements

Collations

Computed columns for greater performance

Types of data

What's new with indexes?

Unconstrained integrity

Not all operators are created equal

Size is everything!

Improvements in the In-Memory OLTP engine

Down the index rabbit-hole

Large object support

Storage differences of on-row and off-row data

Cross-feature support

Security

Programmability

High availability

Tools and wizards

Summary

Supporting R in SQL Server

Introducing R

Starting with R

R language basics

Manipulating data

Introducing data structures in R

Getting sorted with data management

Understanding data

Basic visualizations

Introductory statistics

SQL Server R Machine Learning Services

Discovering SQL Server R Machine Learning Services

Creating scalable solutions

Deploying R models

Summary

Data Exploration and Predictive Modeling with R

Intermediate statistics – associations

Exploring discrete variables

Finding associations between continuous variables

Continuous and discrete variables

Getting deeper into linear regression

Advanced analysis – undirected methods

Principal Components and Exploratory Factor Analysis

Finding groups with clustering

Advanced analysis – directed methods

Predicting with logistic regression

Classifying and predicting with decision trees

Advanced graphing

Introducing ggplot2

Advanced graphs with ggplot2

Summary

Introducing Python

Starting with Python

Installing machine learning services and client tools

A quick demo of Python's capabilities

Python language basics

Working with data

Using the NumPy data structures and methods

Organizing data with pandas

Data science with Python

Creating graphs

Performing advanced analytics

Using Python in SQL Server

Summary

Graph Database

Introduction to graph databases

What is a graph?

Graph theory in the real world

What is a graph database?

When should you use graph databases?

Graph databases market

Neo4j

Azure Cosmos DB

OrientDB

FlockDB

DSE Graph

Amazon Neptune

AllegroGraph

Graph features in SQL Server 2017

Node tables

Edge tables

The MATCH clause

Basic MATCH queries

Advanced MATCH queries

SQL Graph system functions

The OBJECT_ID_FROM_NODE_ID function

The GRAPH_ID_FROM_NODE_ID function

The NODE_ID_FROM_PARTS function

The OBJECT_ID_FROM_EDGE_ID function

The GRAPH_ID_FROM_EDGE_ID function

The EDGE_ID_FROM_PARTS function

SQL Graph limitations

General limitations

Validation issues in edge tables

Referencing a non-existing node

Duplicates in an edge table

Deleting parent records with children

Limitations of the MATCH clause

Summary

Containers and SQL on Linux

Containers

Installing the container service

Creating our first container

Data persistence with Docker

SQL Server on Linux

How SQL Server works on Linux

Limitations of SQL Server on Linux

Installing SQL Server on Linux

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部