はじめに
本記事では、
Microsoft SQL Server(以下SQL Server)をAWSからOCIに移行する方法を纏める
Cloud製品について
AWS : Amazon RDS for SQL Server
OCI : Compute
OCIでの実装方法は2通り存在する
①ORACLE Cloud Marketplace提供のサーバイメージを利用する方法
と、
②OCI コンピュートインスタンス(以下Compute)上にSQL Serverをインストールして構築する方法
である
本記事では、②の流れで紹介をする
- ORACLE Cloud Marketplace
- OCI コンピュートインスタンス
構成イメージ図
基本方針/前提
- 移行元となるAWS環境
- RDSおよび SQL Server Management Studio(SSMS)がインストールされたEC2 Instanceが既に存在するものとします
- RDSが移行元対象データベースとします
- 参考:https://qiita.com/sugimount-a/items/d94c890a03afb7f63bda
- 移行方法
- データベースを丸ごとバックアップし移行先で復元する手法、を採用します
- 参考 : https://www.cloud-for-all.com/azure/blog/migrate-sql-server-data
- 移行先となるOCI環境
- SQL ServerおよびSSMSがインストールされたComputeを用意する
- このComputeが移行先対象データベースとします
1. OCI環境準備
1-1 ネットワーク(VCN),Compute(Windows Server)作成
こちらを参照ください
https://oracle-japan.github.io/ocitutorials/beginners/
本記事では、Server 2022 Standard のインスタンスを作成した
1-2 computeの日本語化
参考記事はこちら
https://qiita.com/Skogkatter112/items/ee834376bbc7dab5bc56
デスクトップから、スタートボタン クリック
Server Manager を開く
Local Server を選択
IE Enhanced Security Configuration について、デフォルトOnだがOffをチェック
Windowsシステム・セキュリティを最新化する為、Windows Updateを実施します
setting を開く
choose a language to install で日本語を選択
Optionalについては下図のように選択
download中
設定で一度sign outが求められる。yesで継続
下図の通り、日本語が反映される
改めて設定を表示すると、地域、言語が変わっていることが分かる
設定->言語 の内容は下図の通り
タイムゾーンの変更は管理者として実行する
デスクトップの検索のボックスで、timedate.cplを呼び出す
日付と時刻が表示される
タイムゾーンの設定を表示
タイムゾーンの選択肢の中から、
(UTC+09:00) 大阪、札幌、東京
を選択
設定が反映されたことを確認
時刻が変更されていることを確認
1-3 SQL Server インストール
本記事では無償版として、SQL Server 2022 Developerをインストールする
以下のリンクへアクセスする
下図の箇所からダウンロードを行う
インストーラを適切な場所に配置し、ファイルを開く
基本、を選択
同意する、を選択
インストール場所を指定
インストール中
インストール完了
1-4 SQL Server Management Studio インストール
インストール後は、
引き続き、SQL Server を管理・開発するには欠かせない、
SQL Server Management Studio (SSMS) をインストールする
以下リンクへアクセス
ダウンロードのリンクはこちら
使用できる言語、で日本語版を選択
ダウンロードしたインストーラを実行し、インストールを開始する
デバイス変更の許可は、はい、で続行
インストール中
セットアップ完了
1-5 SSMSでデータベース 接続
スタートメニューから、SSMSを起動
サーバへの接続、画面
この状態で接続、を行うと...
エラーが出ます
サーバー証明書を信頼する、チェックを入れる
接続成功
2. 移行元/移行用のデータベース準備
読者様の環境には既にSQL Serverの環境があり、
移行対象のデータベース、データも定まっているかもしれません
この記事では移行用のサンプル環境を構築する手順も記載します
必要に応じて、本項はスキップ下さい。
2-1 SQL Server Management Studio (SSMS) を使用して、データベース作成
「 データベース 」 で右クリックをし 「 新しいデータベース」 を選択
今回は設定は何も変更せずにデフォルトのままで作るので、
データベース名に Test と入力し、 「 OK 」 をクリック
Test データベース作成完了
データベースを作成すると、
データ用のファイル (拡張子: mdf) とログ用のファイル (拡張子: ldf)
の二つのファイルができます。
それらのファイルが実際どこにできたか、確認します
Test データベースを右クリックして 「 プロパティー 」 を選択
左側の 「 ファイル 」 を選択し、
右側の項目をスクロールしていくと 「 パス 」 や 「 ファイル名 」 が確認できます。
2-2 SQL Server Management Studio を使用して、テーブル作成
今回はサンプルとして学生の情報を保存する
Students という名前のテーブルを作成していく
オブジェクトエクスプローラーで、
Test データベースの 「 テーブル 」 で右クリック
新規作成->テーブル を選択
カラムを入力する画面が出てくるので、次のようにカラムを入力します。
列名 | データ型 | Null を許容 |
---|---|---|
StudentID | INT | |
FirstName | NVARCHAR(50) | ✓ |
LastName | NVARCHAR(50) | ✓ |
Birthday | DATE | ✓ |
Gender | CHAR(1) | ✓ |
2-3 プライマリーキー(主キー)設定
今回は StudentID をプライマリーキーにしたいので、
StudentID で右クリックをし 「 主キーの設定 」 を選択
StudentID の右横に鍵マークがつく
「 保存 」 ボタンをクリックすると、
テーブル名の入力ボックスが出てくるので 「 Students 」 と入力して、
「 OK 」 をクリック
オブジェクトエクスプローラーに戻って、
リフレッシュボタンをクリック
Tables の下に 「 Students 」 テーブルができている
2-4 SQL Server Management Studio を使用して、データ挿入
オブジェクトエクスプローラーで、Students テーブルを右クリックし、
「 上位 200 行の編集 」 を選択
次のようにデータの入力できる画面が表示される
このエディタでデータを挿入・変更・削除することができます
表計算ソフトにデータを入力するような感じで、
データを入力することが可能
以下のデータを入力する
StudentID | FirstName | LastName | Birthday | Gender |
---|---|---|---|---|
1 | Taro | Yamada | 1980-02-15 | M |
2 | Hanako | Tanaka | 1979-12-30 | F |
3 | Yuko | Suzuki | 1979-07-07 | F |
4 | Takao | Sato | 1980-03-12 | M |
挿入したデータを、クエリーで取得して確認する
SQL Server Management Studio の UI から挿入したデータを、
クエリーで取得して確認してみる
ツールバーの 「新しいクエリ」 をクリックしてクエリエディタを開く
SELECT * FROM Students; と入力し、
緑の枠の選択されているデータベースが 「 Test 」 になっていることを確認し、
「 実行 」 ボタンをクリック
先ほど、挿入したデータが結果グリッドに表示される
3. 移行元 バックアップの取得
SSMSにて、移行対象データベースを右クリック
タスク -> バックアップ を選択
データベースのバックアップ、画面が表示される
ソース の項目はデフォルトのまま、
バックアップ先で 追加 をクリック
バックアップ先の選択、画面が表示される
「...」をクリックし任意の場所を選択し、OKをクリック
指定したバックアップ先のパスが表示されていることを確認し、OKをクリック
正常に完了した旨、ポップが表示される
OKをクリック
指定パスをエクスプローラで開く
バックアップファイルが作成されていることが確認できる
本記事では以下のパス・ファイル名としている
- パス
- C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup
- ファイル
- test20241212.bak
4. 移行先 バックアップからの復元
SSMSにて、オブジェクトエクスプローラの中の、データベースを右クリック
データベースの復元をクリック
データベースの復元、画面が表示される
ソース の デバイス を選択し、「...」をクリック
バックアップデバイスの選択、画面が表示される
バックアップメディア で 追加 をクリック
バックアップファイルの検索、画面が表示される
移行元で取得したバックアップファイルを移行先サーバへ移動させ、
そのファイルを選択し、OKをクリック
OKをクリック
データベースの復元、画面に戻ってくる
「バックアップメディアの検証」をクリックすると、
「バックアップメディアの検証に成功しました」と表示される
OKをクリック
データベースの復元に成功した旨、表示される
OKをクリック
「Test」データベースが新たに表示される
テーブルの中身を確認するため、
Test -> テーブル -> dbo.Students を右クリックし、
上位1000行の選択 をクリックすると、
サンプル作成したデータが表示される