Upgrading repository

Piotr Tokarski - Dataedo Team Piotr Tokarski 26th September, 2022
Applies to: Dataedo 10.x versions, Article available also for: 24.x (current), 23.x
You are looking at documentation for an older release.
Switch to the documentation for Dataedo 24.x (current).

Things to keep in mind when upgrading

For Dataedo to work, all components must be in the same major version. So the Desktop in version 10.2 will work with Web Catalog 10.2.2 and Repository in 10.2 but will not connect to a repository in version 10.3. The 10.3.2 version exceptionally also requires an upgrade.

We recommend creating a backup of the repository database before upgrading in case of any issues - these most commonly occur if a network connection is lost during the upgrade.

You can also create a copy of the folder Dataedo Web is running from. If Dataedo Web is running from a virtual machine, it may be easier to create a snapshot of it before the upgrade process.

Dataedo Web- Folder copy

Upgrading Dataedo Web

To upgrade Dataedo Web, connect to the server running Dataedo Web and run the installer.

Dataedo Web installer- Run as administrator

When asked for a location/instance, choose the same option you've selected during installation. The default instance is C:\Dataedo Web.

Dataedo Web- Choose location instance

If unsure where your Dataedo Web is running from, open the IIS Manager, navigate to and select the Dataedo site, then click "Explore" in the top right corner to open the folder in File Explorer.

Dataedo Web - IIS Manager

If you've correctly chosen the instance, the installer will show an option to update Dataedo Web.

Dataedo Web- Run upgrade

If you don't see this option, restart the installer and choose the path correctly. Do not choose the "Install" option! Selecting this option will create another instance of Dataedo, which may cause issues later.

After installation, Dataedo Web will warn about the repository being in an older version. The "Upgrading repository" step below will resolve this.

Upgrading the Desktop application

To upgrade Dataedo Desktop, install the new version on each user's PC.

Dataedo Desktop- New version message

Dataedo Desktop- Download desktop installer

Upgrading Repository

To upgrade your repository, you'll need a user with db_owner role in the database and the default schema set to 'dbo'. We recommend you backup the database before continuing.

Dataedo Desktop- Upgrade repository message

Upgrading the repository from the app

The easiest way to upgrade your repository is through the Dataedo Desktop app. After connecting from Dataedo Desktop, you will be shown a warning cautioning about possible issues with Dataedo caused by upgrading - you can safely ignore these if you've already installed Dataedo Web in the current version.

When asked, choose the "Detach Web Catalog" option twice.

Dataedo- Detach Web Catalog pop up message

Dataedo- Detach Web Catalog confirmation

After the upgrade process finishes, both Dataedo Web and Desktop should be able to connect to the repository.

Upgrading the repository manually

To upgrade the repository manually, first, find out the previous version of Dataedo you used until now. Then, install the new version of Dataedo, and find the Scripts folder in the installation directory (by default, it's C:\Program Files (x86)\Dataedo\Scripts).

To upgrade the repository, you'll need to connect to the repository using SSMS or an equivalent tool, then run all scripts from folders with names higher than your previous version.

For example, to upgrade from 10.2 to 10.3.2, you'll need to run the scripts in folders 10_3 and 10_3_2. First, open the 10.3 folder, and run scripts one by one, ordered by name: Dataedo 10.3 upgrade scripts

Then, go to the 10.3.2 folder, and do the same: Dataedo 10.3.2 upgrade scripts

Some scripts might show warnings - you can safely ignore these. However, if you see an error during any operation, we recommend restoring the repository from the backup and contacting support@dataedo.com to retry the upgrade.

Permissions in Dataedo Web (when upgrading from a version older than 10.2)

From version 10.2, Dataedo includes a feature to control each user's access with roles and permissions within the app. To manage this, open Dataedo Web and choose the "Users" tab. You can find out more here: https://dataedo.com/docs/users-management-dataedo-web-catalog

Dataedo Web- Older Users tab

In the newer 10.3.2 version, the "Users" tab was moved to the top right corner of the window, and you can access it by clicking on "Settings" as below:

Dataedo Web- New Users settings

Some users reported that after upgrading to Dataedo 10.2, they didn't have access to the tab. You can resolve this by granting the permissions directly from the repository database. To do this, connect to the repository database, and paste the script from the bottom of the article into a new query window.

Dataedo- Grant the access to Users tab query

Change the "YOUR_LOGIN_HERE" value to the login you use to access Dataedo Web - if you're using AD accounts, include the domain name. Run the script, then refresh the page in Dataedo Web.

Dataedo- Changing the login and executing query

You should now be able to access the "Users" tab.

Grant Admin role script

--Script for creating a new group named Admins, granting it user management privilege
--  and adding YOUR_LOGIN_HERE to the group
--Before running, change YOUR_LOGIN_HERE to your login
INSERT INTO [dbo].[user_groups] (
    [name]
    ,[default]
    ,creation_date
    ,last_modification_date )
SELECT 'Admins'
    ,0
    ,getdate()
    ,getdate()
WHERE NOT EXISTS (
        SELECT 1
        FROM [dbo].[user_groups]
        WHERE [name] = 'Admins');

INSERT INTO [dbo].[permissions] (
    user_type
    ,user_group_id
    ,object_type
    ,role_id
    ,creation_date
    ,last_modification_date )
VALUES (
    'GROUP'
    ,(SELECT user_group_id
        FROM [dbo].[user_groups]
        WHERE [name] = 'Admins' )
    ,'REPOSITORY'
    ,4
    ,getdate()
    ,getdate());

INSERT INTO [dbo].[permissions] (
    user_type
    ,user_group_id
    ,object_type
    ,role_id
    ,creation_date
    ,last_modification_date)
VALUES (
    'GROUP'
    ,(SELECT user_group_id
        FROM [dbo].[user_groups]
        WHERE [name] = 'Admins')
    ,'REPOSITORY'
    ,5
    ,getdate()
    ,getdate());

INSERT INTO [dbo].[users_user_groups] (
    [user_id]
    ,[user_group_id]
    ,[creation_date]
    ,[last_modification_date])
VALUES (
    (SELECT license_id
        FROM [dbo].[licenses]
        WHERE [login] = 'YOUR_LOGIN_HERE')
    ,(SELECT user_group_id
        FROM [dbo].[user_groups]
        WHERE [name] = 'Admins' )
    ,getdate()
    ,getdate());