So the right practice is to configure MSDTC on both the sever with SQL (Server A) and the other server with webservice (Server B). Ensure they are on the same network so the MSDTC will allow for both server to communicate. Then when setting up webservice on Server B I would put the SQL Server name that's on Server A and the System database. then it will communicate with the help of MSDTC with no issues.
Am I correct?
They do not have to be (and I believe it's recommended that they not be) on the same server; you define the SQL server and SYS_DB during the web service deployment
for webservices to communicate with SQL, should they be on same server? if not then apart from MSDTC, how webservices communicate with SQL?
check out page 61 of the Web Apps deployment guide PDF
Microsoft
Distributed Transaction Coordinator Setup
If you have Microsoft SQL Server, Microsoft Dynamics SL Web Services, or Microsoft Dynamics SL Web Apps installed or deployed on different Windows Server computers, you must set up Microsoft Distributed Transaction Coordinator (MSDTC) on each server.
Note:
• You must use either a local administrator or a domain administrator to make these changes.
• Changes to MSDTC may require you to restart the computer or restart the SQL Server windows service.
• There are transactional consistency implications when you use Windows Backup and Restore on a DTC-enabled SQL Server. For more information, see technet.microsoft.com/.../cc730995.aspx.
To set up Microsoft Distributed Transaction Coordinator, follow these steps on each server:
1. Change the Distributed Transaction Coordinator windows service.
a.) In Administrative Tools, select Services.
b.) In the Services window, locate the Distributed Transaction Coordinator service.
c.) Verify that the settings are as follows:
— Status = Started
— Startup Type = Automatic (Delayed Start)
— Log On As = Network Service
d.) Edit the settings if they do not match, and then restart the service.
e.) Close Services.
2. Change the Windows Firewall to allow MSDTC through.
a.) In Control Panel, select Windows Firewall.
b.) Click Allow a program or feature through Windows Firewall.
c.) Select the check box to the left of Distributed Transaction Coordinator, and at least one of the network profile check boxes to the right.
d.) Click OK, and then close Windows Firewall.
3. Configure MSDTC to accept network access.
a.) In Administrative Tools, select Component Services.
b.) Expand Component Services, expand Computers, and then expand My Computer.
c.) Expand Distributed Transaction Coordinator, right-click Local DTC, and then click Properties.
d.) On the Security tab, select Network DTC Access.
e.) If this is the server where the Web Services are deployed or SQL Server is installed, also select the following check boxes: Allow Remote Clients, Allow Inbound, and Allow Outbound.
OR
If this is the server where the Web Apps are deployed, select the Allow Outbound check box.
f.) Click OK.
g.) Close Component Services.
André Arnaud de Cal... 291,642 Super User 2024 Season 2
Martin Dráb 230,371 Most Valuable Professional
nmaenpaa 101,156