2017-03-17 10 views
2

を参照するために:T-SQL展開後のスクリプトの私は、次の展開後のSCRIPT1としてDACPACをdeployngよどの変数

ALTER DATABASE [$(DatabaseName)] 
MODIFY FILE (NAME = [$(DatabaseName)], 
      SIZE = 100MB, MAXSIZE = UNLIMITED, FILEGROWTH = 20%) 

しかし、私はこの後の展開スクリプト2を参照しようとすると、展開を失敗:

ALTER DATABASE [$(DatabaseName)] 
MODIFY FILE (NAME = [$(DatabaseName)], 
      SIZE = $(size), MAXSIZE = UNLIMITED, FILEGROWTH = 20%) 

私の質問は、サイズとして渡す正しい構文は何ですか?

私はこれはエラーDSCが示してある

$resourceGroup = "SQL1" 
$vmName = "SQL1" 
$storageName = "sql1artifactsstorage111" 
$ConfigurationPath = "C:\DSC\Ext\deployDB.ps1" 
$ConfigurationName = "deployDB" 
$configurationArchive = "deployDB.ps1.zip" 
#Publish the configuration script into user storage 
Publish-AzureRmVMDscConfiguration -ConfigurationPath $ConfigurationPath -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force 
#Set the VM to run the DSC configuration 
$configurationArguments = 
@{ 
    Credential = Get-Credential; 
    DatabaseName = 'Database1' 
    size = '100MB' 
} 
Set-AzureRmVmDscExtension -Version 2.22 -Name dscExtension -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName $configurationArchive -AutoUpdate:$true -ConfigurationName $ConfigurationName -ConfigurationArgument $configurationArguments 

(最初の作品をSCRIPT1、スクリプト2にはない)スクリプトを開始するには、このコマンドを使用します。

Dac Deploy Failed: 'Exception calling "Deploy" 
with "3" argument(s): "An error occurred during deployment plan generation. 
Deployment cannot continue."' 
+0

「展開後」とタグ付けされた複数のファイルがありますか?デプロイ後のファイルは1つのみで、:rタグを使用して、デプロイ後のスクリプトで実行する他のファイルを含める必要があります。 –

+0

配備後スクリプトが1つしかありません – WinBoss

答えて

3

動的SQLは、最後の避難所であります悪ふざけ:

EXEC ('ALTER DATABASE [$(DatabaseName)] MODIFY FILE (NAME = [$(DatabaseName)],SIZE = $(size), MAXSIZE = UNLIMITED, FILEGROWTH = 20%)'); 
GO 

私のために働いていましたが、Azure D SC。

これは、多くの場合、TSQL変数置換をサポートしないこれらの「DBA-esque」アクティビティを実行するための汎用技術です。


将来の読者への注意:このトリックは明らかに機能しました。つまり、OPは答えとしてマークしました。ただし、(おそらく)は、ワークステーションとビルドサーバー間のDacFXのバージョンが異なるためにのみ必要です(another SO post relating to the same error messageなどを参照してください)。

関連する問題