Another thing I expect is: Get a good error message when something goes wrong.
Sounds trivial, but is far from being wide spread - for example there are cases where violated permissions lead postgres to silently do nothing, instead of throwing an error. (At least a colleague of mine observed that; which is the reason why we did the last project with Firebird. Firebird is great in many ways, but the Perl driver (DBD::InterBase) sucks). Also Mysql with the myisam driver parses lots of things and then ignores them - not good, IMHO.
Anyway, SQLite is quite good, Postgres is quite good (I've never encountered the permissions problems myself, so I don't know how much of a problem they are in the wild). Firebird is also quite good (and rock solid), but in some regards a bit ancient, and as mentioned above, the Perl driver is not so good.
- links to (nearly) everything that is Perl 6.