How to: Dynamics NAVをAzure SQL上で構築する
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」を再度クリックします。
あとは、インスタンスを開始して完了です。
コメントを残す