I am developing a medium/large scale stand-alone application which will contain
3 logical tiers (Presentation/Business/Data), but only 1 physical tier (app
and SQL server running on same computer) for now. It is highly likely in
the near future the SQL server will be on a dedicated machine and multiple
apps will be networked together.

My dilemma is a colleague insists as much business logic as possible should
reside in the SQL server rather than in Business tier in business objects.
I am dead set against this for philosophical reasons, but I need some hard
facts to plead my case.

Does anyone have some solid, technical reasons to back up my claim that the
database should simply provide data, not business logic (other than the obvious
fact that it violates the layered architecture). I tried explaining it,
but to no avail.

Thanks for your input.