Thursday, June 19, 2014

NAV 2013 R2 - How to Restore Selected companies - Powershell (Using SQL Database).

Hi all,

As discussed in earlier post, we will see how to take Restore backup in a new database. In this post we will list down the steps to restore the backup taken using Powershell.

UPDATE - IF you face issues of Schema During This Process Please refer the Post Here for Issue Resolution.

If you haven't read the Previous post, please refer Index Post here.

From the Task Performed in Earlier Posts Backup From Powershell, i have below files as shown Below -





What if i have received a file from someone else and i Don't know what exactly the each file Contain?

Microsoft have provided a Commandlet for the same i.e Get-NAVDataFile.

This Commandlet takes file Location and Name as parameter and returns the details of Content of the backup File.

Open Powershell and Let's check the two file content using Get-NAVDataFile =

--------------------------------------------------------------
Get-NAVDataFile -FileName "c:\All_Comapniesbackup.navdata"
---------------------------------------------------------------



So its clear from the Result of Commandlet that the above file contain 4 Companies with IncludeApplication, IncludeApplicationData & IncludeGlobalData.

Let's try to Restore the backups.

1.Search for Import-NAVData Commandlet in Command Addin.

2. If you see there are multiple options in Import-NAVData as listed below (For Database Options)-

1. UseDatabase_AllCompanies
2. UseDatabase_SomeCompanies

1 & 2 can be used even if the server instance is stopped or not available.

Out of these we will not demonstrate UseDatabase_AllCompanies, because it like SQL Restore.

In this post we will see UseDatabase_SomeCompanies.

Let's see how to use each of them.

For Demo i have Restored the Demo Database Backup with Name Restore_Demo_2013R2 with Single Company Test as shown below.



1. UseDatabase_SomeCompanies
I am using the Backup taken From Direct Database Connection as per earlier Post.
File Name - All_Comapniesbackup.navdata

Below are parameters of the command-lets 1 -

1.  Database Name - The Database name in which you want to Restore.
2.  File Name - The File Path and name where backup is placed (ends with Extension => .navdata).
3.  ApplicationDatabaseName - Used in Multitenat (Discuss Later in separate post)
4.  ApplicationDatabaseServer - Used in Multitenat (Discuss Later in separate post)
5.  Company Name - Name of the Company You want to Restore from Backup.
    * IF Company Name contain multiple Words put it in ''.
6.  Database Server - Server Name where the database is placed.
7.  Include Application - Want application objects or not.
8.  Include Application Data - Want  data that defines the application in the database.
9.  Include Global Data - Want Data common to all companies or not.

As shown below is the parameters set for the restore.



Below is the command generated for the two selected companies restore.

-------------------------------------------------------------------------
Import-NAVData -DatabaseName Restore_Demo_2013R2 -FileName c:\All_Comapniesbackup.navdata -CompanyName A,B -DatabaseServer INDEL-SXD6995NB -Force
-------------------------------------------------------------------------
** As i only need data specific to Company A & B, i will not select IncludeApplication, IncludeApplicationData & IncludeGlobalData.

Run the command and backup will be restored in the database.



In the Next post we will see the how to restore backup taken from Service Tier.
Hope you find the information useful.

Stay tuned for more.

Regards,
Saurav Dhyani
saurav-nav.blogspot.com

No comments:

Post a Comment