4. SQL Server on Azure VM
ネットワーク
ストレージ
サーバー
仮想化
O/S
ミドルウェア
SQL Server
データベース
アプリケーション
利
用
者
が
管
理
オンプレミス
SQL Server
ネットワーク
ストレージ
サーバー
仮想化
O/S
ミドルウェア
SQL Server
データベース
アプリケーション
利
用
者
が
管
理
PaaS
SQL DB/SQL DW
IaaS
SQL Server on Azure VM
A
z
u
r
e
が
管
理
ネットワーク
ストレージ
サーバー
仮想化
O/S
ミドルウェア
SQL Server
データベース
アプリケーション
利
用
者
が
管
理
A
z
u
r
e
が
管
理
Azure Virtual Machines における SQL Server の概要
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-windows-sql-server-iaas-overview
5. SQL Server on Azure VM
SQL Server Database Engine
HA/DR
Reference
Architectures
Appliances
Data Warehousing
Dimensional Modeling, Star,
Snowflake, Polybase
Physical / Virtual
Deployment
Relational, XML, JSON, Spatial,
FullText, Binary, Image,
FileTable, Filestream
Columnstore
Row Store
In-Memory
APS
Massively Parallel
Processing
StretchDB
Log Shipping
AlwaysOn
Replication
Integration Services
Data Quality Services
Master Data Services
Buffer Pool Ext.
Query Store
Resource
Governor
Row level security, Transparent
Data Encryption, Always
Encrypted, Data Masking,
Auditing, Compliance
SQL Agent, Database Mail,
Linked Servers, Managed
Backup, Backup to Azure
Analysis Services
Tabular, Multi-Dimensional
PowerPivot, BISM, Data Mining, KPI,
BISM
Reporting Services
Native, SharePoint Integrated
R Services
FCI AG
Polybase
Polybase
• SQL Server on Azure VM で
は、 SQL Server をインストールす
るため、SQL Server に含まれる
すべての機能を使用可能
• SQL Database は、主要コンポー
ネントの中で、データベースエンジ
ンの機能を使用可能
• 一部機能制限がある
• 自動でバージョンアップされるため、
最新の機能をいち早く利用可能
Build 2016 B814:SQL Database Technologies for Developers より抜粋
6. SQL Server on Azure VM と SQL Database の比較
OS/SQL Server のバージョンを選択可能 OS/SQL Server のバージョンは選択不可
バージョンアップは手動で実施 バージョンアップは自動で行われ、新機能を随時利用可能
OS/SQL Server の管理は利用者が実施
(パッチ適用/可用性環境/バックアップ)
OS/SQL Serverの管理は自動で行われる
(パッチ適用/可用性環境/バックアップ)
SQL Server の全機能を使用可能
データベースエンジンの機能のみ使用可能
(一部機能制限あり)
仮想マシン単位でインスタンスサイズを変更 データベース単位でパフォーマンスレベルを変更
1TB を超えるデータベースの利用が可能
1 データベース当たり最大で 1TB まで
(P11 を利用した場合)
仮想ネットワークに参加可能 仮想ネットワークに参加不可
仮想マシンの SLA に準拠
(同一の可用性セットに 2 つ以上のインスタンスを
配置した場合に 99.95 %)
SQL Database の SLA に準拠
(99.99%)
クラウド SQL Server オプションの選択: Azure SQL (PaaS) Database または Azure VM (IaaS) の SQL Server
https://azure.microsoft.com/ja-jp/documentation/articles/data-management-azure-sql-database-and-sql-server-iaas/
7.
8. SQL Server のラインセンス
• OS / SQL Server ともに、英語版が使用されているイメージ
• SQL Server の全機能がインストールされているため不要なサービスは停止を検討
SQL Server 2008 R2 SP3 Express / Web / Standard / Enterprise Windows Server 2008 R2
SQL Server 2012 SP2 Express / Web / Standard / Enterprise
Windows Server 2012
Windows Server 2012 R2
SQL Server 2014 SP1 Express / Web / Standard / Enterprise Windows Server 2012 R2
SQL Server 2016 Express / Web / Standard / Enterprise Windows Server 2012 R2
ライセンス付与されたイメージから展開できる SQL Server (2016/6 時点)
9. SQL Server イメージで日本語版 SQL Server を利用する方法
1. SQL Server がインストールされたイメージをデプロイ
2. SQL Server をアンインストール
3. OS のロケールを日本語に設定
4. 日本語の SQL Server の評価版をダウンロード
5. C ドライブの SQL Server のインストールメディアにある
「DefaultSetup.ini」内のプロダクトキーを利用してインストール
6. 再インストールによりクリアされる設定の再設定
• データファイル / ログファイルのデフォルトの保存先
• ストレージの最適化により実施されるトレースフラグの設定
• SQL Server IaaS Agent 拡張機能の設定
10. ポータルから SQL Server イメージで構築される環境
ポータルから SQL Server イメージをデプロイする際には、
以下の設定を行うことが可能
1. ディスクの種類の選択
2. ストレージの構成
3. SQL Server の基本設定
4. SQL Server IaaS Agent 拡張機能
• 自動修正
• 自動バックアップ
• Azure Key Vault の統合
Azure ポータルでの SQL Server 仮想マシンのプロビジョニング
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-windows-portal-sql-server-provision/
11. ディスクの種類の選択
• Standard / Premium ストレージのどちらを使用するかを選択
• Premium ストレージを使用する場合、「ストレージの構成」を設定可能
• ポータルから SQL Server のイメージをデプロイすると、データディスクを接続した状態で
展開される
• 接続されたデータディスクのドライブが DB のデータ / ログファイルの保存先として設定される
• システムデータベースが OS ディスクに含まれているため、データディスクへの移動を検討
• システム データベースの移動 (https://msdn.microsoft.com/ja-jp/library/ms345408.aspx)
OS ディスク
データ/ログファイルの保存先
Standard or Premium ストレージ
システムデータベース
(tempdb 含む)
データディスク
16. SQL Server IaaS Agent 拡張機能
SQL Server の構築/運用を支援するための拡張機能
機能 対象 OS 対象 SQL Server
自動修正
Windows Server 2012
Windows Server 2012 R2
SQL Server 2012
SQL Server 2014
SQL Server 2016
自動バックアップ
SQL Server 2014 Standard
SQL Server 2014 Enterprise
Azure Key Vault の統合
SQL Server 2012 Enterprise
SQL Server 2014 Enterprise
SQL Server 2016 Enterprise
• ポータルから SQL Server イメージを展開した場合は、自動的に Extension が導入される
• 「Set-AzureRmVMSqlServerExtension」「ARM テンプレート」で手動でインストールすることも可能
• シングルインスタンス/既定のインスタンスの環境で動作
• 「Microsoft SQL Server IaaS Agent」(SQLIaaSExtension) サービスが追加される
• SQL Server の再インストール時にはサービスに、SQL Server のログインを付与する
SQL Server IaaS Agent 拡張機能
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-windows-classic-sql-server-agent-extension/
17. SQL Server IaaS Agent 拡張機能
SQL Server を再インストールした際はサービスアカウントのログインを再設定
サービスアカウント SQL Server のログイン
USE [master]
GO
CREATE LOGIN [NT Service¥SQLIaaSExtension]
FROM WINDOWS
GO
ALTER SERVER ROLE [sysadmin]
ADD MEMBER [NT Service¥SQLIaaSExtension]
GO
ログインを再設定するクエリ
18. • メンテナンスウィンドウを設定し、
更新プログラムの適用を実施
• 更新プログラムの適用は IaaS Agent サービス経由で実施
• 再起動が必要な場合、メンテナンスウィンドウで実施される
• メンテナンススケジュールはサーバーの
時間を基準に設定を行う
• UTC の時間ではなく、サーバーのローカルタイムで動作
SQL Server IaaS Agent 拡張機能
Azure Virtual Machines での SQL Server の自動修正
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-sql-server-automated-patching/
19. SQL Server IaaS Agent 拡張機能
Windows Update の設定内容
「他の Microsoft 製品の更新プログラムの入手」が有効化され、
更新プログラムの適用が行われる
20. • ユーザーデータベースのバックアップを
Azure ストレージに自動で取得
• SQL Server 2014 の管理対象 (マネージ) バックアップを
設定している
• バックアップの暗号化にも対応しており、暗号化を有効化に
した場合、暗号化に使用した証明書がストレージに
バックアップされる
• SQL Server 2014 の管理対象バックアップは
ユーザー DB のみ対応
• SQL Server 2014 の管理対象バックアップでは、システム
データベースは取得されないため、システムデータデータベース
は別途取得する
SQL Server IaaS Agent 拡張機能
Azure Virtual Machines での SQL Server の自動バックアップ
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-sql-server-automated-backup/
46. • Windows Server 2016 では、Azure ストレージを使用したクラウド監視を
使用することで、必要となる仮想マシンの台数を減らすことができる
• ワークグループクラスターにより、ドメインコントローラーを準備せずにクラスターの
構築が可能
• これらの機能は、AlwaysOn 可用性グループと組み合わせて利用することができる
SQL-1 SQL-2
可用性セット
DNS
Azure ストレージ
Windows Server 2016 の新機能を使用した環境の構成例
Windows Server 2016 の新機能の利用
47. SQL Server 2016 の新機能の利用
• SQL Server 2014 までの AlwaysOn では、セカンダリの初期同期を実行する際には、プライマリで取得した
バックアップをリストアしていた
• SQL Server 2014 では、可用性グループに「SEEDING_MODE=AUTOMATIC」を設定することで、初期同期を
自動実行することができ
• CREATE AVAILABILITY GROUP (Transact-SQL)
https://msdn.microsoft.com/en-us/library/ff878399.aspx
• 分散可用性グループを使用することで、異なるクラスター上で構築されている可用性グループに対して
可用性グループの複製を行うことができる
• DR の用途等で遠隔地に構築された、異なるクラスターに対して、AlwaysOn 可用性グループによる DB 複製が可能
• Distributed Availability Groups (Always On Availability Groups)
https://msdn.microsoft.com/en-us/library/mt651673.aspx
• 可用性グループのリスナーに対して、データ同期のポート (例:TCP 5022) に接続して複製を実施
• Azure の場合、リスナーに対してのアクセスはロードバランサー経由となるため、負荷分散規則にデータ同期で使用する
ポートの規則を設定する