我们可以在powershell中使用Backup-Sqldatabase cmdlet来生成剥离备份吗?

时间:2016-05-24 19:49:11

标签: powershell powershell-v3.0

我可以使用Backup-Sqldatabase cmdlet将数据库成功备份到一个.bak文件。但是,我想为数据库生成剥离的备份文件。这可以使用cmdlet吗?

2 个答案:

答案 0 :(得分:1)

cmdlet有一个参数-backupFile,可以接收一组文件名。至少使用-Script参数,发出的TSQL看起来很合理,所以它应该工作。像这样,

PS SQLSERVER:\> Backup-SqlDatabase -Script -ServerInstance ".\sqli001" -Database TestDB -BackupFile @("c:\temp\1.bak", "c:\temp\2.bak")

BACKUP DATABASE [TestDB] TO  DISK = N'c:\temp\1.bak',  DISK = N'c:\temp\2.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD,  STATS = 10
GO

答案 1 :(得分:0)

这只会生成代码以进行备份。

使用以下PowerShell脚本执行备份,我提供了一种将动态值传递到备份文件路径的方法,如下所示。

 $path = 'D:\BackupFolder\TestDB.Bak,E:\BackupFolder\TestDB.Bak'

 $QUERY = Backup-SqlDatabase -Script -ServerInstance ServerName  -Database TestDB -BackupFile @($path.split(','))

 invoke-sqlcmd -query "$QUERY" -ServerInstance "SQLInstanceName"