Skip to content
Contact us

How SMART Migration installs: the repository and the BI database

SMART Migration works with two databases: the repository, where it keeps its own working data, and the BI database, where every run records the files it handled for the Power BI report. The installer sets up a free database server for each, and Power BI Desktop to open the report — each of them can be left out during the installation.

Installed by defaultHoldsCan be left out
SQL Server 2025 ExpressThe repository: job definitions, connection information, logs and the rest of SMART Migration's working dataYes — then the repository is set up on a SQL Server of your own, see below
PostgreSQL 18.3 or newerThe BI database: one row per file, with its status, metadata, size and destinationYes — then the BI database connection points to a server of your own
Power BI DesktopOpens and refreshes SMART BI.pbixYes — it can run on any other Windows computer that reaches the BI database

The two databases are independent of each other: the repository can stay on SQL Server Express on the SMART Migration server while the BI database runs on a PostgreSQL server elsewhere, or the other way round — many combinations work.

Read more: Hardware/VM requirements · Why the SMART Migration server runs in your network

SQL Server 2025 Express is free, and it caps each database at 50 GB.

What fills the repository is mostly the job logs. Every job session writes a log of how the job ran, with its embedded reports, and a log can be large. 50 GB is a lot: as a rule of thumb, it holds the logs of a migration of about 1 million files. For data ETL and other jobs that do not handle files (in the IDE), watch how the repository grows for the jobs you run. In most setups 50 GB is by far enough, as long as logs that are no longer needed are deleted.

Keep the BI data out of the repository. PostgreSQL, which the installer sets up, holds it at no cost and with no storage limit, on the SMART Migration server or on a machine of its own (below). Everything can also run on SQL Server — but with the BI data on SQL Server Express, it goes into the same database and shares its 50 GB, so the repository holds about half as many files.

The Repository tab in the Account module shows how much of the space is used. Once 20 % is left, jobs warn that it is time to delete logs or move to a licensed SQL Server.

Act on the warning before the database is full

When the repository reaches 50 GB, nothing runs any more — not the jobs, the job server or even the IDE, so no logs can be deleted either. There are then only two ways on: restore the database on a licensed SQL Server, or reinstall and start over with everything lost — see When the repository is full.

Larger than 1 million files: plan for a SQL Server of your own

For a migration well past 1 million files, or one that must keep its history for a long time, put the repository on a licensed SQL Server from the start rather than purging your way through it.

Delete the job sessions whose logs are no longer needed: on the Dashboard, select one, several or all of them and delete them, or open a job and use Delete on its Log tab.

A delete is a soft delete: the session disappears at once, and SMART Migration purges its data from the database in the background. With many logs, the purge can take a considerable time. The space it frees is reused by SQL Server for new logs, but the database files on disk (.mdf and .ldf) keep their size until the database is shrunk.

When the space is needed right away, move the repository to a licensed SQL Server instead: back up the database on SQL Server Express and restore it there (below).

Shrinking is optional — SQL Server reuses the freed space anyway. Do it after a large clean-up, once the background purge has finished, when you want the disk space back; not as a routine.

  1. Open SQL Server Management Studio

    SQL Server Management Studio (SSMS) is an option in the SMART Migration installer. Start it and connect to the SQL Server Express instance that holds the repository.

  2. Shrink the repository database

    In Object Explorer, expand Databases, right-click the repository database and choose Tasks › Shrink › Database. The dialog shows how much of the space is free; choose OK to release it to the disk.

The warnings were ignored and the repository has reached 50 GB: SMART Migration can no longer run — no jobs, no job server, not even the IDE — so the logs cannot be deleted to make room. Deleting or shrinking does not help any more; there are two ways on.

Move to a licensed SQL ServerReinstall and start over
What is keptEverything: job definitions, connections and every logNothing in the repository: job definitions, connections and logs are lost
What it takesA licensed SQL Server 2022 or newer, and a backup and restoreA new installation, and every job set up again
The BI data in PostgreSQLStays as it isStays as it is

Do not let it come this far

Both ways stop the migration until they are done, and starting over loses every job. Act when the jobs warn that 20 % of the space is left — delete logs on the Dashboard, or move to a licensed SQL Server while SMART Migration still runs.

Move the full repository to a licensed SQL Server

Section titled “Move the full repository to a licensed SQL Server”

SQL Server Express still runs when the database is full, so the database can be backed up.

  1. Back up the repository

    In SQL Server Management Studio, connect to the SQL Server Express instance, right-click the repository database and choose Tasks › Back Up. Make a Full backup to a .bak file.

  2. Restore it on the licensed SQL Server

    Copy the .bak file to the licensed SQL Server, connect to it in SQL Server Management Studio, right-click Databases and choose Restore Database. Restore from the file.

  3. Give the Windows accounts access

    Grant permissions on the restored database to the Windows account SMART Migration runs as — and to the job server's service account, when it runs as a Windows Service.

  4. Take SQL Server Express out of the way

    Stop the SQL Server Express service, or uninstall SQL Server Express, so SMART Migration can no longer reach the full database.

  5. Start SMART Migration and connect

    SMART Migration cannot reach its repository, so it asks for the connection, as at a first start. Enter the licensed SQL Server and the restored database. Everything is back as it was, with no limit on the space.

When no licensed SQL Server is available, uninstall SMART Migration and SQL Server Express, then install again: the repository starts empty, from the template. Every job definition and connection must be set up again, and the logs of the earlier runs are gone. The BI data in PostgreSQL is not touched.

The repository on a SQL Server of your own

Section titled “The repository on a SQL Server of your own”

Any SQL Server 2022 or newer works as the repository — Standard, Enterprise or another licensed edition. It brings:

  • No storage limit. The licensed editions have no 50 GB cap.
  • Better performance in some cases. SQL Server Express does not use all of the machine's CPU; a licensed edition does.
  • A server of its own. The database can move to another machine, a SQL Server cluster or the server your organisation runs its databases on — for performance, backups and compliance.

Switch from SQL Server Express to your own server

Section titled “Switch from SQL Server Express to your own server”

When SQL Server Express was installed, the repository can move later:

  1. Move the database

    Copy the repository to your own SQL Server — a backup on SQL Server Express restored there — or set up a new one from the template, as described below.

  2. Point SMART Migration to it

    In the SMART Migration IDE, open the Database module and the system connection Internal — the one that points to the repository. Edit its parameters — server, database and authentication — to point to your SQL Server instead of the SQL Server Express the installer set up.

  3. Remove SQL Server Express

    Once SMART Migration runs against your own server, SQL Server Express can be uninstalled from the machine.

Leave SQL Server Express out of the installation, and the repository is yours to set up before the first start:

  1. Create the database

    Create an empty database on your SQL Server, 2022 or newer.

  2. Restore the template on top

    Restore the database template standard.bak, found in the SMART Migration installation program folder, over the new database.

  3. Give the Windows accounts access

    Grant permissions on the database to the Windows account you will run SMART Migration with — and to the service account of the job server, when it runs as a Windows Service.

  4. Start SMART Migration

    At the first start, SMART Migration asks for the connection information: your SQL Server and the database. Enter them, and it connects to the repository from then on.

Two accounts, one database

The IDE runs as the Windows account that signs in to the machine; the job server, as a Windows Service, runs as its service account. Both read and write the repository, so both need permissions on it.

The BI database — the smart_bi data that SMART BI.pbix reads — can be PostgreSQL 18.3 or newer, or SQL Server.

PostgreSQL 18.3 or newerSQL Server
LicenceFree and open sourceExpress is free with its 50 GB limit; other editions are licensed
StorageNo limit50 GB on Express; no limit on licensed editions
Query speed for BIAbout twice as fast — what matters when Power BI refreshes the reportSlower for this workload
Nextcloud app and Microsoft Teams app setupsSupported — the only choiceNot supported
Your own setupsSupportedSupported

The Nextcloud app and the Microsoft Teams app use PostgreSQL

With the Nextcloud app or the Microsoft Teams app and their Power BI report, the BI data is kept in PostgreSQL only. SQL Server for the smart_bi data is for setups of your own, without the apps' report.

The apps' Power BI reports read the data through an ODBC data source named SMARTBI, which points to the PostgreSQL database.

The Database module in the SMART Migration IDE has two system connections:

  • Internal — the repository.
  • Business Intelligence — the BI database, reached through ODBC; by default the PostgreSQL database the installer set up.

To use another PostgreSQL server — on a machine of its own, or a hosted service — edit the Business Intelligence connection to point to it; in your own setups it can point to a SQL Server instead. The BI server can be completely separate from the repository server, and from a repository on SQL Server Express. Whether a job collects BI data at all is set on its File Management step.

Storage with the Nextcloud app and the Microsoft Teams app

Section titled “Storage with the Nextcloud app and the Microsoft Teams app”

With either app, storage is virtually unlimited:

  • The job logs are purged automatically. Once a run completes successfully, SMART Migration deletes its log from the repository.
  • Runs with errors keep their log, with the whole job context, for troubleshooting. They are typically few. Look at the Dashboard weekly, or every other week, and delete the logs you no longer need once the errors are dealt with.
  • All BI data goes to PostgreSQL, which has no storage limit.

Read more: Business intelligence with Power BI · Size the servers for a large migration · Refresh, upload and share SMART BI.pbix

SetupRepositoryBI database
Trial, or a migration up to about 1 million filesSQL Server 2025 Express on the SMART Migration serverPostgreSQL on the SMART Migration server
A large migrationLicensed SQL Server on a server of its ownPostgreSQL on a server of its own, sized for the files
Your organisation's database platformYour SQL Server clusterYour PostgreSQL server or hosted service

Your partner helps you choose

Your SMART Migration partner can size the two databases for your migration and set them up with you.

The repository on SQL Server Express is filling up. Does deleting old job logs free space, and how do I delete them?

Yes. Every job session keeps a log in the repository — how the job ran, with its embedded reports — and deleting the session deletes its log. Delete them on the Dashboard, where you can select one, several or all sessions, or with Delete on an open job's Log tab. A delete is a soft delete: SMART Migration purges the data in the background, which can take a considerable time when there are many logs. The freed space is reused inside the database, but the database files on disk keep their size until you shrink the database in SQL Server Management Studio (Tasks › Shrink › Database). Act when the warnings start, at 20 % space left: once the 50 GB are full, nothing runs — not even the IDE — and the only way on is to restore the database on a licensed SQL Server. For the long run, keep the BI data in PostgreSQL rather than in the repository, or move the repository to a licensed SQL Server, which has no limit.

Read more: Dashboard: job sessions and their logs · Plan and maintain the SMART Migration environment

The repository on SQL Server Express is full, and SMART Migration no longer starts. What now?

Once the 50 GB are full, nothing runs — no jobs, no job server, not even the IDE — so logs can no longer be deleted to make room. There are two ways on. Move the repository to a licensed SQL Server: back it up in SQL Server Management Studio (Tasks › Back Up, which still works on the full database), restore it on SQL Server 2022 or newer, give the Windows accounts access, stop SQL Server Express, and start SMART Migration — it asks for the new connection, and everything is back as it was. Or reinstall and start over: the repository starts empty, and every job definition, connection and log is lost; the BI data in PostgreSQL stays. To avoid both, act when the jobs warn that 20 % of the space is left.

Read more: When the repository is full · Plan and maintain the SMART Migration environment

See also