SlideShare a Scribd company logo
SQL SERVER:
NOW IT’S EVERYWHERE YOU WANT TO BE
Ed Leighton-Dick
ABOUT ME
Email: ed@leightondick.com
Blog: edleightondick.com
Twitter: @eleightondick
SESSION GOALS
• Show SQL Server on Linux and Docker
• Discuss how it works… and what needs work
• Talk about why this is important
SQL SERVER ON LINUX…
WHAAAA?
SERIOUSLY? WHY??
• Competition
• Massive (and growing) Linux installation base…
especially in the cloud
• Containers!
OK, FINE…
BUT DOES IT WORK?
Demos
HOW DOES IT WORK?
TRADITIONAL APPROACHES TO
PLATFORM SHIFTING
• Rebuild:
Rewrite everything!
• Traditional VMs:
Emulate everything!
• WINE project:
Translate everything!
• None of these would have worked well
HOW MICROSOFT DID IT
• Compared Win32, et al
to Linux
• Most commands had direct
correlation => TRANSLATE
• Small subset required
specialized code =>
EMULATE
Image source: Young Frankenstein
PIECES ALREADY EXISTED…
Image source: Microsoft Technet, SQL Server Blog
THE SOLUTION:
PLATFORM ABSTRACTION LAYER
(PAL)
Image source: Microsoft Technet, SQL Server Blog
THE SOLUTION:
PLATFORM ABSTRACTION LAYER
(PAL)
Image source: Microsoft Technet, SQL Server Blog
THE SOLUTION:
PLATFORM ABSTRACTION LAYER
(PAL)
• Runs in user mode, not kernel mode
• Used for both Linux and Windows
• Benefits to both platforms
• All resources are managed by SQLPAL
• Uses a fraction of the disk space of a VM
• SQL Server can be identical on all platforms!
SYSTEM REQUIREMENTS
Windows
• RAM: 1GB/4GB
• CPU: 1.4GHz/2GHz
• Disk: 1.5GB-8GB
• File System:
NTFS
Docker
• RAM: 4GB
• CPU: N/A
• Disk: 4GB
• File System:
N/A
• Docker 1.8+
Any Linux or
Docker for Mac/Win
• RAM: 3.25GB
• CPU: 2GHz
• Disk: 6GB
• File System:
EXT4, XFS
• RHEL 7.3,
SUSE v12 SP2,
Ubuntu 16.04LTS
Linux
WHAT’S THE SAME?
• Everything unless explicitly listed
• It’s the same code!
WHAT’S DIFFERENT
• Configuration utilities
• A few capabilities aren’t supported
• They rely on Windows-specific functionality, or
• Demand isn’t projected to be high enough, or
• It’s complicated, and they haven’t gotten it finished yet
WHAT DOESN’T WORK (RC2)
Replication – Transactional AGENT – Subsystems (partial) SQL Server Browser
Replication – Merge AGENT – Alerts R Services
Stretch DB AGENT – Log Reader Agent StreamInsight
Polybase AGENT – CDC Analysis Services
Distributed query (partial) AGENT – Managed Backup Reporting Services
Extended stored procedures Data Quality Services
FILETABLE Database Mirroring Master Data Services
CLR assemblies (except SAFE) Encryption Key Management (EKM)
Buffer Pool Extension
SIGNIFICANT KNOWN ISSUES (RC2)
• Server name length limited to 15 characters
• One instance per server
• Distributed transactions requiring MSDTC not supported
(SQL-to-SQL works)
• Some TLS algorithms unsupported
• SQL 2014 In-Memory OLTP must be upgraded before restoring to Linux
• Some FTS filters unsupported
• SSIS – Catalog, Windows authentication, Third-party components, Scale out
• Maintenance plans unsupported
PERFORMANCE
• SQL Server’s code is identical
• Your code is identical
• 85-100% of performance on Windows… or better!
WHY IT’S IMPORTANT
THIS ENABLES SOME VERY
INTERESTING POSSIBILITIES!
Image source: Pixabay. CC0 license.
CLOUD
• Allows more widespread use of SQL Server
• Enables use with cloud platforms
• Enables use with orchestration (Swarm, Kubernetes)
CONTAINERS
• Higher density on servers
• Up-to-date images of databases for development
• DevOps integration
DEVOPS
• Quick to spin up, smaller footprint
• Maintain a library of images for development and testing
• Single-use containers for unit tests
WRAP-UP
SESSION GOALS
Show SQL Server on Linux and Docker
Discuss how it works… and what needs work
Talk about why this is important
CONCLUSIONS
• Valuable addition to the toolbox
• Especially useful for containers and DevOps
• Sign of positive changes within Microsoft
FOR MORE INFORMATION
• Microsoft Docs
https://docs.microsoft.com/en-us/sql/linux
• SQL Server Blog
https://blogs.technet.microsoft.com/dataplatforminsider/
• SQL on Linux Engineering Town Halls
https://www.microsoft.com/en-us/sql-server/sql-server-2017-linux
QUESTIONS?
Email: ed@leightondick.com
Blog: edleightondick.com
Twitter: @eleightondick
THANK YOU FOR ATTENDING!
~ Please remember to fill out your comment cards ~

More Related Content

What's hot (20)

BePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your HorizonBePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your Horizon
Eurocontrol
 
PP_Eric_Gandt
PP_Eric_GandtPP_Eric_Gandt
PP_Eric_Gandt
Eric Gandt
 
Oracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKOracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANK
ibankuk
 
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupHow Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
Rudy De Busscher
 
JavaEE Microservices platforms
JavaEE Microservices platformsJavaEE Microservices platforms
JavaEE Microservices platforms
Payara
 
ESB integration for node.js
ESB integration for node.js ESB integration for node.js
ESB integration for node.js
SÎNICĂ Alboaie
 
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
Sascha Möllering
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
Payara
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
Payara
 
A Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley StartupA Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley Startup
Sachin Rekhi
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Möllering
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
Ido Flatow
 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
Oren Eini
 
JPA 2.1 on Payara Server
JPA 2.1 on Payara ServerJPA 2.1 on Payara Server
JPA 2.1 on Payara Server
Payara
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
RightScale
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
 
Chicago Microservices Integration Talk
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration Talk
Christian Posta
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
Christian Posta
 
BePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your HorizonBePUG - PowerShell and REST - Expanding your Horizon
BePUG - PowerShell and REST - Expanding your Horizon
Eurocontrol
 
Oracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKOracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANK
ibankuk
 
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupHow Class Data Sharing Can Speed up Your Jakarta EE Application Startup
How Class Data Sharing Can Speed up Your Jakarta EE Application Startup
Rudy De Busscher
 
JavaEE Microservices platforms
JavaEE Microservices platformsJavaEE Microservices platforms
JavaEE Microservices platforms
Payara
 
ESB integration for node.js
ESB integration for node.js ESB integration for node.js
ESB integration for node.js
SÎNICĂ Alboaie
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
Payara
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Effective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfileEffective cloud-ready apps with MicroProfile
Effective cloud-ready apps with MicroProfile
Payara
 
A Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley StartupA Day in the Life of a Silicon Valley Startup
A Day in the Life of a Silicon Valley Startup
Sachin Rekhi
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
Ido Flatow
 
JPA 2.1 on Payara Server
JPA 2.1 on Payara ServerJPA 2.1 on Payara Server
JPA 2.1 on Payara Server
Payara
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
RightScale
 
RavenDB embedded at massive scales
RavenDB embedded at massive scalesRavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
 
Chicago Microservices Integration Talk
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration Talk
Christian Posta
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
Christian Posta
 

Similar to SQL Server: Now It's Everywhere You Want to Be (20)

Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Travis Wright
 
AWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and ResultsAWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and Results
MongoDB
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
Sergey Dzyuban
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
Paul Withers
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
Travis Wright
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
John Adams
 
6232 b 01
6232 b 016232 b 01
6232 b 01
stamal
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices
💡 Tomasz Kogut
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
Travis Wright
 
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using CouchbaseNoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
Brant Burnett
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
Lalit Kale
 
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
Andrew Brust
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
Particular Software
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
Bob Ward
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your Database
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
Tobias Koprowski
 
Distributed query deep dive conor cunningham
Distributed query deep dive   conor cunninghamDistributed query deep dive   conor cunningham
Distributed query deep dive conor cunningham
Radityo Prasetianto Wibowo
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
Artificial Intelligence Institute at UofSC
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
Bob Ward
 
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Travis Wright
 
AWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and ResultsAWS to Bare Metal: Motivation, Pitfalls, and Results
AWS to Bare Metal: Motivation, Pitfalls, and Results
MongoDB
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
Sergey Dzyuban
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
Paul Withers
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
Travis Wright
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
John Adams
 
6232 b 01
6232 b 016232 b 01
6232 b 01
stamal
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices
💡 Tomasz Kogut
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
Travis Wright
 
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using CouchbaseNoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
Brant Burnett
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
Lalit Kale
 
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012SQL Server Workshop for Developers - Visual Studio Live! NY 2012
SQL Server Workshop for Developers - Visual Studio Live! NY 2012
Andrew Brust
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
Particular Software
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
Bob Ward
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your Database
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
Tobias Koprowski
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
Bob Ward
 

More from Ed Leighton-Dick (10)

How to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a DayHow to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a Day
Ed Leighton-Dick
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
Ed Leighton-Dick
 
Understanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always EncryptedUnderstanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always Encrypted
Ed Leighton-Dick
 
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Ed Leighton-Dick
 
Protecting Your Data with Encryption
Protecting Your Data with EncryptionProtecting Your Data with Encryption
Protecting Your Data with Encryption
Ed Leighton-Dick
 
Extending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster RecoveryExtending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster Recovery
Ed Leighton-Dick
 
SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!
Ed Leighton-Dick
 
Get Involved!
Get Involved!Get Involved!
Get Involved!
Ed Leighton-Dick
 
Service Broker: The Queue Continuum
Service Broker: The Queue ContinuumService Broker: The Queue Continuum
Service Broker: The Queue Continuum
Ed Leighton-Dick
 
Practically Normal: An Introduction to Normalization
Practically Normal: An Introduction to NormalizationPractically Normal: An Introduction to Normalization
Practically Normal: An Introduction to Normalization
Ed Leighton-Dick
 
How to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a DayHow to Keep Your Databases Secure in Just Minutes a Day
How to Keep Your Databases Secure in Just Minutes a Day
Ed Leighton-Dick
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
Ed Leighton-Dick
 
Understanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always EncryptedUnderstanding SQL Server 2016 Always Encrypted
Understanding SQL Server 2016 Always Encrypted
Ed Leighton-Dick
 
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Dammit Jim! Dr McCoy’s Field Guide to system_health (and the default trace)
Ed Leighton-Dick
 
Protecting Your Data with Encryption
Protecting Your Data with EncryptionProtecting Your Data with Encryption
Protecting Your Data with Encryption
Ed Leighton-Dick
 
Extending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster RecoveryExtending Your Availability Group for Disaster Recovery
Extending Your Availability Group for Disaster Recovery
Ed Leighton-Dick
 
SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!SQL Server Features That Will Blow Your Mind!
SQL Server Features That Will Blow Your Mind!
Ed Leighton-Dick
 
Service Broker: The Queue Continuum
Service Broker: The Queue ContinuumService Broker: The Queue Continuum
Service Broker: The Queue Continuum
Ed Leighton-Dick
 
Practically Normal: An Introduction to Normalization
Practically Normal: An Introduction to NormalizationPractically Normal: An Introduction to Normalization
Practically Normal: An Introduction to Normalization
Ed Leighton-Dick
 

Recently uploaded (20)

computer organization and assembly language.docx
computer organization and assembly language.docxcomputer organization and assembly language.docx
computer organization and assembly language.docx
alisoftwareengineer1
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
Flip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptxFlip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptx
mubashirkhan45461
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
Classification_in_Machinee_Learning.pptx
Classification_in_Machinee_Learning.pptxClassification_in_Machinee_Learning.pptx
Classification_in_Machinee_Learning.pptx
wencyjorda88
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
gmuir1066
 
03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia
Alexander Romero Arosquipa
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
C++_OOPs_DSA1_Presentation_Template.pptx
C++_OOPs_DSA1_Presentation_Template.pptxC++_OOPs_DSA1_Presentation_Template.pptx
C++_OOPs_DSA1_Presentation_Template.pptx
aquibnoor22079
 
Ch3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendencyCh3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendency
ayeleasefa2
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
Simple_AI_Explanation_English somplr.pptx
Simple_AI_Explanation_English somplr.pptxSimple_AI_Explanation_English somplr.pptx
Simple_AI_Explanation_English somplr.pptx
ssuser2aa19f
 
FPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptxFPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptx
ssuser4ef83d
 
computer organization and assembly language.docx
computer organization and assembly language.docxcomputer organization and assembly language.docx
computer organization and assembly language.docx
alisoftwareengineer1
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
Flip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptxFlip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptx
mubashirkhan45461
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
Classification_in_Machinee_Learning.pptx
Classification_in_Machinee_Learning.pptxClassification_in_Machinee_Learning.pptx
Classification_in_Machinee_Learning.pptx
wencyjorda88
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
gmuir1066
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
C++_OOPs_DSA1_Presentation_Template.pptx
C++_OOPs_DSA1_Presentation_Template.pptxC++_OOPs_DSA1_Presentation_Template.pptx
C++_OOPs_DSA1_Presentation_Template.pptx
aquibnoor22079
 
Ch3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendencyCh3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendency
ayeleasefa2
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
Simple_AI_Explanation_English somplr.pptx
Simple_AI_Explanation_English somplr.pptxSimple_AI_Explanation_English somplr.pptx
Simple_AI_Explanation_English somplr.pptx
ssuser2aa19f
 
FPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptxFPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptx
ssuser4ef83d
 

SQL Server: Now It's Everywhere You Want to Be

  • 1. SQL SERVER: NOW IT’S EVERYWHERE YOU WANT TO BE Ed Leighton-Dick
  • 2. ABOUT ME Email: [email protected] Blog: edleightondick.com Twitter: @eleightondick
  • 3. SESSION GOALS • Show SQL Server on Linux and Docker • Discuss how it works… and what needs work • Talk about why this is important
  • 4. SQL SERVER ON LINUX… WHAAAA?
  • 5. SERIOUSLY? WHY?? • Competition • Massive (and growing) Linux installation base… especially in the cloud • Containers!
  • 6. OK, FINE… BUT DOES IT WORK? Demos
  • 7. HOW DOES IT WORK?
  • 8. TRADITIONAL APPROACHES TO PLATFORM SHIFTING • Rebuild: Rewrite everything! • Traditional VMs: Emulate everything! • WINE project: Translate everything! • None of these would have worked well
  • 9. HOW MICROSOFT DID IT • Compared Win32, et al to Linux • Most commands had direct correlation => TRANSLATE • Small subset required specialized code => EMULATE Image source: Young Frankenstein
  • 10. PIECES ALREADY EXISTED… Image source: Microsoft Technet, SQL Server Blog
  • 11. THE SOLUTION: PLATFORM ABSTRACTION LAYER (PAL) Image source: Microsoft Technet, SQL Server Blog
  • 12. THE SOLUTION: PLATFORM ABSTRACTION LAYER (PAL) Image source: Microsoft Technet, SQL Server Blog
  • 13. THE SOLUTION: PLATFORM ABSTRACTION LAYER (PAL) • Runs in user mode, not kernel mode • Used for both Linux and Windows • Benefits to both platforms • All resources are managed by SQLPAL • Uses a fraction of the disk space of a VM • SQL Server can be identical on all platforms!
  • 14. SYSTEM REQUIREMENTS Windows • RAM: 1GB/4GB • CPU: 1.4GHz/2GHz • Disk: 1.5GB-8GB • File System: NTFS Docker • RAM: 4GB • CPU: N/A • Disk: 4GB • File System: N/A • Docker 1.8+ Any Linux or Docker for Mac/Win • RAM: 3.25GB • CPU: 2GHz • Disk: 6GB • File System: EXT4, XFS • RHEL 7.3, SUSE v12 SP2, Ubuntu 16.04LTS Linux
  • 15. WHAT’S THE SAME? • Everything unless explicitly listed • It’s the same code!
  • 16. WHAT’S DIFFERENT • Configuration utilities • A few capabilities aren’t supported • They rely on Windows-specific functionality, or • Demand isn’t projected to be high enough, or • It’s complicated, and they haven’t gotten it finished yet
  • 17. WHAT DOESN’T WORK (RC2) Replication – Transactional AGENT – Subsystems (partial) SQL Server Browser Replication – Merge AGENT – Alerts R Services Stretch DB AGENT – Log Reader Agent StreamInsight Polybase AGENT – CDC Analysis Services Distributed query (partial) AGENT – Managed Backup Reporting Services Extended stored procedures Data Quality Services FILETABLE Database Mirroring Master Data Services CLR assemblies (except SAFE) Encryption Key Management (EKM) Buffer Pool Extension
  • 18. SIGNIFICANT KNOWN ISSUES (RC2) • Server name length limited to 15 characters • One instance per server • Distributed transactions requiring MSDTC not supported (SQL-to-SQL works) • Some TLS algorithms unsupported • SQL 2014 In-Memory OLTP must be upgraded before restoring to Linux • Some FTS filters unsupported • SSIS – Catalog, Windows authentication, Third-party components, Scale out • Maintenance plans unsupported
  • 19. PERFORMANCE • SQL Server’s code is identical • Your code is identical • 85-100% of performance on Windows… or better!
  • 21. THIS ENABLES SOME VERY INTERESTING POSSIBILITIES! Image source: Pixabay. CC0 license.
  • 22. CLOUD • Allows more widespread use of SQL Server • Enables use with cloud platforms • Enables use with orchestration (Swarm, Kubernetes)
  • 23. CONTAINERS • Higher density on servers • Up-to-date images of databases for development • DevOps integration
  • 24. DEVOPS • Quick to spin up, smaller footprint • Maintain a library of images for development and testing • Single-use containers for unit tests
  • 26. SESSION GOALS Show SQL Server on Linux and Docker Discuss how it works… and what needs work Talk about why this is important
  • 27. CONCLUSIONS • Valuable addition to the toolbox • Especially useful for containers and DevOps • Sign of positive changes within Microsoft
  • 28. FOR MORE INFORMATION • Microsoft Docs https://docs.microsoft.com/en-us/sql/linux • SQL Server Blog https://blogs.technet.microsoft.com/dataplatforminsider/ • SQL on Linux Engineering Town Halls https://www.microsoft.com/en-us/sql-server/sql-server-2017-linux
  • 30. THANK YOU FOR ATTENDING! ~ Please remember to fill out your comment cards ~