Back up Tableau Server Data

Regularly backing up Tableau Server is an important step in proper administration and maintenance of your server. You can use the tsm maintenance restore command to restore Tableau Server backups created using the tsm maintenance backup command. Database backups made in other ways, and virtual machine snapshots are not valid sources for restoring Tableau Server, so it is critical that you have an up-to-date backup.

 

You can only restore from a backup that has the same type of identity store as the running server. For example, a backup from a server using local authentication can be restored to a Tableau Server initialised with local authentication, but a backup from a server using Active Directory authentication cannot be restored to a server initialised with local authentication.

Tableau Server data includes data extract files, as well as the Tableau PostgreSQL database, which contains workbook and user metadata and configuration data. When you use TSM to create a backup, all of this data is saved in a single file with a .tsbak extension. If you are running a distributed installation of Tableau Server data from all the nodes is backed up.

The frequency of your backups depends on your environment, including how much use your server gets and how much and frequently the content and users change. Any changes or updates that happen after your backup will be lost if there is a system failure and you need to restore Tableau Server. The more activity there is, the more often you need to back the server up.

In addition to regularly scheduled backups, you should always create a backup before upgrading to a new version of Tableau Server. The upgrade process does not create a backup except when the version of PostGRES is being updated, and then the upgrade process creates a PostGRES-only backup to be used internally.

To help protect against data loss, after you create the backup, you should store the .tsbak file on a computer that is not a part of your Tableau Server installation.

Disk Space Usage for Backup

The free disk space required to create a backup varies depending on the amount of data in the Tableau Server repository and file store services, and their collocation with the tabadmincontroller service. During backups, the background tasks for cleaning up old extracts are temporarily paused. This means that, for the duration of the backup, extract refreshes will leave extra files in place, adding to disk space usage. If your backup takes a long time, or if your organisation uses many extracts that are regularly updated, this can result in a significant amount of temporary disk space usage. These temporary files will be removed after the backup is complete.

The following table lists the disk space requirements for backup based on whether the node hosts the repository, file store, controller or some combination of them. In multi-node Tableau Server environments, you need to estimate the required disk space on each node.

RepositoryFile StoreControllerDisk Space Required
  

3x repository data + 250 MB

To obtain an estimate of the repository data, check the size of <data directory>/pgsql/data/base directory.

To obtain the exact size of the repository data, open the backup file and use the size of the workgroup.pg_dump file.

  

1.5x file store data

To obtain an estimate of file store data (extracts, flows, etc.), check the size of <data directory>/dataengine directory.

  3x repository data + 250 MB + 2.5x file store data
 3x repository data + 250 MB + 1.5x file store data
 3x repository data + 250 MB + 1.5x file store data
 3x repository data + 250 MB + 2.5x file store data
3x repository data + 250 MB + 1.5x file store data

Optimising Tableau Server Backup

There are several ways you can maximise backup efficiency. Your environment can impact how effective each of these is, so test with your data to see what works best.

Optimising with topology configurations:

  • Co-locating File Store on the same node as the Administration Controller can reduce the length of time it takes to back up Tableau Server by reducing or eliminating the need to transfer data between nodes during the backup process. This is especially true if your organisation uses many extracts.
  • Co-locating the repository (pgsql) with the Administration Controller node can also help to reduce back up time, but the time savings is less significant than that of the File Store.

The Administration Controller is usually on the initial node, unless you have had an initial node failure and moved the controller to another node.

Optimising with backup strategies:

Backup is a resource intensive process. If possible, doing your backups during off peak hours is a generally a good strategy. But this however, depends on your requirements and how often Tableau Server data is updated and what your restore requirements. For a detailed explanation of backup and disaster recovery, see Tableau Server Disaster Recovery. Here are some backup strategies and adopt them to your requirements

  • Type of storage: Solid State disks are recommended in general for backups. SSD helps make your backups faster and complete sooner compared to traditional spinning disks.
  • Backup compression: You have the option of running your backups with or without compression. When you do your backup with compressions, your backup size will be comparatively smaller, but you may see a slower performance. So if your goal is more focused on speed, choose the --skip-compression option:

    Use the --skip-compression option when backing up Tableau Server. This creates the backup without using compression, and results in a larger backup file but can reduce the amount of time it takes for the backup to complete. For more information, see tsm maintenance backup.

  • Snapshot backup: This option is only available if you have configured your Tableau Server with External File Store. Although the performance of snapshot backups depend on the type of network attached storage, in general snapshot backups are faster than the traditional Tableau Server backups. For more information see, Tableau Server External File Store.

 

Create a backup using the TSM command line interface (CLI)

Use the tsm maintenance backup command to create a backup of the data managed by Tableau Server. This data includes data extract files and the Tableau PostgreSQL database, which contains workbook and user metadata.

Important: Do not use the pg-only option when generating a backup unless instructed by Tableau Support. This option will only back up the repository and cannot be used to restore your Server. Its primary use is for troubleshooting, and Tableau Support will ask you to create a --pg-only backup if this is necessary.

Before backing up Tableau Server, verify that permissions are configured correctly for the following scenarios:

  • Tableau Server installed on non-default drive: If you have installed Tableau Server on a non-default drive or folder, then you will need to manually configure permissions for the Network Service account. You may also need to configure additional permissions for the Run As service account. See Installing in a non-default location.
  • When backing up Tableau Server on Windows to a network drive, the Machine account must have write access to the network share where the backup files are written (this is not normally the case and you are responsible for configuring this if you want to back the server up to a network share).

To back up server configuration data, use the tsm settings command. When you use the tsm maintenance backup command, the current date is appended to the backup file:

tsm maintenance backup -f <backup_file> -d

For more information, see tsm maintenance backup.

Create a pre-upgrade backup

You should always create a backup before upgrading Tableau Server. You can create a backup while Tableau Server is running and minimise the amount of time the server is unavailable during upgrade. The process for creating a pre-upgrade backup is the same as for creating regular backups, with one additional consideration for distributed installations.

Note: Uninstall Tableau Server from any nodes that you are not including in your new installation to avoid conflicts between the older nodes and the new installation.

Backups during upgrades

During a Tableau Server upgrade, when necessary, a temporary backup of the database may be created to allow for migrations that occur as part of upgrades. This is done during the upgrade and in most cases has no noticeable impact to the upgrade process. In certain special cases there can be additional impacts:

  • Upgrades to Tableau Server 2022.1 (or later) from version 2021.4 (or earlier) – If you perform Blue/Green upgrades or manually upgrade Tableau Server 2021.4 (or earlier) using the tsm maintenance (backup and restore) method, you must enable legacy-identity-mode before you can restore to Tableau Server 2022.1 (or later). For more information, see Troubleshoot Issues with the Identity Migration.
  • Major version pgsql updates – If an upgrade includes a major version update to the database used for the Tableau repository, the internal upgrade backup is done without compression to save time. This requires additional temporary disk space during the upgrade process.

    Tableau Server versions that include a major version database update; 2020.4.

Scheduling and Managing Backups

Beginning in 2020.4.0, you can use tsm commands to schedule a backup. You need to do this from the command line (there is no TSM UI to schedule backups). The tsm maintenance backup command allows you to create and update backup schedules. The tsm schedules commands give you the ability to view, delete, pause, resume, and update schedules.

To schedule a backup:

  1. Open a command prompt as administrator on the initial node (the node where TSM is installed).

  2. Run the following command:

    tsm maintenance backup -f <backup-file> -sr <recurrence> -st <time-to-run> -sd <days-to-run> -sn <schedule-name>
    

    For example, to create a backup schedule named "monthly-backup" that runs on the 15th of each month at 2 am and generates a file called <yyyy.mm.dd.hh.mm>-ts-mid_month_backup.tsbak:

    tsm maintenance backup -f ts-mid_month_backup -sr monthly -st 02:00 -sd 15 -sn monthly-backup
    

To view a scheduled backup:

  1. Open a command prompt as administrator on the initial node (the node where TSM is installed).

  2. Run the following command:

    tsm schedules list 
    

    You can sort the schedules by scheduled run time, earliest to latest, or by name using the --next-run or --schedule-name options. You can alternately display details for a single schedule using the --schedule-id option. When you view a single schedule you see additional details about it, including when it was created, how many times it has run, and specific options used when it is run. Job options are shown in JSON format as "Job args".

To update a scheduled backup:

  1. Open a command prompt as administrator on the initial node (the node where TSM is installed).

  2. Run the following command:

    tsm schedules update --schedule-id <ID> --schedule-time <time-to-run> --schedule-recurrence <frequency> --schedule-days <day-to-run>
    

    Note: To add or change a name, use the tsm-maintenance-backup command.

To suspend or resume a backup schedule:

  1. Open a command prompt as administrator on the initial node (the node where TSM is installed).

  2. Run one of the following commands:

    • To suspend a schedule:

      tsm schedules suspend --schedule-id <scheduleID>
      
    • To resume a suspended schedule:

      tsm schedules resume --schedule-id <scheduleID>
      

Script the backup process

If you back up often, you might want to create a script that performs the backup and related tasks for you. These tasks include:

  • Clean up files and folders before running the backup.

  • Running the backup itself.

  • Copying the backup file to a separate computer for safekeeping.

This section discusses tsm commands you can use together to perform a backup and related tasks.

Note: TSM is a batch file. To run tsm commands in another batch file, use the call command. For example "call tsm maintenance ziplogs". Doing this will return control to the batch file. You also need to authenticate to TSM before issuing any commands. For more information, see Authenticating with tsm CLI.

Remove log files and clear temporary folders

You can clean old Tableau Server log file and temporary files to reduce the time it takes to create a backup, and to ensure the backup file is as small as possible.

To clean log files older than a few days, run the following command:

tsm maintenance cleanup

Run the backup

Note: When backing up Tableau Server on Windows to a network drive, the Machine account must have write access to the network share where the backup files are written (this is not normally the case and you are responsible for configuring this if you want to back the server up to a network share).

To create the backup, use the tsm maintenance backup command:

tsm maintenance backup --file <backup_file> --append-date

Note the following about the command:

  • Add --append-date to the command to include the date in the backup file name.

  • The backup file is assembled in a temporary location in the data directory and then written to the directory defined in the TSM basefilepath.backuprestore variable. By default:

    C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\backups\<filename>.tsbak

    For more information about where backup files are written and how to change that location, see tsm File Paths. Note: Even when you change the backup location, the backup process uses a temporary location in the data directory to assemble the backup file.

Copy the backup file to another computer

As a best practice, after the backup is created, copy the backup file to another location that is separate from Tableau Server.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!