PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. Talking about SQL Server PowerShell, there are two modules:
SqlServer offers a variety of cmdlets to help with different tasks in SQL Server. To backup SQL Server database objects, you can use Backup-SqlDatabase (*learn more about Backup-SqlDatabase). Following are some commonly-used parameters:
With these cmdlets, you can also use PowerShell script to backup multiple sql databases.
Please note that previous versions of the SqlServer module were included with SQL Server Management Studio (SSMS), but only with the 16.x versions of SSMS. To use PowerShell with SSMS 17.0 and later, you need to install the SqlServer module from the PowerShell Gallery.
After installing the SqlServer module, you can follow the steps below to write PowerShell script to backup SQL Server databases:
1. Click the Start menu, select Windows PowerShell, and then click Windows PowerShell ISE.
Note: The Windows PowerShell Integrated Scripting Environment (ISE) enables you to run commands and write, test, and debug scripts in a single Windows-based graphic user interface.
2. In Windows PowerShell ISE, click New Script on the toolbar and type the following cmdlets to backup multiple SQL databases as per your need. In my case, I'm going to backup the database "TestDB" and "DemoDB".
✍ Tips:
① The cmdlets used above will create a complete database backup of the database "TestDB" and "DemoDB", and the backup files will be saved to the default backup location of the server "DESKTOP-J6AHKLA". For me, the backup location is:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup
② I only specify the server name here, which means to use the default instance on the server. You can specify a different instance by using -ServerInstance "Computer\Instance".
③ "-Initialize" means to overwrite any existing backup sets on the media and make this backup the first backup set on the media. If you omit this parameter, the backup file will contain multiple copies of the database after you run the PowerShell script for multiple times, thus the ".bak" file getting really large.
3. Click Run Script on the toolbar to backup SQL Server databases for the first time. You can view the backup progress and result under the Script Pane.
4. On the File menu, click Save As. Select your desired location to save the script file and enter a name for the file. Finally, click Save and exit Windows PowerShell ISE.
Method 1: Run the ".ps1" file with PowerShell
Method 2: Run script from Windows PowerShell ISE
The steps are the same as mentioned above. Just use the cmdlet below:
Get-ChildItem "SQLSERVER:\SQL\DESKTOP-J6AHKLA\DEFAULT\Databases" | Backup-SqlDatabase
✍ Tips:
◑ This command backs up all user-created databases on the server instance "DESKTOP-J6AHKLA\DEFAULT" to the default backup location. Each database has a backup file named [database name].bak.
◑ System databases are not backed up. You can specify the Backup-SqlDatabase cmdlet to backup the system database "master", "model", and "msdb" accordingly. Learn more about system database backup and restore.
As you see, you need to write the Backup-SqlDatabase cmdlet repetitively to backup several databases. If there are only a few databases that need to be backed up, PowerShell SQL backup is recommended. What if there are plenty of databases you'd like to backup? Is there a tool that can help you select multiple databases at once?
The powerful SQL backup software - Qiling Backup comes to help. You may take advantage of the following features when performing SQL Server backup:
★ It is embedded with the SQL Server Backup feature that enables you to backup multiple instances and databases on PCs/Servers.
★ It offers the Schedule feature to automate database backups. You can do SQL Server auto backup every day, every week, or every month.
★ It supports backing up databases on all popular SQL Server versions, including SQL Server 2022/2019/2017/2016/2014/2012/2008(R2)/2005.
Download the free trial of Qiling Backup and explore all the wonderful features right now!
That's it, you can schedule data backup for the added SQL Server now.
✍More useful features:
Now you know how to write PowerShell script to backup multiple SQL databases. However, it is only suitable for backing up a small number of databases. If you have plenty of databases on a SQL Server that need to be backed up, Qiling Backup can do you a favor.