I'm trying to connect to the SSDB catalog to execute a package using the .NET object model e.g.
using Microsoft.SqlServer.Management.IntegrationServices; var sqlConn = new SqlConnection(connectionString); var ssis = new IntegrationServices(sqlConn); var project = ssis.Catalogs["SSISDB"].Folders[package.Path].Projects[package.Project]; var pinfo = project.Packages[package.Name + ".dtsx"]; var id = pinfo.Execute(false, env, packageParams)
If I run this I get an error
The server principal "XXXX" is not able to access the database \"SSISDB\" under the current security context
If I grant the user sysadmin rights it works, so it's definitely a permission issue, but I can't use that as the solution.
Under the old Integration Services model you would make the user a member of db_ssisadmin, db_ssisdtuser or db_ssisoperator - tried that and it doesn't help :-(