2017-07-06 150 views
0

服务无法启动。 System.ServiceModel.CommunicationException: 服务端点无法侦听URI 'net.tcp:// ssis01:9176/SSISService_v2_0 /',因为访问被拒绝。 验证是否允许当前用户在SMSvcHost.exe.config的相应 allowAccounts部分中进行访问。 ---> System.ComponentModel.Win32Exception:访问在 System.ServiceModel.Activation.SharedMemory.Read被拒绝(字符串名称,字符串& 内容)在 System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.ReadEndpoint(字符串 sharedMemoryName,字符串& listenerEndpoint)---内 异常堆栈跟踪的末尾在 System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.ReadEndpoint(字符串 sharedMemoryName,字符串& listenerEndpoint)在 System.ServiceModel.Channels.SharedConnectionListener .SharedListenerProxy.HandleServiceStart(布尔型 isReconnectin g)at System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.Open(Boolean isReconnecting)at System.Ser。服务无法启动拒绝访问

我曾尝试 我不是管理员,也许这是问题,对于

1)allowAccounts部分加入我的用户的SID在SMSvcHost.exe.config。然后重新启动服务第一NETSharing然后SSISService

2)当启动ssis服务时,它会引发一个错误“服务在本地计算机上启动和停止,某些服务如果没有被其他服务和程序使用,则会自动停止。从日志

这里是SMSvcHost.exe.config

配置文件
<?xml version="1.0" encoding="utf-8"?> 
<!-- The configuration file for SMSvcHost.exe --> 
<configuration> 
    <runtime> 
     <gcConcurrent enabled="false" /> 
    </runtime> 
    <system.serviceModel> 
     <!-- SMSvcHost ETW traces are redirected by default to an etwProviderId different from WCF's default. 
      To trace to the default provider, remove the etwProviderId attribute below. --> 
     <diagnostics performanceCounters="Off" etwProviderId="{f18839f5-27ff-4e66-bd2d-639b768cf18b}"/> 
    </system.serviceModel> 
    <system.serviceModel.activation> 
     <net.tcp listenBacklog="10" maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10" teredoEnabled="false"> 
     <allowAccounts> 
      <add securityIdentifier="S-1-5-21-873128402-3342024598-2051005476-53521"/> 
     </allowAccounts> 
     </net.tcp>   
    </system.serviceModel.activation>  
</configuration> 
+0

我也尝试在CMD命令提示符下添加服务Netsh http add urlacl url = http:// +:9176/SSISService_V2_0 user = domain \ user – user3920526

+0

WCF服务只能在管理员权限下运行。从管理员cmd提示符运行服务主机,或以管理员身份运行VS。 –

回答

0

我花了一段时间来解决这个问题

第一步。在运行命令窗口中regedit.exe

第2步:转到位置(路径位于屏幕截图的底部),以获取Adminstrator的SID。 enter image description here

第3步:复制Admin的SID,在这里您将看到所有登录用户的SID。但是您只希望它用于ADMIN,如何知道它是admin? 右键单击服务并转到属性,然后单击登录选项卡。 如果您看到屏幕截图1,您将会看到ProfileImagePath具有相同的名称DataSVC

enter image description here

步骤3:主要部分配置的变化 添加这行代码与SMSvcHost.exe.config的ADMIN SID。

<system.serviceModel.activation> 
     <net.tcp listenBacklog="10" maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10" teredoEnabled="false"> 
     <allowAccounts> 
      <add securityIdentifier="**ADMIN SID ID HERE** "/> 
     </allowAccounts> 
     </net.tcp>   
    </system.serviceModel.activation> 

第5步:先重新启动NETTCP共享,然后重新启动其他服务。应该解决这个错误的问题。谢谢大家