2015年10月にリリースされた「Microsoft Dynamics NAV 2016」からは、Azure SQL上にデータベースを構築できるようになりました。Azure SQL上で稼働させることにより、従来必要だった、SQLサーバの管理やライセンスが不要となり、運用コストもより低く抑えられます。今回は、そのAzure SQLを使ったDynamics NAVを構築してみます。

手順

主に5つのステップで進めていきます。

  • ライセンスの準備
  • データベースの準備
  • データベースのエクスポート
  • データベースのアップロード
  • データベースのマウント

ステップ1:ライセンスの準備

事前にオンプレもしくはIaaS環境にあるライセンスを準備する必要があります。

Dynamics NAVの仕様上、実はライセンスの保管方法は2つあり、「flf」というライセンスファイルをサーバのインストールディレクトリに保存する方法と、SQLデータベース内に格納する方法があります。

Azure SQLサーバでNAVを動作させる場合は、ライセンスを必ずSQLデータベース内に格納しておく必要があるため、無効の場合、Azure SQLへアップロード後に開発環境でエラーとなってしまいます。

まず、オンプレ/IaaS上の開発環境から、Database > Alter Database > Integration内にアクセスし、

対象のデータベースで「Save License to Database」が有効になっていることを確認してください。


ステップ2:データベースの準備

Azure SQLサーバでNAVを動作させるには、データベースに設定されている「Windows認証」を削除する必要があり、SQLデータベース認証のみに対応しています。

SQL Server Management Studioから「Securities」にある、ユーザーを右クリックし、「Properties」を開きます。


 

「User Mapping」に表示されているDynamics NAVのデータベースに対して「Map」にチェックが入っている場合は、外し、OKを押します。


ステップ3:データベースのエクスポート

データベースをエクスポート/インポートするPCでは事前にSQL Server Management Studio (December 2015 Preview)以降のインストールが必要です。

方法はこちらの記事「How to: SQL Management Studio 2016 CTPのインストール」で確認してください。

オンプレ/IaaS上のデータベースをまず「BACPAC」形式でエクスポートします。

BACPACとは、AzureSQLへアップロードするためのバックアップファイルです。

BAKファイルとは違いますので、要注意です。

該当のデータベースを右クリックし、「Tasks」の「Export Data-tier Application」を選択します。


 

「Export Data-tier Application」のウィザードが立ち上がります。「Next」をクリックします。


 

保存先を選択します。ローカル環境か、Azure上のストレージがあれば、そちらへのアップロードも可能ですが、今回はローカル環境へ保存するので「Save to local disk」を選択します。


 

設定内容を確認し、「Finish」をクリックして、エクスポートを開始します。


 

エクスポート中は、以下のような画面が表示されます。データベースサイズが大きいと、30分以上かかることもあるので、時間に余裕をもってエクスポートしましょう。


 

ステップ4:データベースのアップロード

次に、エクスポートしたデータベースをAzure SQLサーバにアップロードします。

まだAzure SQLサーバを構築されていない場合は、こちらの記事で作成方法を記載してます。

まず、Azure SQLサーバへ接続します。


 

「Databases」を右クリックし、「Import Data-tier Application」を選択します。


 

「Import Data-tier Application」ウィザードが表示されます。


 

「Import from local disk」を選択し、エクスポートしたbacpacファイルを指定します。


 

データベース名を指定し、データベースのプランを選びます。

2016年4月8日時点では、Elasticデータベースは選択できません。

この記事では、「Basic」エディションにしますが、本番環境では最低でも「Standard」エディションを選択してください。


 

設定を確認し、「Finish」をクリックすると、アップロードが開始されます。


 

アップロードには数十分かかる場合もありますので、時間に余裕をもって作業してください。


 

完了すると以下のような画面が表示されます。


 

ステップ5:データベースのマウント

NAV Administration ConsoleからDynamics NAV 2016のインスタンスを追加します。


 

サーバインスタンス名、ポート番号を設定します。


 

インスタンスの詳細設定を開きます。「Database」のタブでAzure SQLサーバのアドレスとデータベース名を指定します。


 

画面右側の「Database Credentials」をクリックし、AzureSQLサーバへのログイン情報を入力します。

データベースの認証方法をWindows認証からSQLサーバ認証へ変更します。


 

OKをクリックすると、以下メッセージが表示されます。「OK」を再度クリックします。


 

あとは、インスタンスを開始して完了です。