2012-01-13 82 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)」