migration process - active.nikkeibp.co.jp
TRANSCRIPT
Migration Process
アセスメント
データベース移行
(スキーマ/データ)
アプリケーション移行
新環境での最適化
•Database Migration Assistant (DMA)
•SQL Server Migration Assistant (SSMA)
•Database Migration Assistant (DMA)
•SQL Server Migration Assistant (SSMA)
•BACPAC
•Replication / Data Sync
•Database Migration Service (DMS)
•Database Experimentation Assistant (DEA)
•クエリストア
Data Access Migration ToolkitVisual Studio Code の拡張機能
ソースコード (C# / Java / SQL 等) 内の SQL の呼び出し個所を検出
.Net application assessments in Data Access Migration Toolkit are now available
https://azure.microsoft.com/en-us/updates/net-application-assessments-in-data-access-migration-toolkit-are-now-available/
Data Access Migration Toolkit
https://marketplace.visualstudio.com/items?itemName=ms-databasemigration.data-access-migration-toolkit
移行を実施している最中はハードウェアリソースの消費が多いため、移行作業中は、一時的にサイズの大きいリソースを割り当てることも検討
SQL Server Migration
SQL Server Migration Assistant (SSMA)
SQL Server データベースのクラウド内の SQL Database への移行
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-cloud-migrate
SQL Server Migration Assistant
https://docs.microsoft.com/ja-jp/sql/ssma/sql-server-migration-assistant
SQL Server 以外から SQL Server に移行
Data Migration Assistant (DMA)
SQL Server のアップグレード / 移行
SQL Server 向けの Migration ツールが公開されているため有効に活用
Migration Guide各種 DB の移行を行う際の、移行ガイダンスを Web から作成することが可能
Migration Guide
https://datamigration.microsoft.com/
SQL Server Migration Assistant (SSMA)
他 DB から、SQL Server への移行アセスメントと移行を実施するための無償ツール
SQL Server Migration Assistant
https://docs.microsoft.com/ja-jp/sql/ssma/sql-server-migration-assistant
Microsoft Data Migration Blog
https://blogs.msdn.microsoft.com/datamigration/
SSMA による移行SSIS パッケージの作成
SSMA を使用したデータ移行の流れ①Oracle のスキーマを変換 ②SQL Server にスキーマを反映 ③SQL Server にデータを移行
SSMA コンソールのコマンドラインオプション (OracleToSQL)
https://docs.microsoft.com/ja-jp/sql/ssma/oracle/command-line-options-in-ssma-console-oracletosql
SSMA for Oracle 入門 (OracleToSQL)
https://docs.microsoft.com/ja-jp/sql/ssma/oracle/getting-started-with-ssma-for-oracle-oracletosql
Data Migration Assistant (DMA)環境の分析を行い、移行に伴い変更がある機能 / 互換性レベル変更の影響 / 新環境の推奨情報を確認
Microsoft® Data Migration Assistant v5.0
https://www.microsoft.com/en-us/download/details.aspx?id=53595
Data Migration Assistant (DMA)
https://blogs.msdn.microsoft.com/datamigration/dma/
Data Migration Assistant の概要
https://docs.microsoft.com/ja-jp/sql/dma/dma-overviewSQL Server データベースを Azure SQL Database に移行する
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-migrate-your-sql-server-database
Database Experimentation Assistant (DEA)SQL Server の環境の変更 (アップグレード/新しいインデックスの設定後の確認等) による影響を確認するための「A/B テスト」を実施することができるソリューション(SQL Database / Managed Instance / SQL Server on Linux もサポート)
Microsoft® Database Experimentation Assistant 2.6
https://www.microsoft.com/en-us/download/details.aspx?id=54090
Release: Database Experimentation Assistant (DEA) v2.6
https://blogs.msdn.microsoft.com/datamigration/2018/08/06/release-database-experimentation-assistant-dea-v2-6/
日本語版 SQL Server でレポートを作成する場合、DEA からの接続に使用する
ログインの言語をEnglish に変更
ログインの言語設定の変更
DEA により作成されるレポート
DEA を使用した分析の流れ①分析対象のクエリをキャプチャ
②クエリの再生
③再生結果の分析
SQL Server
DEA
①キャプチャの設定をDEA から投入
Application
②クエリを実行③トレースを生成
トレースファイルSQL Server
①クエリを再生
再生結果 ②再生結果を生成
クエリの再生は環境 A/B に対して実行し、両環境の結果を取得
分析データ格納用
SQL Server環境 A
再生結果
環境 B
再生結果
DEA
DEA
①再生結果を比較 / 分析
②分析結果からレポートを生成
注意事項
ユーザー データベースバックアップの互換性
ユーザーデータベースのバックアップは、上位バージョンにリストア可能
ログファイルのバックアップの活用
SQL Server データベースのバックアップと復元
https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/back-up-and-restore-of-sql-server-databasesログ配布について (SQL Server)
https://docs.microsoft.com/ja-jp/sql/database-engine/log-shipping/about-log-shipping-sql-server
システムデータベースの移行システムデータベースは「同一バージョン」でないとリストアすることはできない
システムデータベースに含まれるオブジェクトの移行はユーザーデータベースとは異なる方法で検討
https://support.microsoft.com/ja-jp/help/918992/how-to-transfer-logins-and-passwords-between-instances-of-sql-server
https://docs.microsoft.com/ja-jp/sql/sql-server/failover-clusters/troubleshoot-orphaned-users-sql-server
https://docs.microsoft.com/ja-jp/sql/relational-databases/replication/replication-backward-compatibility
データベース以外に格納されている関連情報についての考慮
SQL Server のインストールパラメーターが不明な場合
SQL Server 構成マネージャーで設定する項目
OS の設定
https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/scm-services-change-the-service-startup-account
• ボリュームの保守タスクを実行• メモリ内のページのロック
BACPAC ファイルSQL Database の移行で利用される機会の多い、DB のエクスポートファイル
データベースのスキーマとデータを含んだ ZIP 圧縮されたファイル
BACPAC による移行は「新しいデータベース」として作成される
Azure SQL Database を BACPAC ファイルにエクスポートする
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-export
BACPAC ファイルを新しい Azure SQL Database にインポートする
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-import
SSMS を使用した BACPAC のエクスポート
SQL Server からエクスポート SQL Database からエクスポート
SQL Server / SQL Database の両環境で DB をエクスポートすることができる
データの同期レプリケーション
Data Sync 2.0SQL Server
パブリッシャー(同期対象 DB)
ディストリビューター(同期制御 DB) SQL Database
サブスクライバー(同期先 DB)
プッシュサブスクリプション
SQL Database へのレプリケーションhttps://docs.microsoft.com/ja-jp/sql/relational-databases/replication/replication-to-sql-database
Sync data across multiple cloud and on-premises databases with SQL Data Synchttps://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-sync-data
同期エージェント SQL Server
SQL Database
SQL Database(論理サーバー)
メタデータ DB 同期グループ(同期の論理単位)
ハブデータベース
(同期対象)
トランザクションレプリケーションとData Sync で同期するためには主キーが必要
注意事項
Database Migration Assistant による性能の試算
DMA の SKU recommendation を使用することで、既存 SQL Server 環境を移行した際の必要性能を試算できる
試算するためには次の作業を実施
Identify the right Azure SQL Database/Managed Instance SKU for your on-premises databasehttps://docs.microsoft.com/en-us/sql/dma/dma-sku-recommend-sql-db?view=sql-server-ver15
Azure Database Migration Service (DMS)
Microsoft / Microsoft 以外のデータベースを Azure にマイグレーションするためのサービス
DMS は Azure の仮想ネットワーク内のリソースとして作成し、DMS からアクセス可能な DB の
移行を行う
Azure Database Migration Service
https://azure.microsoft.com/ja-jp/services/database-migration/
FAQ about using the Azure Database Migration Service
https://docs.microsoft.com/en-us/azure/dms/faq
Azure Database Migration Service とは
https://docs.microsoft.com/ja-jp/azure/dms/dms-overview
DMS
Azure仮想ネットワーク
Azure 社内 他クラウド
移行元 / 移行先
DMS の仮想ネットワークからアクセス可能な範囲が移行対象
オフライン移行 / オンライン移行オフライン移行 (Standard / Premium)
オンライン移行 (Premium)
システム停止
データ移行 システム切り替え
初期データ移行 増分移行
システム停止
最終データ移行 システム切り替え
DMS が提供する移行パターン次の移行パターンを利用することが可能
ソース (移行元) ターゲット (移行先) ステータス
SQL Server SQL Database
GAManaged Instance
SQL Server on VM
MongoDB Cosmos DB GA
Private Preview の申し込みサイト
https://dmspreview.azurewebsites.net/
Azure Database Migration Service によってサポートされる移行シナリオの状態
https://docs.microsoft.com/ja-jp/azure/dms/resource-scenario-status
ソース (移行元) ターゲット(移行先) ステータス
SQL ServerAzure SQL Database GA
RDS for SQL Server
SQL Server
Managed InstanceGA
RDS for SQL Server
Oracle Private Preview
MongoDB Cosmos DB GA
MySQLAzure DB for MySQL GA
RDS for MySQL
PostgreSQL
Azure DB for PostgreSQLGA
RDS for PostgreSQL
Oracle Public Preview
PostgreSQL Azure DB for PostgreSQL
Hyperscale (Citus)GA
RDS for PostgreSQL
オフライン移行 オンライン移行
オフライン移行移行元で更新を停止した状態にしてデータベースの移行を実施する方式
SQL Server → SQL Database のオフライン移行
https://docs.microsoft.com/ja-jp/azure/dms/tutorial-sql-server-to-azure-sql
SQL Server → Managed Instance へのオフライン移行
https://docs.microsoft.com/ja-jp/azure/dms/tutorial-sql-server-to-managed-instance
オフライン 移行の流れSQL Server → SQL Database
SQL Server → Managed Instance
①スキーマの移行
SQL Server SQL Database
スキーマを移行
②データ移行の開始
DMS SQL Server
SQL Database
①DMS がデータをエクスポート
②DMS がデータをインポート
DMS
バックアップの取得とリストア
SQL Server
共有フォルダー BLOB ストレージ
①DMS がバックアップ要求を送信
②SQL Server が共有フォルダーにバックアップを取得
③DMS がバックアップをBLOB ストレージに移動
Managed Instance
⑤Managed Instance がBLOB ストレージから
バックアップをリストア
④DMS がリストア要求を送信
オンライン移行最小のダウンタイムで移行を実施するため、増分データ同期を実施できる機能
次の組み合わせの Online Migration 機能を提供
Migrate SQL Server to Azure SQL Database online using DMS
https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online
Migrate SQL Server to Azure SQL Database Managed Instance online using DMS
https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-managed-instance-online
Migrate MySQL to Azure Database for MySQL online using DMS
https://docs.microsoft.com/en-us/azure/dms/tutorial-mysql-azure-mysql-online
Migrate PostgreSQL to Azure Database for PostgreSQL online using DMS
https://docs.microsoft.com/en-us/azure/dms/tutorial-postgresql-azure-postgresql-online
SQL Database へのオンライン移行で利用される機能
データ移行には、移行元 (SQL Server) で次の機能が利用される
データベースの復旧モデルは「一括ログ復旧」「完全復旧」のいずれかを設定
Known issues/migration limitations with online migrations to Azure SQL DB
https://docs.microsoft.com/en-us/azure/dms/known-issues-azure-sql-online