MS SQL is a Global ODBMS Leader

A few days ago, I’ve wrote about place of Power BI in Gartner survey about BI & Analytics solutions. Power BI was a global leader on Gartner Magic Quadrant. Now, we have new Gartner story about Operational Database Management Systems. For the first time, MS SQL is an absolutely leader and on better position in comparison with Oracle database.

ODBMS Gartner.jpg

The operational database management system (DBMS) market is concerned with relational and nonrelational database management products suitable for a broad range of enterprise-level transactional applications. These include purchased business applications, such as those for ERP, CRM, catalog management and security event management, and custom transactional systems built by organizations’ own development teams. Also included in Gartner’s definition of this market are DBMS products that support interactions and observations as new types of transaction. (from Gartner)

Microsoft deserves this position because they market its SQL Server DBMS for the operational DBMS market, as well as the Microsoft Azure SQL Database (a DBMS platform as a service), and the NoSQL DBMSs Microsoft Azure DocumentDB and Azure Tables.

It is very important that Microsoft continue with working on enterprise SQL Servers and on Azure SQL as well. And finally about NAV. Microsoft Dynamics NAV (from NAV 2016) works on both of these SQL versions and I think this cooperation between strong database and ERP solution will continue to deliver amazing business solutions.

Advertisements

Administering Azure SQL

Now we have Microsoft Dynamics NAV 2016 on Azure SQL Server, I’m getting a lot of different questions about this topic. One of them is related with database administration.

If you want to administer Azure SQL Server, you can do it through SQL Server Management Studio. You just need to use your full Azure database name (YourDatabaseName.database.windows.net) and login to database using SQL Server authentication. Of course, previously you have to add your IP address to Azure SQL firewall.

But unfortunately, you cannot use SQL Server Profiler for Azure SQL (maybe in future, but currently not). You can use some other useful tools, for example Index Advisor.

Also, you cannot use SQL Agent on Azure SQL. The most of tools we used to are not available. But, instead SQL Agent we have feature on Azure as Scheduler. To use this, you need to create your new mobile service on Azure for your database. More about this tool, you can find here and here.

Development Environment on Azure SQL

After my session on NAV TechDays about deployment of NAV 2016 on Azure SQL Server, I got a lot of questions about using Development Environment in this situation.

Using Development Environment can be done absolutely normal. If you want to use DE from your local computer, first you have to add your IP address to Azure SQL firewall (SQL Databases > Servers > choose server > Configure). You can do it to allow connection between your computer and Azure SQL server.

DE01

After that, open Development Environment and type your full Azure SQL server name to Server Name (xxxxx.database.windows.net), choose Database Server Authentication, your username and password and on the end normally choose your database.

DE02

You can work with design, but if you want to open table for example, you have to make some additional configurations. Before it, you have to make connection between your local NAV Windows Client and Azure VM. You need to use certificate and encryption key. After you configure them, everything will be OK.

If you want to use Development Environment directly on Azure VM, you just need to open DE and login to Azure SQL server (I already described), nothing else. In this situation you can work what you want.

DE00

You can see it on previous picture. Database is opened from Azure SQL and you can do everything as you used to.

How to Deploy BACPAC on Azure SQL

This topic is in connection with my session “Deploying and Managing Dynamics NAV 2016 with Azure SQL Database” on NAV TechDays 15 and I want to continue my previous article.

Before I start with BACPAC deployment, first I have to make a small correction of my previous article. Last time, I forget one important thing. Before you create BACPAC file, you have to delete all Windows users from your source database.

You can do it in following way. In SQL Server Management Studio, find your source database and collapse it until you find Security > Users. Then check all users (right-click > Properties > General).

You need to check User Type field; if you find Windows User, you need to delete it. Right-click on this these users and choose Delete.

sql1

Now, you can continue with all steps I’ve already described in previous article. Now, we can start with deployment.

First, we have to have Azure subscription and create Azure SQL Server. When you open your Microsoft Azure Portal (https://manage.windowsazure.com), choose SQL DATABASES and choose SERVER tab. Click ADD and type your Login Name, Login Password, Region and click on Complete.

sql2.png

You will get some weird name as Azure SQL Server. Click on this SQL Server, go to DASHBOARD tab and copy this SQL Server name. Add .database.windows.net to your SQL Server name; this will be your full SQL Server name. Now, go to CONFIGURE tab and Add Allowed IP address to Azure SQL firewall. This step is necessary if you want to use this SQL Server from your local computer (with this step, you added your computer IP address to Azure). Every time you want to connect from some other computer to your Azure SQL Server, you have to repeat this step.

Now, you need to make connection from your SQL Server Management Studio to your Azure SQL Server. In Server Name, you need to type your full Azure SQL Name and your Login and Password.

sql3

When we make connection, we can start with deployment. Go to Database, right-click and choose Import Data-tier Application. You need to choose your BACPAC file, your target Database file and continue until system finish with deployment.

sql4.png

Now we can check result. We can find new database on SQL Server Management Studio on Azure SWL connection. Also, we can see in on Azure Portal; choose DATABASE tab on SQL DATABASES.

In process of deployment, it is possible to have one issue. This is situation if you can only select the obsolete service tiers of Azure SQL Database, Web and Business, with a maximum database size of 150 gigabytes (GB), when you try to set target database. Of course, in this situation, there is no option to select the new service tiers, Basic, Standard and Premium. If you try to upload on obsolete service tiers, you will get the error message.

This issue occurs because SQL Server Management Studio 2014 is not updated to match the current service tier offerings. This issue was first fixed in the Cumulative Update 5 for SQL Server 2014. You just need to install this CU 5 and repeat deployment step.

How to Create BACPAC for Azure SQL

A BACPAC is a Windows file with a .bacpac extension that encapsulates a database’s schema and data. The primary use case for a BACPAC is to move a database from one server to another – or to migrate a database from a local server to the cloud. I’ll write about BACPAC because I want to introduce you with NAV 2016 database migration to Azure SQL Server. I already had a session with this topic on NAV TechDays in Antwerp and I want to introduce more people with this processes.

If you want to prepare BACPAC file from your NAV 2015 database, you need to run Microsoft SQL Management Studio and find your local database from where you want to create BACPAC file.

SQL1.png

Right-click on database and choose Task > Extract Data-tier Application. Click Next and choose where you want to save your BACPAC file.

If you want to save it on local HDD, choose “Save to local disk” and browse the location where you want to save this file on your local computer.

SQL2.png

If you want to deploy it to Azure storage, choose “Save to Windows Azure”, click Connect and type your Storage Account and Storage Key and choose Container. If you want to change BACPAC temporary name and location, change the file name and browse the location. This temporary file and location is file where system will put BACPAC file before it’ll be uploaded to Azure storage; after that system will delete it. Click Next and Finish and wait. System will create BACPAC file.

NAV on Azure SQL on NAVTechDays

Last week we finished one of the best NAV conferences this year. NAV Tech Days this year had about 950 NAV passionate attendees from all around the world. Everything in organization was the amazing; Luc did a great job.

This NAV Tech Days was very special for me, because I was the speaker on this conference for the first time. My topic on NAV Tech Days was “Deploying and Managing Dynamics NAV 2016 with Azure SQL Database”. This is something new in Microsoft Dynamics NAV 2016. I know, a lot of partners still not use NAV on Azure, but by my opinion this feature can move all of us forward. Azure SQL can save a money and we finally have a good tool for managing our multitenant environment – Management Service Portal.

I gave a word to people on my session that I’ll publish my presentation and PowerShell scripts on my blog. You can find them here:

In few following scripts, I’ll describe all details about using NAV 2016 on Azure SQL Server and give you some answers on additional questions I already got.

2015-11-23_13-19-19.png

NAV 2016 System Requirements

Since begin of August, I’ve tried to research what are the minimum system requirements for Microsoft Dynamics NAV 2016. First I’ve published one post about it, but I’ve deleted it. It wasn’t completed. Now, I have the freshest tested information and I hope everything will be fine in the production, as well.

In this process I’ve checked only NAV and Web Server and Windows Client requirements. You can find all my conclusions in following text. But you must to know, there are not officially requirements; these requirements are based only on my testing.

Supported Operating Systems (Server and Windows Client)

First, NAV Sever works only on 64-bit edition of operating systems. I’ve concluded that these OS are completely qualified as base for NAV and Web Server:

  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016 (Technical Preview 3)
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows 10

You can see I’ve also checked installation on next Windows Server release – Windows Server 2016 (Technical Preview 3) and everything was working fine.

Older OS as Windows Server 2008 R2 and Windows 7 also require some additional software as Windows PowerShell 3.0. You can download Windows PowerShell 3.0 as part of Windows Management Framework 3.0.

Also, all these operating systems require enabled Windows Search. If this is not enabled on your server, you can do it adding new Windows Search role in Server Manager.

If you want to run Microsoft Dynamics NAV 2016 Windows Client, you can do it on the same operating systems, but you can do it on both of them, 64-bit or 32-bit editions. If you install Windows Client on some of the 64-bit edition OS’s, you will get two Windows Clients (32-bit and 64-bit); 64-bit will be by default, but you can change default client as well. But if you install on 32-bit OS edition, you will get only 32-bit Windows Client. I will explain more about it in new post.

SQL Servers

The same situation is as for OS, SQL Servers also require 64-bit editions only. You can use NAV 2016 on following SQL Servers:

  • Microsoft SQL Server 2008 R2 (SQL Server 2008 R2 is out of mainstream support, but I’ve tested NAV 2016 and in my tests everything was fine; but I think we have to make more tests in any case)
  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2014
  • Microsoft SQL Server 2016 CTP2.2
  • Azure SQL Server

You can see that I also check installation on next SQL release – Microsoft SQL Server 2016 CTP2.2 and everything was working fine. This will be helpful in the future with information about new Windows Server.

About using NAV 2016 on Azure SQL, I have to say much more. It is a really good news and I will write a new post only about it.

Hardware sizing

All of these configuration I’ve checked, have worked with minimum 1,75GB RAM.

REMARK:

As I already said, these are not officially Microsoft system requirements. These are information based on my personal testing and they will maybe be different in officially release.