我可以使用Backup-Sqldatabase cmdlet将数据库成功备份到一个.bak文件。但是,我想为数据库生成剥离的备份文件。这可以使用cmdlet吗?
答案 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"