If permissions... I can't tell what is different between the successful deployment vs the failed one. Same domain same domain service accounts.
SQL 2014 Std
Deploy SSIS project with one package to the Integration services catalog.
Using VS 2017 (SSDT) from SQL server local.
This works on a VM clone of the production database but will not work on the production server.
In SSISDB database under security on the successful deployment
the certificates node has 3 certs
MS_cert_Proj_1
MS_cert_Proj_Param_1
MS_SQLISSigningCertificate
the Symmetric Keys has 2 keys
MS_Enkey_Proj_1
MS_Enkey_Proj_Param_1
In SSISDB database under security on the failing deployment
the certificates node has 1 cert
MS_SQLISSigningCertificate
the Symmetric Keys has 0 keys
Deploy wizard causes
Cannot find the certificate 'MS_Cert_Proj_2', because it does not exist or you do not have permission.
this value increments on successive deployment tries
MS_Cert_Proj_2
error report
<WizardReport xmlns="http://schemas.datacontract.org/2004/07/Microsoft.SqlServer.IntegrationServices.Wizard.Common.Model" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Results>
<Children/>
<Header>Results</Header>
<ReportItems>
<SummaryReportItem><Message i:nil="true"/>
<Property>Loading project</Property>
<Status>Success</Status>
<Value i:nil="true"/>
</SummaryReportItem>
<SummaryReportItem><Message i:nil="true"/>
<Property>Connecting to destination server</Property>
<Status>Success</Status>
<Value i:nil="true"/>
</SummaryReportItem>
<SummaryReportItem>
<Message i:nil="true"/>
<Property>Changing protection level</Property>
<Status>Success</Status>
<Value i:nil="true"/>
</SummaryReportItem>
<SummaryReportItem>
<Message>Cannot find the certificate 'MS_Cert_Proj_2', because it does not exist or you do not have permission.</Message>
<Property>Deploying project</Property><Status>Failure</Status>
<Value i:type="a:string" xmlns:a="System.Data.SqlClient.SqlException">http://www.w3.org/2001/XMLSchema">System.Data.SqlClient.SqlException (0x80131904): Cannot find the certificate
'MS_Cert_Proj_2', because it does not exist or you do not have permission.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean
describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean
asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.SqlServer.IntegrationServices.Common.ObjectModel.SqlHelper.ExecuteSQLCommand(SqlStoreConnection storeConnection, CommandType cmdType, String cmdText, SqlParameter[] parameters, ExecuteType execType, Int32 commandTimeout)
at Microsoft.SqlServer.Management.IntegrationServices.CatalogFolder.DeployProject(String projectName, Byte[] projectStream)
at Microsoft.SqlServer.IntegrationServices.Wizard.Common.Model.DeployExportProjectHelper.DeployProject(CatalogFolder folder, Project project)
at Microsoft.SqlServer.IntegrationServices.Wizard.Common.Model.DeploymentModel.Deploy(CatalogFolder folder, Project project)
at Microsoft.SqlServer.IntegrationServices.Wizard.Common.Model.DeploymentModel.DeployProject()
ClientConnectionId:3fc5cd24-04bd-4a66-9841-f286ce8964d4
Error Number:15151,State:1,Class:16</Value>
</SummaryReportItem>
</ReportItems>
</Results>
<Summary>
<ReportSection>
<Children/>
<Header>Use the following arguments to perform this deployment from the command line:</Header>
<ReportItems>
<SummaryReportItem>
<Message/>
<Property>Command line</Property>
<Status>None</Status>
<Value i:type="a:string" xmlns:a="/Silent">http://www.w3.org/2001/XMLSchema">/Silent /ModelType:Project /SourcePath:"C:\SSIS\TimeClockPlus\AIST_TimeClock_first_bulk_import\bin\Development\AIST_TimeClock_first_bulk_import.ispac"
/DestinationServer:"THESERVER" /DestinationPath:"/SSISDB/AIST_TimeClock_0/AIST_TimeClock_first_bulk_import"</Value></SummaryReportItem></ReportItems></ReportSection><ReportSection><Children/>
<Header>Source</Header>
<ReportItems>
<SummaryReportItem>
<Message/>
<Property>Path</Property>
<Status>None</Status>
<Value i:type="a:string" xmlns:a="C:\SSIS\TimeClockPlus\AIST_TimeClock_first_bulk_import\bin\Development\AIST_TimeClock_first_bulk_import.ispac</Value">http://www.w3.org/2001/XMLSchema">C:\SSIS\TimeClockPlus\AIST_TimeClock_first_bulk_import\bin\Development\AIST_TimeClock_first_bulk_import.ispac</Value>
</SummaryReportItem>
</ReportItems>
</ReportSection>
<ReportSection>
<Children/>
<Header>Destination</Header>
<ReportItems>
<SummaryReportItem>
<Message/>
<Property>Server name</Property>
<Status>None</Status>
<Value i:type="a:string" xmlns:a="THESERVER</Value">http://www.w3.org/2001/XMLSchema">THESERVER</Value>
</SummaryReportItem>
<SummaryReportItem>
<Message/>
<Property>Path</Property>
<Status>None</Status>
<Value i:type="a:string" xmlns:a="/SSISDB/AIST_TimeClock_0/AIST_TimeClock_first_bulk_import</Value">http://www.w3.org/2001/XMLSchema">/SSISDB/AIST_TimeClock_0/AIST_TimeClock_first_bulk_import</Value>
</SummaryReportItem>
</ReportItems>
</ReportSection>
</Summary>
</WizardReport>