我有一个COM +组件并且它启用了访问限制,现在当我尝试从SQL Server访问组件时(所有内容都在SQL中启用以访问COM),我收到访问被拒绝错误。 SQL从LOCAL系统帐户运行(在Windows 8.1上)。
错误如下。
"A method call to an object in a COM+ application was rejected because the
caller is not properly authorized to make this call. The COM+ application
is configured to use Application and Component level access checks, and
enforcement of these checks is currently enabled. The remainder of this
message provides information about the component method that the caller
attempted to invoke and the identity of the caller.Svc/Lvl/Imp = 10/6/1,
Identity = NT AUTHORITY\SYSTEM ."
为COM组件启用了访问检查,安全级别为“执行检查以及进程和组件级别”。如果我只使用进程级安全性,它将起作用。或者,如果我从本地系统以外的任何其他帐户运行SQL Server它将起作用(我为COM +启用了角色并添加了本地组作为角色的用户,并且我添加了所有帐户,包括本地系统帐户作为成员这个可以访问COM组件的组。
根据我的理解,本地系统帐户可以无限制地访问本地资源,或者我错过了其他任何内容。