This blog present some more information about the “network binding order” setup rule that is present in SQL Server 2008. We have another blog that talks about the issues you can run into with incorrect binding order. In this one, I will talk about what this rule is, how it evaluates the result and some instances where this rule will report a warning, and what corrective actions to take in such scenarios.

What is the Network Binding rule for?This rule is there to verify that the domain needs to be accessible as the top network in the binding order or else performance problems might occur as the network stack tries to access the domain and times out because it has to fail on private networks until it gets to the domain network in the binding list.

How does this rule work?It’s pretty simple, actually. We look for the Domain Bound adapter by doing a registry query to look at the TCP/IP bind registry here.HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage :BindThe associated domain name is determined by doing a registry query on, HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DNSRegisteredAdapters\{ADAPTER_GUID}\PrimaryDomainName

If the above value matches the value of the current user’s HKCU\Volatile Environment\USERDNSDOMAIN, the rule is considered successful.

So if domain name for the topmost adapter is 'null', then the rule gives a warning. Whatever value the registry returns, SQL Server Setup decides to pass/fail/warning for the rule, it’s as simple as that!

Here is a handy script that you can use to get a quick look into all the network adapters along with their domain name bindings, plus the current user’s domain (credit to Ajith for this script). This is a simulation of the network binding order rule in SQL 2008 setup.

1.In case you are running into a situation where none of your network adapters have a domain name binding, then identify your domain NIC adapter from Network Connections and under Properties -> Internet Protocol (TCP/IP) -> Properties -> Advanced -> DNS, add a DNS suffix for the domain adapter.

Once you do this, your domain NIC will have a domain name binding, so we next we need to move this NIC adapter to the TOP of the network binding order.

2.To do this then identify the adapter ID for this domain adapter (using below command) and then move it to the top of the list in this registry key.HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage :Bind

You can use the following query to get a list of ALL adapter GUID’s and their nameswmic nicconfig get description, SettingID > C:\nicconfig.txt

Once you do this, exit the registry editor and then re-run the rule in the setup program. A successful detail.txt setup log will look like this,