The issue normally only occurs when MSDTC is using the same cluster virtual name as SQL. The point of failure seems to be API call to “RegConnectRegistryEx” with the SQL network name. When this specific issue occurs, the call returns HR “0x80070035” (ERROR_BAD_NETPATH). This is specifically network path not found.

 

The simplest way to reproduce the problem was to open “regedit”, and from the file menu “Connect Network Registry” using the SQL network name as the remote registry. If this problem is being seen, this step will fail.

 

During the SQL installation, SQL can set the following resource key to true (1): “KEY_LOCAL_MACHINE\Cluster\Resources\%ResourceGUIDFORSQLNETWORKNAME%\Parameters\RemapPipeName”, when by default it is false (0). This is why it only affects SQL Cluster groups. On its own this should not cause the problem, however it seems when the above key is set and the following key is missing then we can encounter this issue:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:

Name: NoRemapPipes

Type: REG_MULTI_SZ

Data: winreg

                      svcctl

                      eventlog

 

The best way to resolve the issue is to add the three exceptions (winreg, svcctl and eventlog) to the latter “NoRemapPipes” key as above.

 

Chris Forster