1
我的工作實現自動化的SSDT項目的腳本,以便它可以在以後用其他值來部署變量傳遞英寸註釋掉集瓦爾聲明中的錯誤真實結果從MS建立
我發佈配置長相喜歡這個。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetConnectionString>Data Source=.;Integrated Security=True;Pooling=False</TargetConnectionString>
<TargetDatabaseName>BLANK</TargetDatabaseName>
<UpdateDatabase>False</UpdateDatabase>
<ScriptDatabaseOptions>True</ScriptDatabaseOptions>
<BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
<CreateNewDatabase>True</CreateNewDatabase>
<IgnoreObjectPlacementOnPartitionScheme>False</IgnoreObjectPlacementOnPartitionScheme>
<ProfileVersionNumber>1</ProfileVersionNumber>
<CommentOutSetVarDeclarations>True</CommentOutSetVarDeclarations>
</PropertyGroup>
</Project>
在我的測試腳本,我然後調用從PowerShell中
以下$Directory = 'C:\GitProjects\CI\DevPOC\Database\ETL POC\AdventureWorksDW\'
$Publish = 'AdventureWorksDW.publish.xml'
Set-Location $Directory
& $env:windir\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /t:Build
& $env:windir\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /t:Publish /p:SqlPublishProfilePath`="$Directory\$Publish"
然後我得到了一些錯誤,所有涉及到的變量值,下面的例子中。
Deploy error SQL72014: SQL Execution error: A fatal error occurred. The variable DatabaseName could not be found. [C:\GitProjects\CI\POC\Database\ETL POC\AdventureWorksDW\AdventureWorksDW.sqlproj]
但是,如果我將CommentOutSetVarDeclarations設置爲false,則會生成無錯誤的腳本。當通過SSDT執行相同的任務時,不會引發錯誤。
有沒有人遇到類似的行爲?