#PSTip Backing up a SQL database using SMO
Note: This tip requires PowerShell 2.0 or above.
In today’s tip, we shall see how we can use SQL Management Objects (SMO) in PowerShell to perform a SQL database backup. The Microsoft.SqlServer.Management.Smo.Backup class can be used to achieve this.
Let us see how:
Add-Type -AssemblyName "Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" add-type -AssemblyName "Microsoft.SqlServer.SMOExtended, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" $server = New-Object Microsoft.SqlServer.Management.Smo.Server $env:ComputerName
Once we have the server object, we can perform backup by running the following code snippet.
$backup = New-Object Microsoft.SqlServer.Management.Smo.Backup -Property @{ Action = [Microsoft.SqlServer.Management.Smo.BackupActionType]::Database BackupSetDescription = "Full backup of MyDB" BackupSetName = "MyDB backup set" Database = "MyDB" MediaDescription = "Disk" } $backup.Devices.AddDevice("C:\Backup\MyDB.bak", 'File') $backup.SqlBackup($server)Share on: