I have a Windows Server 2008 machine with dual NICs. Both are plugged into the same switch in a typical one-switch, one-gateway home network.
This server is used almost exclusively for inbound connections. It hosts a web server (IIS 6), SQL server, and file server (via LAN UNC paths and mapped drives).
How do I make best use of inbound bandwidth across both NICs? For example, if I connect to it by hostname and one of the interfaces has high traffic, I'd like the new connection to use the other interface.
You could use Windows bonding to bond the NICs together. But the amount of bandwidth between one NIC and the public Internet is minimal. The odds of you seeing much of a slowdown over that NIC is minimal.
Transmit load-balancing is quite simple, you just enable it on the NIC and it should send traffic out through both ports.
However receive load-balancing is a bit more involved. In short:
You must ensure your traffic is coming in on multiple IPs because load balancing is achieved on a per-connection basis. I don't know a way to load balance a single connection across 2 NICs.
Adapter teaming doesn't really work that way, certainly in general Windows use anyway. its handled at the driver level so the operating system just sees 1x2Gb connection, for example, instead of 2x1Gb connections and a choice of which one to use.
How intelligently this is handled is a function of the NIC, switch and their associated software/drivers rather than the OS.