Introduction to SQL Server 2017 on Linux

Slides:



Advertisements
Similar presentations
Burt King We will cover: Essentials --No command line needed here (mott) What is SQL Server How does it come to life What are the.
Advertisements

Intro to SharePoint 2013 Architecture Liam Cleary.
WSUS Presented by: Nada Abdullah Ahmed.
Server Roles and Features.NET Framework 3.51.NET Framework 4.5 IIS Web Server IIS Default Document IIS Directory Browsing IIS HTTP Errors.
OM. Brad Gall Senior Consultant
Linux Operations and Administration
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
Module 1: Introduction to Microsoft SQL Server 7.0.
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
DotNetNuke v4 on ASP.NET v2 Stan Schultes Stan Schultes Enterprise architect / application developer Enterprise architect / application developer Conference.
Windows Azure Conference 2014 Running Docker on Windows Azure.
TechEd /22/2017 5:40 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
ArcGIS Server for Administrators
SQL Server 2012 Session: 1 Session: 3 Introduction to SQL Server 2012 Data Management Using Microsoft SQL Server.
SQL Server 2000 Sys Admin Jeremiah Curtis Engineering Services
1 Chapter Overview Planning to Install SQL Server 2000 Deciding SQL Server 2000 Setup Configuration Options Running the SQL Server 2000 Setup Program Using.
Intro to Datazen.
Module 1 Introduction to SQL Server® 2008 R2 and its Toolset.
1 BCS 4 th Semester. Step 1: Download SQL Server 2005 Express Edition Version Feature SQL Server 2005 Express Edition SP1 SQL Server 2005 Express Edition.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Database Development with SQL Server Data Tools (SSDT) Björn Eriksen, Architect Evangelist DPE Microsoft
SUSE Linux Enterprise Server for SAP Applications
Microsoft Connect /23/ :39 PM
SQL Server on Linux CTP 1.1 Florian
Virtualization for Cloud Computing
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
SQL Server on Linux:The How, the What and the Why?
How to tune your applications before moving your database to Microsoft Azure SQL Database (MASD) OK, you've jumped into your Azure journey by creating.
Containers as a Service with Docker to Extend an Open Platform
Fundamentals Sunny Sharma Microsoft
What’s new in SQL Server 2017 for BI?
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
Dockerize OpenEdge Srinivasa Rao Nalla.
2017 SQL Server vNext Linux and Beyond Andrew Loree
Introduction to ASP.NET 2.0
DotNetNuke® Web Application Framework
Lead SQL BankofAmerica Blog: SQLHarry.com
Docker Birthday #3.
Easily manage SQL everywhere from anywhere with SQL tools
Microsoft SQL Server 2017 Maximum Availability & Read Scale-Out
In-Depth Introduction to Docker
Introduction to SQL Server 2017 on Linux
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Windows Azure Migrating SQL Server Workloads
Installation and database instance essentials
Linux: a new mate for SQL Server
Andrew Pruski SQL Server & Containers
Containers in HPC By Raja.
Contained DB? Did it do something wrong?
SQL Server 2017 Deep Dive Tobias Ternstrom, Travis Wright
Upgrade SQL Server 2017 (On-Prem, IaaS, and PaaS)
AlwaysOn Availability Groups 101
Auditing in SQL Server 2008 DBA-364-M
Please support our sponsors
SQL Server on Linux Troubleshooting tips and tricks
SharePoint 2019 Changes Point of View.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Chapter 2: System Structures
Microsoft Virtual Academy
12/25/2018 5:25 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Technical Capabilities
Windows Virtual PC / Hyper-V
Microsoft SQL Server Upgrade and Downgrade scenarios
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Our awesome sponsors! Please visit the sponsor area in the break and interact with them. They are the reason we can hold this conference free of charge!
Azure Container Service
Managing and monitoring SQL Server on Linux from the command line
Michelle Haarhues Keeping up with SSMS.
Azure App Service Web App for Containers
Containers and DevOps.
Presentation transcript:

Introduction to SQL Server 2017 on Linux Andrzej Kukuła Introduction to SQL Server 2017 on Linux

Sponsors

About me 20+ years of professional experience in IT Consultant, Trainer Architect of HA/DR Solutions, BI Solutions, Data Platform Solutions, Cloud Solutions Polish Data Community (former PLSSUG) – PASS Chapter Leader Conference and user group speaker Andrzej@Kukula.pl, @AndrzejKukula

Agenda Multi-platform SQL Server Linux offerings Licensing Supported platforms Client tools Features System architecture Installation from package – demos Docker – demos Random notes

Platform is your preference SQL Server 2017 is available for Windows, Linux and Docker GA was announced at Ignite conference on 2.10.2017 You can download it right now

Multi-platform SQL Server SQL Server is just a part of Data Platform offering It’s about giving business a choice OS platform Data diversity Development environment Cloud/on prem/hybrid 101001010010 { } T-SQL Java C/C++ C#/VB.NET PHP Node.js Python Ruby

Linux offerings NEW SQL Server on Linux HDInsight on Linux Machine Learning Server on Linux Linux in Azure SQL Server drivers and connectivity Visual Studio Code + extension for SQL Server .NET Core 2.0 PowerShell v6 (beta) Python, Ruby, …

Same license, new choice A license can be used on Windows or Linux Same editions on Linux: Express (free) Standard Web Enterprise Developer * Evaluation * * Free to download and use (non-production)

Supported platforms RedHat Enterprise Linux (RHEL) 7.3 SUSE Enterprise Linux (SLES) v12 SP2 Ubuntu 16.04, 16.10 (runs on other Linux distributions) Docker: Windows & Linux containers Windows Server / Windows 10 Linux: Selected filesystems Linux Containers Windows Windows Server

SQL Tools for SQL Server on Linux https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/01/using-sql-tools-with-sql-server-on-linux/

What’s working in SQL Server 2017 on Linux? Everything! Relational engine Agent HA/DR (including FCI and Availability Groups) Windows authentication Full-Text Search daemon Integration Services (+dtexec utility) Just a few exceptions (planned to be addressed in the future) Log reader agent (CDC, Replication - expected very soon) Analysis Services, Reporting Services, DQS, MDS Machine Learning Services Stretch DB, Polybase FileTable

SQL Server 2017 Failover Cluster on Linux

SQL Platform Abstraction Layer All resources managed by SQL PAL Benefit for SQL Server on Windows and on Linux Abstraction for high-level dependencies Reduce kernel ABI surface from > 1200 calls to < 50 calls Everything in user mode Improved performance SOS + LibOS = SQLPAL SOS will be removed from SQL Server and merged with SQLPAL Linux Host Extensions convert ABI calls, stack layout, results

System Architecture System Resource & Latency Sensitive Code Paths Everything else RDBMS IS AS RS SQL Platform Abstraction Layer (SQLPAL) SQL OS API Win32-like APIs SQL Platform Abstraction Layer (SQLPAL) SQL OS v2 Windows Host Ext. Linux Host Extension Windows Linux Host Extension mapping to OS system calls (IO, Memory, CPU scheduling)

Installation demo Minimum RAM requirement: 3.25 GB ext4 or XFS filesystem (btrfs is not supported ) NFS 4.2 or newer to host files on an NFS server Installation from packages

2 repositories Servicing change – no more service packs GDR repository – only official release + critical security fixes CU repository – all updates will go here

Installation layout Instant File Initialization is always enabled Binaries - /opt/mssql Data, transaction logs, error logs, default trace - /var/opt/mssql Command line tools: sqlservr – core executable – not used directly mssql-conf – configure (setup, change collation, sa password, …) bcp – bulk import/export tool sqlcmd – command line query execution tool mssql-scripter – easily create scripts of your databases (installed separately) dbfs – view DMVs from the file system (installed separately)

Instances and Docker SQL Server instance is a non-trivial thing on Windows Long set up process „Magic” happening to fs, registry and who knows what during installation Often requires reboot of Windows host system Docker containers change that dramatically Instances are easy to set up and remove Few seconds to spin a new SQL Server No reboot necessary in between The process is always reproducible Almost complete independence from host system

A few words about Docker A platform that allows to package and run an app in isolated environment Single OS, multiple containers Sort of „leaner” virtualization (one kernel) Much lower overhead compared to full virtualization Container has everything needed to run an app Will run the same way no matter what changes happen at the host level (libraries, packages) Building blocks Docker packaging format (docker file) Docker Hub - distribution platform (container repository) Docker tools

SQL Server Instances and Docker Helpful in many scenarios SP & CU installations Upgrades Temporary instances Test SP & CU Test restores Test configuration changes Dev instances Database unit testing made easier CI/CD Let’s see this in action – demo!

SQL Server on Linux - monitoring collectd, InfluxDB, Grafana https://github.com/Microsoft/mssql-monitoring https://blogs.msdn.microsoft.com/sqlcat/2017/07/03/how-the-sqlcat-customer-lab-is-monitoring-sql-on-linux/ https://grafana.com/

Migration options backup/restore BACPAC SQL Server Migration Assistant bcp SSIS

Surprises for Windows admins Some knowledge of Linux platform will be required File names are case sensitive in Linux /var/opt/mssql/data/TestDB.MDF != /var/opt/mssql/data/testdb.mdf Pay attention when doing ALTER DATABASE … MODIFY FILE Files/directories can be deleted while in use They’re not protected from deletion in the sense we know from Windows Only the name is removed, file data (inode) remains available until closed (can be recovered) You can also rename/move them (within one filesystem) while in use DON’T WORK AS ROOT – EVER use su / sudo to do admin stuff Beware of accidental spaces in rm –rf ./* vs rm –rf . / * Normal (non-admin) user cannot damage the system

File and directory permissions basics rwx rwx rwx rwx r-x --x rwx --x --- rwx --- --- First part: user owner, second part: the group owner, third part: every other user Files: Read – read data from a file, Write – write data to a file Execute – execute a file (native executables, scripts in various languages) Directories: Read – list contents of directory Write – make changes to directory (create and delete files and directories within it) Execute – traverse directory (ability to „cd” to it, or specify it as part of longer path) --x will work properly in many cases r-- will not do what you want DO NOT EVER USE 777 (rwx rwx rwx) !!! Try to have as little bits set as possible SQL Server has good defaults – and it doesn’t run as root

What’s new in SQL Server 2017 in general? Machine Learning Services – support for Python and R languages Automatic database tuning – regressing plan choice correction Adaptive query processing (batch mode adaptive joins, memory grant feedback, interleaved execution for MS TVF) Graph database capabilities New T-SQL functions: CONCAT_WS, TRIM, TRANSLATE, STRING_AGG(…) WITHIN GROUP (…) PREDICT function Direct import of CSV data Clusterless availability groups SELECT INTO a specific filegroup Resumable online index rebuild Online non-clustered columnstore index rebuild

Hidden gem SELECT * FROM sys.dm_os_enumerate_filesystem('C:\', '*’) Easily replace xp_cmdshell in many cases!

Q & A Thank you! @AndrzejKukula andrzej@kukula.pl

Sponsors