【问题标题】:Can we use Backup-Sqldatabase cmdlet in powershell to generate stripped backup?我们可以在 powershell 中使用 Backup-Sqldatabase cmdlet 来生成剥离备份吗?
【发布时间】:2016-05-24 19:49:10
【问题描述】:

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

【问题讨论】:

  • 您确定条带备份是您真正需要的吗?

标签: powershell powershell-3.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

【讨论】:

    【解决方案2】:

    这只会生成用于备份的代码。

    使用下面的 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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 2010-09-20
      • 2017-08-03
      • 2011-06-10
      • 2022-07-11
      • 2013-08-15
      相关资源
      最近更新 更多