Azure

Azure - Azure SQL Server/database 制約と移行方法(説明編)

投稿日:2019年5月15日 更新日:

このページでは、Azure SQL Server/databaseの特徴的な仕様について説明する。このページに書いてあることは、ネットで検索してもなかなか出てこないので、たどり着いた方はしっかり理解しておいてほしい。

特に特徴的なバックアップ・リストアの手順を説明するために、画像を取っていたが、枚数が多いため、別ページを作り説明するようにした。そちらも併せて参照。

Azure - Azure SQL Server/database 手順編

Azure - Azure SQL Server/database バックアップリストア(手順編)

このページでは、Azure SQL Server/databaseのバックアップ・リストア手順を説明する。仕組みについては、こちらのページを参照。 Azure - Azure SQL Server/d ...

続きを見る

 

バックアップファイルのリストアと移行方法に制約

ポイント

Azure SQL Server/databaseはオンプレで使用していた「.bak」形式でのデータベースのリストアができません。.bacpac形式でデータをエクスポート・インポートしないといけません。手順でいうと、”データ層アプリケーションのエクスポート・インポートです。”そのため、オンプレミスからの移行は、少々厄介です。

理由を説明します。

 

制約が発生する理由と検証結果

.bakファイルのリストア

ポイント

オンプレのSQL Serverで出力した.bakはAzure SQL Serverにリストア出来ません。画像のように、エラーになります。

 

Azure SQL Server/databaseは共有テナント型のデータベースです。

オンプレで作成した.bak形式のデータベースは、SQL Serverのマスター系データベースやmdfのサイズ記録を保持します。これは、Azure SQL Server/databaseでは、ユーザに開放していない管理領域となるのため、エラーになります。

 

メモ

.bacpac形式でリストアしても、オンプレのSQL Server内に存在するログインユーザが原因でエラーになることがあります。Azure SQL Serverとしてはログインユーザの仕組みは、ユーザに開放していない領域になるため、インポート時にエラーになります。

手順はこちらを参照

 

ソフトウェアバージョンが違う

オンプレのSQL Server(データベース)とAzure SQL Server/databaseは似て非なるものです。管理領域が異なります。

Azure SQL serverやオンプレのSQL Serverに Select @@version とコマンドを打つとソフトウェアとしても違うということが理解できます。

ポイント

オンプレは、Microsoft SQL Server 2017と表示され、Azureは、Microsoft SQL Azureと表示されています。

 

.bakファイル形式のバックアップ作成

バックアップを.bak形式で出力することもできせん。Azure SQL Server/databaseにManagement Studioで接続して、いつものようにファイル出力をしようとするとタスク自体がありません。

 

 

ノウハウ・注意点

Microsoftのドキュメントの見方なのです。

ぱっと見、Azure SQL Serverの説明のように見えます。しかし、上で書いた通り、別ものなので勘違いしやすいです。SQL ServerとAzure SQL Serverは異なります。画像の通りだと、Azure SQL Databaseが×になっているため、説明ページはAzure SQL Databaseの説明ではない。(関係ない)ということになります。最初に確認するようにしましょう。

引用:https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/create-a-full-database-backup-sql-server?view=sql-server-2017

 

移行方法の提案とリストア方法

オンプレからAzureへのSQL Server移行は以下の手法がセオリーになります。

ポイント

  1. オンプレで.bacpacを出力
  2. ストレージアカウントに.bacpacを移送
  3. ストレージアカウントの.bacpacを指定して、Azure SQL databaseにファイルリストア
  • オンプレでデータ層アプリケーションのエクスポート

 

  • 出力されたファイルをBLOBストレージにアップロード
  • Azure SQL Serverの画面でデータベースのインポート
  • ストレージ上の.bacpacを選択して、リストア実行

詳細な手順はこちらにまとめました。参照ください。

Azure - Azure SQL Server/database 手順編

Azure - Azure SQL Server/database バックアップリストア(手順編)

このページでは、Azure SQL Server/databaseのバックアップ・リストア手順を説明する。仕組みについては、こちらのページを参照。 Azure - Azure SQL Server/d ...

続きを見る

 

Microsoft Data Migration Assistant

別案として、MDMA(Microsoft Data Migration Assistant)という仕組みも用意はされています。

しかしどうも、昔かたぎのエンジニアなので、ファイル形式で移行したくなります。そのため、これについては検証もしていないですし、よくわかりません。気になる方は検証して、実際の開発に取り入れるか検討ください。

引用:https://blogs.msdn.microsoft.com/dataplatjp/2016/09/28/sql-server-integration-services-ssis-%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/

 

ノウハウ・注意点

ポイント

Azure SQL database マネージドインスタンスというサービスもありまして、これまたAzure SQL Server/databaseサービスとは異なります。

似た名前がいろいろあって混乱しますよね。

マネージドインストは.bakからのリストアが出来ると書いてありますが、利用料金高いんですよねー。だから試したことないです。

ここで言えるのは、スペック記載の内容での比較くらいです。よかったら試してみてください。

引用:https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-quickstart-guide

引用:https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-managed-instance-get-started-restore

おすすめ記事

1

敬愛してやまない大芸人であるコウメ太夫様が毎日実施されているツイート(#まいにちチクショー)を元に、機械学習初心者がPythonのプログラミングでデータ収集と学習を行い、コウメ太夫様っぽい文章を自動生 ...

2

正直私も最初はUdemyなんて聞いたことないし怪しいなと思いました。でも、今では実際に25講座ほど購入済みです。そんな私がUdemyの評判やお得な講座購入方法について書いていきます。   目次 Ude ...

3

先日AWSソリューションアーキテクトアソシエイト(AWS SAA)に一発で合格しました。スコアは800点台の後半でした。 世の中にはたくさんAWS SAAの合格体験記がありますが、私もこのサイトに合格 ...

4

この記事は、技術系ブログ運営の実情と運営するメリットについて詳しく書いていく。これから技術系ブログを始めたいと思っている人は、よく読んで参考にしていってください。そして、この記事を参考に技術系ブログを ...

-Azure

Copyright© CLOUD IT FUTURE , 2020 All Rights Reserved.