In general, the less attackable surface area, the better. You're are on the right track with constraining that down to a specific source IP. Following the least privilege principal, you should deny all destination ports and only open up the ones you actually need. You would then have to weigh the cost of administration against the risk. The risk is going to depend on several things such as how sensitive the data is you are accessing, if the server is compromised, what is the quantified loss, etc.
That being said, it is far more likely that an attacker will exploit a vulnerability on the customer's server from inside their own network than it would be for them to perform a man in the middle attack and nab your credentials, sensitive db material, etc. IP spoofing in practical application would not be much of a worry here. It is usually used to scan a network or to frame another machine/IP. It becomes extremely complicated to spoof an IP and do anything functional when using protocols that require a session to be setup between a source and destination. Possible, but not probable. (see arp or dns poisoning)
Another more likely attack vector (to the DB) could be that your own machine/network is compromised, and the attacker could pivot from there and hit the DB machine. Of course, at this point, you would have bigger problems. ;) Hope this helps a bit.