- You can see the full syntax for the BACKUP statement at the Microsoft website. Backup a Database using PowerShell. SQL Server 2016 supports Windows PowerShell, which is a scripting shell, typically used to automate administration and deployment tasks.
- Backups for Azure SQL Database. In SQL Azure, database backups are executed automatically and it is not possible to change this behavior. This is a service offered when you create a SQL Azure database and the first full backup occurs immediately after you create a new SQL Azure database and the rest of the backups are scheduled by SQL Azure itself.
- Verify that you have created a CREDENTIAL with the name equal to the URL of the blob storage where you want to backup your database. Script the CREDENTIAL and backup a database from SQL Server to Azure Blob Storage account. Check if your SAS credential placed in SECRET option of CREATE CREDENTIAL statement is valid.
- The SQL Server backup and restore component provides an essential safeguard for protecting critical data stored in your SQL Server databases. To minimize the risk of catastrophic data loss, you need to back up your databases to preserve modifications to your data on a regular basis.
- Microsoft Sql Database Examples
- Backup Microsoft Sql Database Command Line
- Backup Microsoft Sql Database
- Sql Backup All Databases
This topic describes how to create a full database backup in SQL Server 2017 using SQL Server Management Studio, Transact-SQL, or PowerShell.
For information on SQL Server backup to the Azure Blob storage service, see SQL Server Backup and Restore with Azure Blob Storage Service and SQL Server Backup to URL.
Limitations and restrictions
- The
BACKUP
statement is not allowed in an explicit or implicit transaction. - Backups created by more recent version of SQL Server cannot be restored in earlier versions of SQL Server.
Alternatively you can copy the.MDF (database file) and.LDF (database temp file) to a different location. The default path for these files are 'C: Program Files Microsoft SQL Server MSSQL1050.' YourInstanceName' MSSQL DATA ' where 'YourInstanceName' is the name of the SQL instance. It will expose entire SQL Server Instance, support almost all features available in SQL Server 2017 and combine this with instant scaling and intelligence that is available in Azure PaaS service. Managed Read more. Tags: Azure SQL Database, Backup, Managed Instance.
For an overview of, and deeper dive into, backup concepts and tasks, see Backup Overview (SQL Server) before proceeding.
Recommendations
- As a database increases in size, full database backups take more time to complete and require more storage space. For large databases, consider supplementing full database backups with a series of differential database backups.
- Estimate the size of a full database backup by using the sp_spaceused system stored procedure.
- By default, every successful backup operation adds an entry in the SQL Server error log and in the system event log. If you back up frequently, these success messages will accumulate quickly, resulting in huge error logs! This can make finding other messages difficult. In such cases, you can suppress these backup log entries by using trace flag 3226 if none of your scripts depend on those entries. For more information, see Trace Flags (Transact-SQL).
Security
TRUSTWORTHY is set to OFF on a database backup. For information about how to set TRUSTWORTHY to ON, see ALTER DATABASE SET Options (Transact-SQL).
Beginning with SQL Server 2012 (11.x), the PASSWORD and MEDIAPASSWORD options are discontinued for creating backups. You can still restore backups created with passwords.
Permissions
BACKUP DATABASE
and BACKUP LOG
permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.
Ownership and permission problems on the backup device's physical file can interfere with a backup operation. The SQL Server service must be able to read and write to the device which means that the account under which the SQL Server service runs must have write permissions to the backup device. However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. As a result, problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.
Using SQL Server Management Studio
Note
When you specify a backup task by using SQL Server Management Studio, you can generate the corresponding Transact-SQL BACKUP script by clicking the Script button and selecting a script destination.
After connecting to the appropriate instance of the Microsoft SQL Server Database Engine, in Object Explorer, expand the server tree.
Expand Databases, and either select a user database or expand System Databases and select a system database.
Right-click the database that you wish to backup, point to Tasks, and then click Back Up....
In the Back Up Database dialog box, the database that you selected appears in the drop-down list (which you can change to any other database on the server).
In the Backup type drop-down list, select the desired backup type - the default is Full.
Important
You must perform at least one full database backup before you can perform a differential or a transaction log backup.
Under Backup component, select Database.
In the Destination section, review the default location for the backup file (in the ../mssql/data folder).
To backup to a different device, change the selection using the Back up to drop-down list. To stripe the backup set across multiple files for increased backup speed, click Add to add additional backup objects and/or destinations.
To remove a backup destination, select it and click Remove. To view the contents of an existing backup destination, select it and click Contents.
(optional) Review the other available settings under the Media Options and Backup Options pages.
For more information about the various backup options, see General page, Media options page, and Backup options page.
Click OK to initiate the backup.
When the backup completes successfully, click OK to close the SQL Server Management Studio dialog box.
Additional information
After creating a full database backup, you can create a differential database backup or a transaction log backup.
(optional) You can select the Copy-only backup checkbox to create a copy-only backup. A copy-only backup is a SQL Server backup that is independent of the sequence of conventional SQL Server backups. For more information, see Copy-Only Backups (SQL Server). A copy-only backup is not available for the Differential backup type.
The Overwrite media option is disabled on the Media Options page if you are backing up to a URL.
Examples
For the following examples, create a test database with the following Transact-SQL code:
A. Full back up to disk to default location
Microsoft Sql Database Examples
In this example, the SQLTestDB
database will be backed up to disk at the default backup location.
After connecting to the appropriate instance of the Microsoft SQL Server Database Engine, in Object Explorer, expand the server tree.
Expand Databases, right-click
SQLTestDB
, point to Tasks, and then click Back Up....Click OK.
When the backup completes successfully, click OK to close the SQL Server Management Studio dialog box.
B. Full back up to disk to non-default location
In this example, the SQLTestDB
database will be backed up to disk at a location of your choice.
After connecting to the appropriate instance of the Microsoft SQL Server Database Engine, in Object Explorer, expand the server tree.
Expand Databases, right-click
SQLTestDB
, point to Tasks, and then click Back Up....On the General page in the Destination section select Disk from the Back up to: drop-down list.
Select Remove until all existing backup files have been removed.
Select Add and the Select Backup Destination dialog box will open.
Enter a valid path and file name in the File name text box and use .bak as the extension to simplify the classification of this file.
Click OK and then click OK again to initiate the backup.
When the backup completes successfully, click OK to close the SQL Server Management Studio dialog box.
C. Create an encrypted backup
In this example, the SQLTestDB
database will be backed up with encryption to the default backup location.
After connecting to the appropriate instance of the Microsoft SQL Server Database Engine, in Object Explorer, expand the server tree.
Expand Databases, expand System Databases, right-click
master
, and click New Query to open a query window with a connection to yourSQLTestDB
database.Execute the following commands to create a database master key and a certificate within the
master
database.In Object Explorer, in the Databases node, right-click
SQLTestDB
, point to Tasks, and then click Back Up....On the Media Options page, in the Overwrite media section select Back up to a new media set, and erase all existing backup sets.
On the Backup Options page in the Encryption section select the Encrypt backup check box.
From the Algorithm drop-down list, select AES 256.
From the Certificate or Asymmetric key drop-down list select
MyCertificate
.Select OK.
D. Back up to the Azure Blob storage service
The example below performs a full database backup of SQLTestDB
to the Azure Blob storage service. This example assumes that you already have a storage account with a blob container. This example creates a shared access signature for you; this example fails of the container has an existing shared access signature.
If you do not have an Azure blob container in a storage account, create one before continuing. For more information, see Create a general purpose storage account and Create a container.
Backup Microsoft Sql Database Command Line
After connecting to the appropriate instance of the Microsoft SQL Server Database Engine, in Object Explorer, expand the server tree.
Expand Databases, right-click
SQLTestDB
, point to Tasks, and then click Back Up....On the General page in the Destination section select URL from the Back up to: drop-down list.
Click Add and the Select Backup Destination dialog box will open.
If you have previously registered the Azure storage container that you wish to use with SQL Server Management Studio, select it. Otherwise, click New container to register a new container.
In the Connect to a Microsoft Subscription dialog box, sign in to your account.
In the Select Storage Account drop-down text box, select your storage account.
In the Select Blob Container drop-down text box, select your blob container.
In the Shared Access Policy Expiration drop-down calendar box, select an expiration date for the shared access policy that you create in this example.
Click Create Credential to generate a shared access signature and credential in SQL Server Management Studio.
Click OK close the Connect to a Microsoft Subscription dialog box.
In the Backup File text box, modify the name of the backup file (optional).
Click OK to close the Select a backup destination dialog box.
Click OK to initiate the backup.
When the backup completes successfully, click OK to close the SQL Server Management Studio dialog box.
Using Transact-SQL
Create a full database backup by executing the BACKUP DATABASE
statement to create the full database backup, specifying:
- The name of the database to back up.
- The backup device where the full database backup is written.
The basic Transact-SQL syntax for a full database backup is:
BACKUP DATABASE databaseTO backup_device [ ,...n ][ WITH with_options [ ,...o ] ] ;
Option | Description |
---|---|
database | Is the database that is to be backed up. |
backup_device [ ,...n ] | Specifies a list of from 1 to 64 backup devices to use for the backup operation. You can specify a physical backup device, or you can specify a corresponding logical backup device, if already defined. To specify a physical backup device, use the DISK or TAPE option: { DISK | TAPE } =physical_backup_device_name For more information, see Backup Devices (SQL Server). |
WITH with_options [ ,...o ] | Optionally, specifies one or more additional options, o. For information about some of the basic with options, see step 2. |
Optionally, specify one or more WITH options. A few basic WITH options are described here. For information about all the WITH options, see BACKUP (Transact-SQL).
Basic backup set WITH options:
- { COMPRESSION | NO_COMPRESSION }: In SQL Server 2008 Enterprise and later only, specifies whether backup compression is performed on this backup, overriding the server-level default.
- ENCRYPTION (ALGORITHM, SERVER CERTIFICATE | ASYMMETRIC KEY): In SQL Server 2014 or later only, specify the encryption algorithm to use, and the Certificate or Asymmetric key to use to secure the encryption.
- DESCRIPTION= { 'text' | @text_variable }: Specifies the free-form text that describes the backup set. The string can have a maximum of 255 characters.
- NAME = { backup_set_name | @backup_set_name_var }: Specifies the name of the backup set. Names can have a maximum of 128 characters. If NAME is not specified, it is blank.
Backup Microsoft Sql Database
By default, BACKUP
appends the backup to an existing media set, preserving existing backup sets. To explicitly specify this, use the NOINIT
option. For information about appending to existing backup sets, see Media Sets, Media Families, and Backup Sets (SQL Server).
Alternatively, to format the backup media, use the FORMAT option:
FORMAT [ , MEDIANAME = { media_name | @media_name_variable } ] [ , MEDIADESCRIPTION = { text | @text_variable } ]
Use the FORMAT clause when you are using media for the first time or you want to overwrite all existing data. Optionally, assign the new media a media name and description.
Important
Use extreme caution when you are using the FORMAT clause of the BACKUP
statement because this destroys any backups that were previously stored on the backup media.
Examples
For the following examples, create a test database with the following Transact-SQL code:
A. Back up to a disk device
The following example backs up the complete SQLTestDB
database to disk, by using FORMAT
to create a new media set.
B. Back up to a tape device
The following example backs up the complete SQLTestDB
database to tape, appending the backup to the previous backups.
C. Back up to a logical tape device
The following example creates a logical backup device for a tape drive. The example then backs up the complete SQLTestDB database to that device.
Using PowerShell
Use the Backup-SqlDatabase cmdlet. To explicitly indicate that this is a full database backup, specify the -BackupAction parameter with its default value, Database. This parameter is optional for full database backups.
Note
Sql Backup All Databases
These examples require the SqlServer module. To determine if it is installed, run Get-Module -Name SqlServer
. To install this module, run Install-Module -Name SqlServer
in an administrator session of PowerShell.
For more information, see SQL Server PowerShell Provider.
Important
If you are opening a PowerShell window from within SQL Server Management Studio to connect to an installation of SQL Server, you can omit the credential portion of this example as your credential in SSMS is automatically used to establish the connection between PowerShell and your SQL Server instance.
Examples
A. Full backup (local)
The following example creates a full database backup of the <myDatabase>
database to the default backup location of the server instance ComputerInstance
. Optionally, this example specifies -BackupAction Database.
For the full syntax and additional examples, see Backup-SqlDatabase.
B. Full backup to Azure
The following example creates a full backup of the database <myDatabase>
on the <myServer>
instance to the Azure Blob Storage service. A stored access policy has been created with read, write, and list rights. The SQL Server credential, https://<myStorageAccount>.blob.core.windows.net/<myContainer>
, was created using a Shared Access Signature that is associated with the Stored Access Policy. The PowerShell command uses the BackupFile parameter to specify the location (URL) and the backup file name.