It turned out that TCP/IP was enabled for the IPv4 address, but not for the IPv6 address, of
Apparently some connection attempts ended up using IPv4 and others used IPv6.
Enabling TCP/IP for both IP versions resolved the issue.
The fact that SSMS worked turned out to be coincidental (the first few attempts presumably used IPv4). Some later attempts to connect through SSMS resulted in the same error message.
To enable TCP/IP for additional IP addresses:
- Start Sql Server Configuration Manager
- Open the node SQL Server Network Configuration
- Left-click Protocols for MYSQLINSTANCE
- In the right-hand pane, right-click TCP/IP
- Click Properties
- Select the IP Addresses tab
- For each listed IP address, ensure Active and Enabled are both Yes.