Transcription

SQL Server 2017Aufbruch zu neuen Ufern

SPEAKERThomas PfeifferSenior ConsultantDatabase & BIMCT, MCSE, MCITP, Schwerpunkte:- Performance- High Availability- Business Intelligence2WWW.SOFTED.DE/NETNIGHT

Agenda›››››3Allgemeine AngabenLinux - PlattformNeuerungen in der Datenbank-Engine / PerformanceHochverfügbarkeitBusiness IntelligenceWWW.SOFTED.DE/NETNIGHT

EditionenFeatureEnterpriseStandardWebExpressOS maximumLimited to lesser of 4sockets or 24 coresLimited to lesser of 4sockets or 16 coresLimited to lesser of 1socket or 4 coresCPU – SSAS & SSRSOS maximumLimited to lesser of 4sockets or 24 coresLimited to lesser of 4sockets or 16 coresLimited to lesser of 1socket or 4 coresMemory – Buffer PoolOS maximum128 GB64 GB1410 MBMemory – Columnstore Data OS maximum32 GB16 GB352 MBMemory – InMemory Objects OS maximum32 GB16 GB352 MBMemory - SSASTabular: 16 GBMOLAP: 64 GBN/AN/ACPU – DB EngineOS maximumMemory - SSRSOS maximum64 GB64 GB4 GB(Express edition withAdvanced Services)Maximum relational DB size524 PB524 PB524 PB10 GB4WWW.SOFTED.DE/NETNIGHT

Update-ZyklusModern Servicing Model› Jahre 0-5 (Mainstream Support):› Ab SQL 2017› GDR und CU – Linien (früher QFE)› Einzelne Security-Patches wiebisher für GDR CU› Im Extended Support CU fürGDR-Linie› CU-Zyklus:› Security- und› Featureupdates› Jahre 6-10 (Extended Support):› Securityupdates› Updates für “critical function issues”› Jahre 11-16 (Premium Assurance):› Optionale kostenpflichtige Erweiterungdes Extended Support5› Jahr 1:Monatlich› Jahre 2-5: Quartalsweise› ETNIGHT

SQL Server 2017 - ArchitekturHosted Win32 APIsSQLPAL› Erneuerung SQLOS (SOS)auf Version 2› Kapselung der OS-Zugriffeund OS-Verwaltung überden Platform AbstractionLayer (SQLPAL)SQL ServerSQLOSDirect APIsNT User Mode APIsStorage ManagerNetworkManagerResourceManagerProcess ManagerSecurity ManagerSQLOS v2Operating System (Windows or Linux)6WWW.SOFTED.DE/NETNIGHT

Anforderungen› RAM› 3.25 GB (1 GB min)› Storage› 6 GB of free disk space› CPU› x64 compatible› 2 cores or more› 2 GHz or faster (1,4 GHz min)› Enterprise & Standard› Windows Server 2012 (R2) & 2016› Developer› Windows 8 & 10› Windows Server 2012 (R2) & 2016› Linux (DB Engine)››››Red Hat Enterprise Linux 7.3 oder 7.4SUSE Linux Enterprise Server v12 SP2Ubuntu 16.04Docker-Modul 1.8 › SQL Server Virtual Machines inAzure7WWW.SOFTED.DE/NETNIGHT

SQL Server auf Linux› Online-Repository aufpackages.microsoft.com› Offline Packages zumDownload verfügbar› SQL Server› Server: mssql-server package› Client: mssql-tools package› Konfiguration: mssql-conf› SQL Server Agent› mssql-server-agent package› Runs as a systemd service8› sudo apt-get install -y mssql-server› sudo apt-get install -y mssql-tools› sudo /opt/mssql/bin/mssql-conf setup› sudo apt-get install -y mssql-server-agentWWW.SOFTED.DE/NETNIGHT

SQL Server auf Linux› Online-Repository aufpackages.microsoft.com› Offline Packages zumDownload verfügbar› Volltextsuche› mssql-server-fts package› sudo apt-get install -y mssql-server-fts› SQL Server IntegrationServices› mssql-server-is package› Konfiguration: ssis-conf› sudo apt-get install mssql-server-is9› sudo /opt/mssql/bin/mssql-conf setupWWW.SOFTED.DE/NETNIGHT

SSIS-DatenquellenSSIS-Pfadangaben››››› SSIS on Linux uses Windows-stylepaths:Raw File: source and destinationFlat File: source and destinationXML: sourceADO.NET: SQLClient provideronly; source and destination› ODBC: any 64-bit Unicode ODBCdriver; source and destination› OLE DB: SQL Server Native Client11.0 and Microsoft OLE DBProvider for SQL Server only;source and destination10› C:\ is converted to /› For example, refer to/data/measurements/current day.txt asc:\data\measurements\current day.txt› dtexec paths:› Use a Linux-style path for the /Fileargument› Use a Windows-style path for the/Project argumentWWW.SOFTED.DE/NETNIGHT

SQL Tools unter Linux› Kommandozeilen-Tools wurdenportiert Connection and authentication› SQLCMD› T-SQL Interface› Batch-Verarbeitung mittels GO › bcp› Bulk - Im-/Export fürTabellen in den Databanken Executing Transact-SQL commands with sqlcmd11sqlcmd -S localhost -U SA -P 'Password'CREATE DATABASE myDataSELECT Name FROM sys.DatabasesGOUSE myDataCREATE TABLE StaffMembers (memberID INT, firstNameNVARCHAR(50), lastName NVARCHAR(50))INSERT INTO StaffMembers VALUES (1, 'Patrick’, 'Hines’);INSERT INTO StaffMembers VALUES (2, 'Jennifer’, 'Kim’);GOSELECT * FROM StaffMembers;GOWWW.SOFTED.DE/NETNIGHT

SQL Server unter Docker› Anforderungen› Docker Engine 1.8 › RAM: 4 GB min› Storage: 4 GB › Windows Server 2016,Windows 10, Linux› On Linux, XFS or EXT4› Processor:› x64 compatible› 2 or more cores› 2 GHz or faster12Virtual SQLServerGuest OS:WindowsGuest OS:LinuxLibrariesAppLibrariesHypervisorDockerHost OSHost OSHardwareHardwareWWW.SOFTED.DE/NETNIGHT

High Availability› Log-Shipping› Anpassungen für Linux› Failover-Cluster› Anpassungen für Linux› Availability Groups› Anpassungen für Linux› Erweiterung in SQL Server 201713WWW.SOFTED.DE/NETNIGHT

Log Shipping› Zwischenspeicherung derBackup-Filesnotwendig› Nutzung vonPrimarySMB-Shares mit serverSamba odervergleichbaren Tools› Jobs laufen über AgentPrimary databasebackuprestoreBackupservercopyBackup directory14Copy databaseCopy directoryWWW.SOFTED.DE/NETNIGHT

Failover Cluster Instanzen und Availability Groups› Cluster-Dienst von Windowswird ersetzt› Pacemaker (bevorzugt)› CorosyncCluster servicesSQL Server(active node)SQL Server(passive node)PacemakerCluster manager› Failover Cluster› Shared Storageerforderlich› Availability Groups› Jeder Knoten hosteteigene Daten-Dateien15CorosyncLinux(active node)Linux(passive node)HardwareShared storageWWW.SOFTED.DE/NETNIGHT

Availability Groups 2017› Availability Group für HA› Aktiver Knoten: Lese-/Schreibzugriff für Appliaktionen› Passiver Knoten:› lesender Zugriff möglich,› Load-Balancing zur Lastverteilung› Backup, HA› Distributed availability group› Verknüpfung mehrerer HA-Gruppen› Read-scale availability group› Nur Lese-Zugriff, besseres Load-Balancing, kein Cluster erforderlich16WWW.SOFTED.DE/NETNIGHT

Neuerungen in SQL Server 2017› SQL Graph DB› Performance› Adaptive Query Processing› Automatic Tuning› Plan choice correction17WWW.SOFTED.DE/NETNIGHT

SQL Graph DB› Auflistung von Knoten undBeziehungen› Flexible Verbindungen› Multi-Hop Abfragen› SQL 2017› Implementiert in DBEngine› Erweiterungen bei› create table› select18WWW.SOFTED.DE/NETNIGHT

Adaptive Query Processing› Cardinality estimation (CE)› Grundlage für Ausführungspläne› CE kann unter Umständen “suboptimale” Pläne erzeugen› Adaptive Query Processing:› Batch mode memory grant feedback› Batch mode adaptive joins› Interleaved execution› Voraussetzung:› Database compatibility level 14019WWW.SOFTED.DE/NETNIGHT

Batch mode adaptive joins› Dynamically select between hash join and nested loop join operators atexecution time› New adaptive join logical operator› Choice between operators is decided by the actual number of rows incomparison to an adaptive join threshold› Query must meet eligibility criteria› Database compatibility level 140› Columnstore index› SELECT statement20WWW.SOFTED.DE/NETNIGHT

Interleaved execution› Multi-Statement Table ValueFunctions› Für den SQL Optimizer als„Black Box“ ausgeführt› „Interner“ Ausführungsplankorreliert nicht mit dem Plander nutzenden AbfrageBefore SQL Server 2017ExecuteMSTVF fixedcardinalityPotential poorperformanceSQL Server nceWWW.SOFTED.DE/NETNIGHT

Automatic Tuning› Query execution plan and query performance data is collected› Reduction in query performance that is correlated to a change in queryexecution plan is automatically identified› A script to force the previous plan is generated› Optionally, the previous plan can be applied automatically› sys.dm db tuning recommendations› Returns a record of tuning recommendations, and when and how theywere applied› Results are recorded until the instance is restarted22WWW.SOFTED.DE/NETNIGHT

Plan choice correction› Automatic plan choice correction› Enabled at database level› Plan choice recommendations are automatically forced when:› CPU time gain is greater than 10 seconds› Fewer errors exist in the recommended plan› Results are monitored; if performance does not improve, the plan isrecompiled› Manual plan choice correction› Manually apply recommendations from DMV› Must monitor to verify the outcome23WWW.SOFTED.DE/NETNIGHT

Business Intelligence› Power BI Report Server› Report Kommentare› Machine Learning und Python Integration24WWW.SOFTED.DE/NETNIGHT

Power BI Report Server› On-Premise – Lösung fürPower BI Dashboards› SSRS 2017 mit Power BIIntegration› Lizenz: Enterprise Edition mit SA› Aktualisierung über:› Zeitpläne in SSRS,› Live-Daten über SSAS-Modelle25WWW.SOFTED.DE/NETNIGHT

Report Kommentare› User können:› Kommentare zu Berichten hinzufügen› Dokumente anhängen› Antworten zu Kommentaren hinzufügen› Diskussionsbeträge zwischen Entwickler/Nutzer› Berechtigungen können auf verschiedenen Ebenen erteilt werden26WWW.SOFTED.DE/NETNIGHT

Machine Learning Services and Python Integration› SQL Server R Services renamed Machine Learning Services› R and Python now supported› In-Database and Standalone editions› Python and R languages installed independently of Machine LearningServices› Open R 3.3› Python 3.5 (Anaconda distribution)› Call Python from Transact-SQL with sp execute external script› Install Machine Learning Services packages for R or Python on client PCs27WWW.SOFTED.DE/NETNIGHT

Azure Cloud› Azure SQL Managed Instance› Die meisten Features sind unterstützt› Nicht verfügbar: SSIS, SSAS› “Isolated Managed Instance” - nicht im Update-Zyklus von Azure› Database Migration Assistant› Azure-Migration von Oracle oder SQL Server Datenbanken› Prüfung der Migrationsfähigkeit› Bericht über potentielle Probleme und Vorschläge› Migration28WWW.SOFTED.DE/NETNIGHT

Unser Datenbankteam unterstützt Sie mit: Beratungs- und Projektunterstützung bei der Migration,Konsolidierung und EntwicklungTrainings zum SQL Server 2017:Upgrade, SQL auf Linux, SQL Administration, SQLEntwicklung und BI ProzesseAnfragen und Beratung:Thomas Pfeiffer [email protected] Telefon 0351 867700

Automatic Tuning ›Query execution plan and query performance data is collected ›Reduction in query performance that is correlated to a change in query execution plan is automatically identified ›A script to force the previous plan is generated ›Optionally, the previous plan can be applied automatically ›sys.dm_db_tuning_recommendations