Re: Reasons NOT to run a Windows 7 PC as a Database server?
Capabilities:
Enterprise RDBMS isn't just about large file support. It is also much more tunable for performance. However given what you've said about the application and pricing, that may not be a compelling advantage.
Hardware:
PC OEMs are also extremely price-sensitive, and their margins are thin. So they use parts that are cheaper and less reliable than server hardware. Also, given their intended use they have little or no fault-tolerance capability, e.g. redundant power supplies, RAID controllers, error-correcting RAM, etc. Similarly, the disks and disk controllers you get in PCs are not as reliable as those in servers. Even if your application doesn't write a lot of information, or have high TPS, you still want the data to be correct and corruption-free. And even if the application doesn't have to run 24/7, it does need to run when the business runs. If the smoke gets out of the power supply or the hard drive decides one day not to let you boot, the client will have downtime and will not be happy. Cheap hardware is a false economy.
OS:
Features like directory permissions and firewalls exist in all OSes, so that isn't a knock against Windows per se. As with any OS, you do need someone who is knowledgeable enough to configure it properly. However the need for anti-virus software and frequent reboots for system updates is a knock against Windows. Client versions in particular, which are more feature-rich, also have the biggest attack surface for malware.
Windows may use DHCP by default, but that is configurable. You can use static IP addresses if you wish, but as I said earlier understand that networking in Windows Server vs. Windows clients is not identical.
Three reasons:
1. PCs are made with commodity consumer-grade parts that are designed primarily for low price, not reliability. They have relatively high rates of failure. Failure, at best, is downtime and temporary business impact. Failure, at worst, is data corruption or data loss and sustained business impact. Databases are tested most and work best with server hardware.
2. All OSes require maintenance, but Windows requires more. That translates to higher cost of ownership. Also, Windows is much more susceptible to malware attack.
3. Client OSes are for client workloads. Period.
I would suggest a low-end server with a couple of disks in RAID 1. If you want to save money on OS licensing, install CentOS. And figure out a reasonable backup plan with the client. Cheap hardware and code aren't worth a damn if they lose their data.