2012-01-13 52 views
1

我有一个Powershell查询来获取我的数据库的备份。但我需要备份不同名称的数据,如DATABASEBACKUP_CURRENTDATE。我怎样才能做到这一点?如何创建动态PowerShell查询?

./RedGate.SQLAzureBackupCommandLine.exe /as: AzureServerNAME/ad: AzureDatabaseName /au:AzureUserName /ap:AzurePassword /cc /s /ls:. /ld:LOCALDATABASENAME_CURRENTDATE /dl /v /ba 

回答

0

首先,构建一个包含当前日期的字符串:

$backupName = $("Backup-{0}" -f [DateTime]::Now.ToString("yyyy-MM-dd")) 

然后调用展鹏和使用日期字符串作为参数:

./RedGate.SQLAzureBackupCommandLine.exe /as: AzureServerNAME /ad: AzureDatabaseName /au:AzureUserName /ap:AzurePassword /cc /s /ls:. /ld:$backupName /dl /v /ba 

埃德:Copypaste /标记搞砸与括号和冒号,固定'他们。

+0

当我试图建立一个字符串我在Now.ToString(“yyyy-MM-dd”)上出错。您必须在'-f'运算符的右侧提供值表达式。 在线:1 char:32 + $ backupName = $(“Backup- {0}”-f <<<< Now.ToString(“yyyy-MM-dd”)) + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException + FullyQualifiedErrorId:ExpectedValueExpression – 2012-01-13 05:29:07

0

要获得当前日期构造一个字符串,你可以简单地做:

"DATABASEBACKUP_{0:MM-dd-yyyy}" -f [DateTime]::Now 

它会给类似DATABASEBACKUP_01-12-2012。您可以使用它作为论据,在另一种解决方案需要

0

投掷...

“DATABASEBACKUP _ $(获取最新-format MM-DD-YYYY)”