3. SQL Server がクロスプラットフォームで動作
db tech showcase 2017 Tokyo3
Windows だけでなく、Linux / Docker コンテナーでも実行可能
SQL Server を、開発言語、オンプレミス / クラウド、オペレーティングシステムに
依存することなく利用することが可能に
プラットフォーム間のデータベースには互換性があり、アタッチ / デタッチ、
バックアップ / リストアで、各プラットフォームにデータベースを移動可能
Linux
Red Hat Enterprise Linux 7.3
SUSE Enterprise Linux Server v12 SP2
Ubuntu 16.04 LTS
Docker
Windows Containers
Linux Containers
Windows
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-setup
2017/9/7
4. Machine Learning Services in SQL Server
4
SQL Server 2016 で追加された、SQL Server R サービスの新しい名称
SQL Server 2016 で R 言語に対応し、SQL Server 2017 では R だけでなく、SQL Server 内で
Python を利用することも可能に
R または、Python で記述されたスクリプトをクエリから実行することが可能
GPU に対応した Python のパッケージをスクリプト内で利用することで、GPU を使用したデータ分析を実施することも可能
Transact-SQL をインタフェースとして、データ分析を行うことができる。
SQL Server 内で処理を完結することができ、データを外部に出す必要がない。
sp_execute_external_script から
R / Python スクリプトを呼び出し
SQL Server のデータベースのデータをR / Python を使用
してSQL Server 内で直接分析することが可能
※Standard Edition は基本的な ML 機能のみサポート
並列処理が可能な高度な ML 機能と、スタンドアロンの ML サーバーについては、Enterprise Edition のみ利用可能
Microsoft Machine Learning Services
https://docs.microsoft.com/ja-jp/sql/advanced-analytics/r/r-services
2017/9/7db tech showcase 2017 Tokyo
6. 本イベントの SQL Server 関連のセッション
日付 時間 セッションタイトル
9/5 15:30-16:20 C16 Azure SQL Database - Are you ready for the cloud?
9/6 9:30-10:20 D21
ついに Red Hat Enterprise Linuxで SQL Serverが使える!
~Dr. KによるSQL Server 2017 Linux版性能検証速報~
9/6 12:30-13:20 B23 Intelligent Data Platform の全容 – 何がIntelligentなの? -
9/6 15:30-16:20 E26 窓は開かれた! SQL Server on Linux で拡がる可能性
9/6 16:30-17:20 E27 SQL Server 2017で実現されるAI(ディープラーニング)のシステムモデルのご紹介
9/7 10:30-11:20 C32 Patterns for building hybrid scenarios with SQL Server and Azure
9/7 16:30-17:20 E37 AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう
2017/9/7db tech showcase 2017 Tokyo6
7. Community Technical Preview (CTP)
7
Community Technical Preview (CTP)
• クラスターレス可用性
グループ
• 可用性グループのクロス
プラットフォームサポート
https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017
2017/9/7db tech showcase 2017 Tokyo
8. Release Candidate (RC : リリース候補版)
8
Release Candidate (リリース候補版)
First release candidate of SQL Server 2017 now available
https://blogs.technet.microsoft.com/dataplatforminsider/2017/07/17/first-
release-candidate-of-sql-server-2017-now-available/
https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017
2017/9/7db tech showcase 2017 Tokyo
10. CTP / RC の基本機能の強化 (2/2)
10
CTP 2.1 RC1 RC2
データベースエンジン
• sys.dm_db_log_stats の追加
• SQL Server on Docker で
使用できる環境変数の追加
• mssql-scripter ツールの追加
• DBFS ツールの追加
データベースエンジン
• CLR の厳格なセキュリティに
ホワイトリスト機能の追加
SSAS
• 互換性モデル 1200 / 1400 の
表形式モデルの DMV の改善
• Bug Fix とパフォーマンス改善
What's New in Integration Services in SQL Server 2017
https://docs.microsoft.com/ja-jp/sql/integration-services/what-s-new-in-integration-services-in-sql-server-2017
What's new in SQL Server Analysis Services 2017
https://docs.microsoft.com/ja-jp/sql/analysis-services/what-s-new-in-sql-server-analysis-services-2017
What's New in Machine Learning Services in SQL Server
https://docs.microsoft.com/ja-jp/sql/advanced-analytics/what-s-new-in-sql-server-machine-learning-services
What's New in SQL Server 2017 (Database Engine)
https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/what-s-new-in-sql-server-2017-database-engine
What's new in SQL Server Reporting Services (SSRS)
https://docs.microsoft.com/en-us/sql/reporting-services/what-s-new-in-sql-server-reporting-services-ssrs
Editions and supported features of SQL Server 2017
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017
2017/9/7db tech showcase 2017 Tokyo
11. エディションと機能
2017/9/7db tech showcase 2017 Tokyo11
エディションと機能については次の情報を参照
SQL Server 2017 の各エディションとサポートされている機能
https://docs.microsoft.com/ja-jp/sql/sql-server/editions-and-
components-of-sql-server-2017
2017/8 時点の情報では次のエディションが提供される予定
Enterprise
Standard
Web
Developer
Express Edition
27. AlwaysOn 可用性グループ
2017/9/7db tech showcase 2017 Tokyo27
Version 機能
2017 • 同一インスタンスの分散トランザクションのサポート
• 可用性グループの再作成が不要な分散トランザクションサポートの設定変更
• クロスプラットフォーム (Windows / Linux) の可用性グループのサポート
• WSFC 以外のクラスタータイプのサポート (EXTERNAL / NONE)
• 同期コミット利用時に必要となる最小のセカンダリレプリカ数が設定可能
CREATE AVAILABILITY GROUP (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql
分散トランザクション対応の可用性グループを構成する
https://docs.microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/configure-availability-group-for-distributed-transactions
トランザクション - 可用性グループとデータベース ミラーリング
https://docs.Microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring
SQL Server on Linux の読み取りのスケール アウト可用性グループを構成します。
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-configure-rs
可用性グループの構成の高可用性とデータの保護
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-ha
28. 3 種類のクラスタータイプ
2017/9/7db tech showcase 2017 Tokyo28
SQL Server 2017 では、次の 3 種類を利用可能
CLUSTER_TYPE = { WSFC | EXTERNAL | NONE }
CREATE AVAILABILITY GROUP (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql
WSFC EXTERNAL NONE
• 従来から使用されていたタイプ
• Windows Server Failover
Cluster (WSFC) をクラスター
マネージャーとして利用
• Windows でのみ使用可能
• Windows Server Failover
Cluster (WSFC) 以外を、クラ
スターマネージャー (Linux の
Pacemaker) として利用
• Linux で可用性グループを使用
する場合、EXTERNAL を設定
• クラスタマネージャーで管理を
行わない場合に指定
• クラスターレスの可用性グルー
プを使用する場合 NONE を設定
• 同一の可用性グループに異なる
OS (Windows / Linux) を含め
る場合にも利用
29. SQL Server 2017 の可用性グループ
29
クラスター (WSFC / Pacemaker) を構築せずに、可用性グループを利用可能
Windows Server 2016 で、ワークグループクラスター (クラスターのための AD が不要) を使用することができたが、クラス
ター (WSFC) を構築する必要があった
SQL Server 2017 では「クラスターを構築せず」可用性グループを利用可能
クラスターレスの可用性グループは、監視用のリソースを作成しない構成 のため、自動フェールオーバーによる
障害発生時の自動的な切り替えを行うことができない
読み取りのサーバーのスケールアウトや、データの複製をシンプルな構成/設定で構築が可能
必要となる最小のレプリカのコミット数の設定 (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT)
により、稼働しているサーバー数の調整が可能
同期コミット使用時に、最新の情報となっている必要のあるセカンダリレプリカの台数を調整することで、起動している
サーバーの台数を設定
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 1 の場合
プライマリレプリカの他に 1 台の同期コミットの
Configure read-scale availability group for SQL Server on Linux
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-rs
2017/9/7db tech showcase 2017 Tokyo
30. クロスプラットフォームの可用性グループの利用例
30
可用性グループを使用し、異なる OS 間でデータを同期
分散型可用性グループ / クラスターレス可用性グループを使用したデータ同期
以下のようなユースケースで利用することができる
移行やテストのために Windows から Linux にデータを移行
ダウンタイムを最小限に抑えた、クロスプラットフォームの移行
Setting up SQL Server High-Availability between Windows and Linux with SQL Server 2017
https://channel9.msdn.com/Shows/Data-Exposed/Setting-up-SQL-Server-High-Availability-between-Windows-and-Linux-with-SQL-Server-2017
2017/9/7db tech showcase 2017 Tokyo