Skip to content

Latest commit

 

History

History
79 lines (56 loc) · 8.4 KB

File metadata and controls

79 lines (56 loc) · 8.4 KB
title Backup & restore: system databases
description SQL Server maintains system databases essential for operation of a server instance. Several system databases must be backed up after every significant update.
ms.custom seo-lt-2019
ms.date 12/17/2019
ms.prod sql
ms.prod_service backup-restore
ms.reviewer
ms.technology backup-restore
ms.topic conceptual
helpviewer_keywords
system databases [SQL Server], backing up and restoring
restoring system databases [SQL Server]
backing up [SQL Server], system databases
database backups [SQL Server], system databases
servers [SQL Server], backup
ms.assetid aef0c4fa-ba67-413d-9359-1a67682fdaab
author mashamsft
ms.author mathoma

Backup & restore: system databases (SQL Server)

[!INCLUDEappliesto-ss-xxxx-xxxx-xxx-md]

[!INCLUDEssNoVersion] maintains a set of system-level databases, system databases, which are essential for the operation of a server instance. Several of the system databases must be backed up after every significant update. The system databases that you must always back up include msdb, master, and model. If any database uses replication on the server instance, there is a distribution system database that you must also back up. Backups of these system databases let you restore and recover the [!INCLUDEssNoVersion] system in the event of system failure, such as the loss of a hard disk.

The following table summarizes all of the system databases.

System database Description Are backups required? Recovery model Comments
master The database that records all of the system level information for a [!INCLUDEssNoVersion] system. Yes Simple Back up master as often as necessary to protect the data sufficiently for your business needs. We recommend a regular backup schedule, which you can supplement with an additional backup after a substantial update.
model The template for all databases that are created on the instance of [!INCLUDEssNoVersion]. Yes User configurable* Back up model only when necessary for your business needs; for example, immediately after customizing its database options.

Best practice: We recommend that you create only full database backups of model, as required. Because model is small and rarely changes, backing up the log is unnecessary.
msdb The database used by [!INCLUDEssNoVersion] Agent for scheduling alerts and jobs, and for recording operators. msdb also contains history tables such as the backup and restore history tables. Yes Simple (default) Back up msdb whenever it is updated.
Resource (RDB) A read-only database that contains copies of all system objects that ship with [!INCLUDEssNoVersion] No - The Resource database resides in the mssqlsystemresource.mdf file, which contains only code. Therefore, [!INCLUDEssNoVersion] cannot back up the Resource database.

Note: You can perform a file-based or a disk-based backup on the mssqlsystemresource.mdf file by treating the file as if it were a binary (.exe) file, instead of a database file. But you cannot use [!INCLUDEssNoVersion] restore on the backups. Restoring a backup copy of mssqlsystemresource.mdf can only be done manually, and you must be careful not to overwrite the current Resource database with an out-of-date or potentially insecure version.
tempdb A workspace for holding temporary or intermediate result sets. This database is re-created every time an instance of [!INCLUDEssNoVersion] is started. When the server instance is shut down, any data in tempdb is deleted permanently. No Simple You cannot back up the tempdb system database.
Configure Distribution A database that exists only if the server is configured as a replication Distributor. This database stores metadata and history data for all types of replication, and transactions for transactional replication. Yes Simple For information about when to back up the distribution database, see Back Up and Restore Replicated Databases.

*To learn the current recovery model of the model, see View or Change the Recovery Model of a Database (SQL Server) or sys.databases (Transact-SQL).

Limitations on Restoring System Databases

  • System databases can be restored only from backups that are created on the version of [!INCLUDEssNoVersion] that the server instance is currently running. For example, to restore a system database on a server instance that is running on [!INCLUDEssSQL11] SP1, you must use a database backup that was created after the server instance was upgraded to [!INCLUDEssSQL11] SP1.

  • To restore any database, the instance of [!INCLUDEssNoVersion] must be running. Startup of an instance of [!INCLUDEssNoVersion] requires that the master database is accessible and at least partly usable. If master becomes unusable, you can return the database to a usable state in either of the following ways:

    • Restore master from a current database backup.

      If you can start the server instance, you should be able to restore master from a full database backup.

    • Rebuild master completely.

      If severe damage to master prevents you from starting [!INCLUDEssNoVersion], you must rebuild master. For more information, see Rebuild System Databases.

      [!IMPORTANT]
      Rebuilding master rebuilds all of the system databases.

  • Under some circumstances, problems recovering the model database may require rebuilding the system databases or replacing the mdf and ldf files for the model database. For more information, see Rebuild System Databases.

Related Tasks

See Also

Distribution Database
master Database
msdb Database
model Database
Resource Database
tempdb Database