Obecne se mi uz nekolikrat overilo, ze prilisne spolehani na MS se proste nevyplací.
Podle me klicove pro rozhodnuti jsou dve veci:
1. jak pise Radek: licence, platformy, skalovatelnost (co budu s aplikaci delat, az mi prestane platforma PC stacit a budu muset na nejake vykonejsi zelezo a OS atd.)
2. Sql jazyk u MSSQL IMHO vypada, jako kdyz pejsek s kocickou pekli dort tj., coz temer znemoznuje port na cokoli/ z cehokoli jineho. Takze jak jednou zvolis MSSQL jsi v koncich - vcetne platformy.
Jinak je to asi jedno: kazdy RDBMS ma svoje specifika, se kterymi je treba se vyporadat a nektera dost cloveka zaskoci, protoze by je nepredpokladal.
Pokud to charakter aplikace dovoli, drzel bych se nejakeho ORM, ktery sice ma radu omezeni, ale setre mi rozdil mezi ruznymi RDBMS a defacto mi dovoli aplikaci migrovat zmenou konfiguraku, kde se mu predepise jina DB. Dnes uz i pro Delphi existuje tusim Hibernate a komercni Aurelius a mozna jeste neco - nesleduju, protoze jsme si kdysi vyvinuli vlastni. A kdyz ne ORM, tak bych se snazil s tim zachazet tak, aby se dal pouzit i jiny RDBMS nebo aspon aby jeho zmena nebyl neprekonatelny problem.
Pokud je treba sahnout po triggerech a SP, zajistit integritu i kdyz se v tom budou hrabat cizi aplikace apod., pak bych osobne vybiral ze dvou free reseni:
1. Firebird
2. PostgreSQL
Firebird je urcite spolehliva RDBMS, ktera leccos zvladne a z pohledu programatora se tam slusne pracuje s triggery a SP, ale co by delala pod opravdu velkou zatezi nevim.
PostgreSQL patri naopak do rodiny velkych DB, ktery pri prvnim dojmu pusobi trochu tezkopadneji podobne jako DB/2, ale s rostouci zatezi nejde do kolen.