Clean up your setup config file
February 1st, 20241
Clean up your setup config file
February 1st, 20241
 
 

We came across a new error during SQL Server setup that returned zero useful search results:

The setting 'COMMFABRICPORT' specified is not recognized.

I did not find too many mentions of this argument at all, never mind in that specific phrase – though now that I wrote this, it might start returning this post. Most mentions came from probably a single sample copy of ConfigurationFile.ini offered on a blog post from the ~2017 timeframe.

Short-term fix

Some people will come across this error, remove that line from the configuration file, and then be hit by one of these (or each of them, in turn):

The setting 'COMMFABRICNETWORKLEVEL' specified is not recognized.
The setting 'COMMFABRICENCRYPTION' specified is not recognized.
The setting 'MATRIXCMBRICKCOMMPORT' specified is not recognized.

The fix is easy. You need to remove (or comment out, using a leading ;) all four lines:

; CM brick TCP communication port
COMMFABRICPORT="0"

; How matrix will use private networks
COMMFABRICNETWORKLEVEL="0"

; How inter brick communication will be protected
COMMFABRICENCRYPTION="0"

; TCP port used by the CM brick
MATRIXCMBRICKCOMMPORT="0"

These options are not related to the recently re-branded Microsoft Fabric; they were for an abandoned feature that never made the product. It's possible they're only known because they were produced in an ini file during a CTP/beta phase, and then inadvertently published for the world.

Until SQL Server 2022, these arguments were apparently ignored by setup. Well, it seems setup has been cleaned up, and it has stopped ignoring deprecated options – instead raising the above error.

You should remove these (and maybe other) options, or you'll start hitting this issue too. (If you look through the other options, a few serve no purpose. ENABLERANU, for example, is hopefully not a very useful switch in most of your deployments.)

Long-term fix

It might make more sense to stop bringing forward old configuration files and refresh in whole. If you reuse the same config files across versions, it's possible the settings you chose before don't make sense anymore. Revisit to be sure, in any case.

If you want to generate a brand new one based on the current version, whether you're planning an upgrade or a fresh install, you can manually / ClickOps walk through the right setup path, pick all the desired features and settings, and then pause on the last step. At that point, you can retrieve the ConfigurationFile.ini it produced, and hit Cancel:

The tail end of setup (click to lightbox)

I've confirmed that if you do that using SQL Server 2022, these fabric- and matrix-related switches are no longer there. They are still there if you use SQL Server 2019, though. See all the supported arguments here, at least for the most recent version.

You can then make any desired changes to that file, feel free to be liberal with comments explaining any options that are not the default, save it somewhere reliable (think: source control), and reuse it in all of your command-line installs…

setup.exe /Q ... /ConfigurationFile=C:\ConfigRepo\SQL2022.cfg

…or pass it to PowerShell, include it in projects, or whatever.

Just remember to do this again for future versions of SQL Server.

By: Aaron Bertrand

I am a passionate technologist with industry experience dating back to Classic ASP and SQL Server 6.5. I am a long-time Microsoft MVP, write at Simple Talk, SQLPerformance, and MSSQLTips, and have had the honor of speaking at more conferences than I can remember. In non-tech life, I am a husband, a father of two, a huge hockey and football fan, and my pronouns are he/him.

1 Response

  1. February 2, 2024

    […] Aaron Bertrand diagnoses a problem: […]