Delphi - database server
Since I've been evolving in Firebird for several years now, if I was in your situation, I wouldn't look any further. The fact that you can develop your own udf library in Delphi makes it very attractive to start with. Some of the newer SQL constructs like List aggregator and Common Table Expressions are icing on the cake. Deployment is very lightweight (less than 5MB) and support is excellent, including incredible tools like IBExpert. I have used MS SQL Server at a large company that I worked for several years ago and I would choose Firebird over MS SQL Server.
a source to share
SQL Server data access has nothing to do with the .NET framework. Delphi can only connect to SQL Server.
In terms of database engines that work with delphi, another you might want to consider is Sybase Advantage Database Server
a source to share
I would definitely recommend looking at Interbase by Embarcadero or the open source Firebird . Both are very well supported by Delphi with native high performance db access components etc.
Interbase is a completely reliable database - I would put it on par with SQL Server or Oracle. It is fully capable of handling medium to high traffic for at least 50-100 users at the same time, no problem.
Another competitor on two floors will be the Elevate DB and Nexus DB . Both of these were built from Delphi file based databases and both have been around for some time (in one form or another) and are well established, widely used, well tested.
Mark
a source to share
SQL Server. In 2005, you can create your own SQL Server deployment application that automates the installation of Windows Installer 3.1, .NET Framework 2.0, SQL Server 2005, and then database installation via a generalized SQL script (feel free to contact me if you need help. I will gladly help you). If you still insist that you don't install the .Net framework, which is 22MB, I would say I go with SQL Server 2000 as you can still upgrade to 2005 whenever you want.
Also, I have been using Advantage Database Server for several years and everything is fine, A little DLL to copy over and you are ready to go even if you want to upgrade to a remote version.
a source to share
I've been developing in Delphi for about 6 years using various editions of SQL Server and this database server has behaved very well. They were all important applications.
So, I would recommend that you keep it. If you don't want to use .NET and support SQL Server, I would recommend an older version before 2005.
a source to share
This is not really an answer, but some things you might want to consider before coming up with.
What do you mean by medium scale? Do you mean the number of concurrent users or the amount of stored data?
Are you going to maintain the database when it is deployed, or might the client have their own DBAs and want to include them on their infrastructure team?
Do you need sophisticated built-in features like auditing or the thorough security that some databases can provide out of the box? Do you need to manage the running batch process in the database in some controlled manner?
Do you need robust high volume transaction support or is it more suitable for use as a data sink? that is, more OLTP or OLAP?
Are you limited in cost? those. does it need to be free / open source or can you choose a paid vendor product?
Both Firebird and Interbase are great, but not very well received in a "corporate" environment in my experience, unless they are "disabled" and built into the application. MS SQL Server is the "safe bet" for most systems. There is a cost associated with it, but as you know, it comes with a complete set of tools and very good support.
If you're on Firebird or Interbase, then look at the Jason Wharton IBObjects library, which provides a high performance BDE replacement when using these databases. http://www.ibobjects.com/
a source to share