gpt4 book ai didi

c# - MSDTC 从独立机器到域机器

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:00 24 4
gpt4 key购买 nike

问题是我们在使用 TransactionScope 的独立网络服务器(Windows 2003 SP2 - 机器名称是 TESTAPP,可以在下面的日志中看到)上有一个网站。

SQL Server 2008 R2 机器(Windows Server 2008)在域内。

当独立机器命中 TransactionScope 时,它​​会失败(随后会出现错误详细信息)。

当我从与数据库服务器位于同一域的机器上运行代码时,它工作正常。

在独立机器上,我得到以下普遍存在的错误:

Error HRESULT E_FAIL has been returned from a call to a COM component.

但是 MSDTC 设置正确,顺便说一句,它使用网络服务。 DTCPing.exe 两种方式都可以正常工作。

在深入研究数据库机器后,我发现了以下审计失败:

帐户登录失败。

Subject:
Security ID: NULL SID
Account Name: -
Account Domain: -
Logon ID: 0x0

Logon Type: 3

Account For Which Logon Failed:
Security ID: NULL SID
Account Name: TESTAPP$
Account Domain: WORKGROUP

Failure Information:
Failure Reason: Unknown user name or bad password.
Status: 0xc000006d
Sub Status: 0xc0000064

Network Information:
Workstation Name: TESTAPP
Source Network Address: 192.168.**.**
Source Port: 1202

独立机器正在尝试使用它自己的机器名称登录到 SQL Server 机器,天知道它使用什么作为密码。

因此是否有可能让 MSDTC 从独立机器到域机器工作?

附言如果可能(如果有其他方法),我不想影响“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\TurnOffRpcSecurity”注册表项。

附言如果可能的话,我想在 MSDTC 上保留 Mutual Authentication Required,(我知道一个可能的解决方案是将 MSDTC 设置为不需要身份验证,但我不确定这是否完全有必要)

关于它的奇怪的事情是使用一个测试独立的网络服务器到域数据库服务器 MSDTC 无论设置为无身份验证还是相互身份验证都工作正常! :S

附言两台机器上的防火墙都关闭。

最佳答案

啊,要是我早点尝试使用实时系统的副本来设置测试就好了......

一旦我关闭相互身份验证并将其设置为无身份验证,它就非常有效。

附言在不向外界开放 MSDTC 机器/端口的环境中,No Auth 并不是一个安全漏洞。参见 potential risks of using unsecure rpc no authentication required setting in msdtc security configuration

关于c# - MSDTC 从独立机器到域机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16236839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com