Sql server 如何使用SSIS代理用户从SSIS使用WCF服务?

Sql server 如何使用SSIS代理用户从SSIS使用WCF服务?,sql-server,wcf,ssis,database-administration,netnamedpipebinding,Sql Server,Wcf,Ssis,Database Administration,Netnamedpipebinding,我的项目使用netnamedpipe服务对数据库执行CRUD操作并访问数据库对象。 问题:当我使用SSIS中的NetNamedpipe服务并通过使用SSIS configuration manager中的本地主机凭据(使用Windows身份验证)通过SQL server代理运行作业时,作业正在成功执行,并按预期对表执行CRUD操作。 但是,当我使用SSIS代理用户(再次处于Windows身份验证模式)运行相同的作业时,它会给我以下附加错误 Executed as user: {domain\Pr

我的项目使用netnamedpipe服务对数据库执行CRUD操作并访问数据库对象。 问题:当我使用SSIS中的NetNamedpipe服务并通过使用SSIS configuration manager中的本地主机凭据(使用Windows身份验证)通过SQL server代理运行作业时,作业正在成功执行,并按预期对表执行CRUD操作。 但是,当我使用SSIS代理用户(再次处于Windows身份验证模式)运行相同的作业时,它会给我以下附加错误

Executed as user: {domain\Proxyuser} 
. ...System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri, IPipeTransportFactorySettings transportFactorySettings)
     at System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddress address, Uri via)
     at System.ServiceModel.Channels.CommunicationPool`2.TakeConnection(EndpointAddress address, Uri via, TimeSpan timeout, TKey& key)
     at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
     at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
     at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
     at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
     at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
    Exception rethrown at [0]:
      at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
     at System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout)     at System.ServiceModel.ClientBase`1.System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout)
     at ST_4afb40bbfa44442385f42de501c36110.csproj.ScriptMain.Execute()
包已成功执行。。。这一步成功了

我们是否有任何单独的方式使用SSIS代理用户的WCF/netnamedpipe服务

注意:代理用户具有访问CRUD操作所需数据库对象的登录凭据


请帮助我解决这个问题,因为我在过去几个月里一直面临这个问题,并使用SQL server代理角色运行作业,这在PROD环境中是不可取的。

如何托管WCF服务?如果是IIS,则可以在IIS应用程序池标识中配置执行CRUD操作的用户。此外,模拟和委派可以使服务代表客户端执行操作,但Netnamedpipebinding不可行。我们在本地计算机中使用services.msc使用WCF服务,生产环境也是如此,但这里的问题是,当我使用SQL server代理执行作业时,身份验证是如何工作的,以及为什么它不与SSIS代理用户一起工作?在WCF中,运行客户端的身份无法传递给服务器。它要求在代表客户机标识执行CRUD操作之前打开WCF的模拟。我不知道您如何称呼它,但如果您更改托管服务服务器端的执行标识(例如windows NT服务的登录帐户),它必须工作。