2016-09-07 3 views
0

私はOctopusを使用してデータベースと一緒にMVCプロジェクトを展開しています。 Deploy.ps1は、SQLプロジェクトは、SQL Serverの私は2012年を目指しているエラーSQL72018:データベースオプションをインポートできませんでした

# Add the DLL 
# For 64-bit machines 
Write-Host "Add Types" 
Add-Type -path ((Get-Item -Path ".\" -Verbose).FullName + "\bin\Microsoft.SqlServer.Dac.dll") 
Add-Type -path ((Get-Item -Path ".\" -Verbose).FullName + "\bin\Microsoft.SqlServer.TransactSql.ScriptDom.dll") 


# Create the connection string 
$services = New-Object Microsoft.SqlServer.Dac.DacServices ("Data Source=$dbSource;User Id=$dbAdminUser;Password=$dbAdminPassword") 

Write-Host "Load the dacpac " + ((Get-Item -Path ".\" -Verbose).FullName + "\Resources\Database.publish.xml") 
#Load the dacpac 
$dacpac = ((Get-Item -Path ".\" -Verbose).FullName + "\Resources\Database.dacpac") 
$dacpacoptions = ((Get-Item -Path ".\" -Verbose).FullName + "\Resources\Database.publish.xml") 

#Load dacpac from file & deploy to database 
$dp = [Microsoft.SqlServer.Dac.DacPackage]::Load($dacpac) 

Write-Host "dacProfile set" 
#Read a publish profile XML to get the deployment options 
$dacProfile = [Microsoft.SqlServer.Dac.DacProfile]::Load($dacpacoptions) 

Write-Host "Add dbUser" 
$dacProfile.DeployOptions.SqlCommandVariableValues["dbUsername"] = $dbUser 
Write-Host "Add dbPassword" 
$dacProfile.DeployOptions.SqlCommandVariableValues["dbPassword"] = $dbPassword 

Write-Host "About to deploy the dacpac" 
# Deploy the dacpac 
$services.Deploy($dp, $dbName, $TRUE, $dacProfile.DeployOptions) 

# Configure IIS 
.\DeployScripts\IISConfiguration.ps1 

を、ファイルのここ

An error occurred during deployment plan generation. Deployment cannot continue. 

Error SQL72018: Database Options could not be imported but one or more of these objects exist in your source. 
    at Microsoft.SqlServer.Dac.DacServices.CreateController(SqlDeployment deploymentEngine, ErrorManager errorManager) 
    at Microsoft.SqlServer.Dac.DeployOperation.<>c__DisplayClass3.<>c__DisplayClass5.<CreatePlanInitializationOperation>b__1() 
    at Microsoft.Data.Tools.Schema.Sql.Dac.OperationLogger.Capture(Action action) 
    at Microsoft.SqlServer.Dac.DeployOperation.<>c__DisplayClass3.<CreatePlanInitializationOperation>b__0(Object operation, CancellationToken token) 
    at Microsoft.SqlServer.Dac.Operation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) 
    at Microsoft.SqlServer.Dac.ReportMessageOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) 
    at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) 
    at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) 
    at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) 
    at Microsoft.SqlServer.Dac.DeployOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) 
    at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken) 
    at Microsoft.SqlServer.Dac.DacServices.InternalDeploy(IPackageSource packageSource, Boolean isDacpac, String targetDatabaseName, DacDeployOptions options, CancellationToken cancellationToken, DacLoggingContext loggingContext) 
    at Microsoft.SqlServer.Dac.DacServices.Deploy(DacPackage package, String targetDatabaseName, Boolean upgradeExisting, DacDeployOptions options, Nullable`1 cancellationToken) 
    at CallSite.Target(Closure , CallSite , Object , Object , Object , Boolean , Object) 
Errors occurred while modeling the target database. Deployment can not continue. 
    at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment.ThrowIfErrors(String message, ErrorManager errors, Object category) 
    at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentEndpointServer.OnLoad(ErrorManager errors, DeploymentEngineContext context) 
    at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment.PrepareModels() 
    at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment.InitializePlanGeneratator() 
    at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment.CreateController(Action`1 msgHandler) 
    at Microsoft.SqlServer.Dac.DacServices.CreateController(SqlDeployment deploymentEngine, ErrorManager errorManager) 

:データベースを展開するためのステップがヒットしたとき、私は次のエラーを取得しています他にどんな情報が役に立つか分からないので、もっと情報が必要な場合はお知らせください。すべての助けに感謝します。あなたの時間をありがとう!

+0

必要なパラメータを指定してSQLPackage.exeを実行して同じことを確認しましたか。実際のエラーが発生する可能性があります。このようなエラーはPowershellがターゲットデータベースを制御することができません。多くの理由が原因である可能性があります。私のケースの1つに、ファイアウォールも原因でした。SQLPackage.exeをそのローカルマシンからうーん。 –

+0

残念ながら、私が展開しようとしているサーバーにはSQLパッケージがインストールされていないため、どこにでもインストールする必要はありません。 – Michelle

答えて

関連する問題