Hey Everyone! In this blog, we are going to learn about Migrating RDLs in an Automated manner.
Listed below are key things that you will require.
- RDL Migration tool set up in your PC
- A premium workspace
- An application ID
- SQL Server Report Server Configuration
Alright, so let’s begin the process.
1. RDL Migration tool set up in PC -Go to the following link Releases · microsoft/RdlMigration · GitHub Here you shall see a ZIP file under the Asset section. Download and extract all the files on Your Local PC.
-After that you can create a new folder in your C Drive Name it rdl migration and copy and paste all the core files in there. See the Snap below for now you can ignore the output and conversion log.
2. Premium Workspace Setup
-Go to Powerbi.com, Open PowerBI Service and create a Premium Workspace and Name it Automated Migration. Just in case if you don’t have Premium Workspace, you can choose to activate your PPU Trial. See the snaps below for reference:
Expand the Advance Option and choose values as per your necessary requirements
The icon indicates that it is a Premium Workspace.
3.Generate an Application ID
Head over to Following link: https://app.powerbi.com/embedsetup
Here I have opted to Embed for your customer, you can choose enterprise if it’s your requiremnt and you shall next see the basic screen as shown below:
Then sequentially enter the details as required.
Register your application – Give a Name to your Application, after you hit for next step you shall observe that app id is already generated in the Summary Section
Copy the App ID and Save it somewhere.
Create a workspace – You can skip that as we have already created one
Import Content – Give the Necessary 3 Permission as –
-Read and Write all Dataset
-Read and Write all Reports
-Read all workspaces
Grant the Permission to register.
Once the registration is successful, you can see the registered app in Azure App registrations by signing in to your Azure Portal.
4.SQL Server Report Server Configuration
Click on the Search Button and look for Report Server Configuration Manager App, in case if you don’t have it install it. Also, make sure you have the SSRS instance in your system. Following is the download link: https://www.microsoft.com/en-us/download/details.aspx?id=100122
Next, open your Configuration Manager App and configure it with your local server
You shall see the following connection status and enter the necessary details, Below are the snaps of my input details:
Hit apply every time you go to the next step
You can also change the Database name as you like and see the one reflected in your SSMS
And here we observe that there are 2 main links that we require – Webservice URL and WebPortal URL. When you click on each of it you shall see something like this as shown below:
You can upload your RDL file here on the Portal URL and see the record entry on the Service URL.
This is how you have successfully configured everything that is essential for an automated Migration.
Here Comes the Final show:
For your automated magic to happen you then have to open your Powershell and type in the following commands as shown in the snap below:
Change the directory: cd C:\rdlmigration
Actual Command: ./RdlMigration.exe http://laptop-161df1r3/ReportServer “/Lab5D” “AutomatedMigration” 852651d5-bab5-4dfe-820c-0d9122bfd937
-We are triggering the rdl migration tool – ./RdlMigration.exe
-Giving the server name where we have the record of RDL – http://laptop-161df1r3/ReportServer
-Give the source file name or folder name using the forward slash – “/Lab5D”
-Give the destination where you want to migrate your file which is nothing but our workspace – “AutomatedMigration”
-Give your App ID which was generated
And boom! You are done! : B
It will give you failed status if the Data source can’t be converted.
Verify that file on your workspace and see the original and converted file in your C drive under the output folder. In case it fails it shall have only the original copy but not the converted copy of your RDL. It will also have a conversion log file in there which has the record of PowerShell commands.
Thankyou for reading.
Hope this article has helped you and if you like it Do share it with your friends, partners, clients and everyone in need.