ECC is error correcting, non-ecc means only very basic error correcting. Ecc is more betterest.
If you want to upgrade the CPU, the logical stepup for that machine would be something along the lines of an Intel Xeon E3-1230 V5. You've got an Lga 1151 motherboard, so you can only put a 1151 cpu in that board, and you need one with ECC support, so Xeon E3 V3 is an obvious choice.
ECC memory is only supported on Xeon, and skylake I3. I5 and I7 do NOT support ECC memory. Really, for a proper server, you'd want a Xeon. Your limited to the V5 and V6 E3 generations because of the socket. V5 is the safe bet as V6 might require a bios update to get working.
ECC support is one of the thing that separate Xeon from the iwhatever. Since its a server and i would guess that uptime and stability is the goal here i would go for ECC memory and a Xeon E3-12xx V5. As TheCaveman said a V6 would probably work but i wouldnt risk it since the performance gains would be minimal
True, but he's already on an I3 so if he wants to upgrade any farther, he'd want a Xeon. No reason to go from a dual core with HT I3 to another dual core with HT in a pentium or celeron.
Since the 4GB of ram you have is ECC, and the Xeon supports ECC, it would work. But as you said, it would not have onboard video. For a Xeon with onboard video, I'd recommend you look at xeon E3 1245 V5.
Skylake I3's (such as the one the server came with) support ECC memory, but I5's and I7's do not support ECC memory. Because of this, I5's and I7's are not compatible. I5's and I7's do though have comparable Xeon E3 counter parts. A xeon E3 1220 V5 is the core/thread/clockspeed equivalent of an I5, but with the added bonus of ECC memory. Xeon E3 1230 v5 and greater (1240 v5, 1245 v5, etc;) are comparable to I7's because Xeon 1230 v5 and greater support Hyper-threading like an I7 does.
It took a while but I finally had the money and got my xeon. The cooler that came with the xeon was smaller than the one that came with the computer, so I reused the larger heat sink. To my surprise it did run with the one 4gb stick, after running for about a half hour it warmed up to 85f. But I didn’t do anything to load it to 100%.