SQL Server's weaknesses:
It is platform specific (NT). This means several things:
If you inherit a diverse environment, it won't run on all platforms (or you'll have to migrate)
Key features (such as security and clustering efficiency) are only as strong or as weak
as your NT administrators can make it
It cascades locks: if you take out enough row locks, it will cascade to a table lock.
It's SQL is querky (despite MS's claim to be ANSI 92 compliant - which I'm sure it is
somehow) - in particular printing from SQL Analyzer is very poor.
It is still more limited in some sizes and maximum capabilities than Oracle (e.g. if your table
has columns which occupy more than about 8k, you're going to have to re-think your design.)
It's pretty poor in managing batch-type processes (this is really another weakness of NT
rather than SQL Server)
A practical issue: in many sites, it's the Systems Administrators that have been trained to
implement SQL Server and, while some of my best friends are SAs and do a grand job, many of
them do not understand relational technology.
SQL Server's strengths
It is tightly integrated to it's GUI, which is often a joy to use.
Sending alerts etc. through Mail is easy.
There is a clear migration progression from single-user access to Enterprise SQL Server
In general, Oracle's strengths and weaknesses are the reverse of those above. I guess I could
add:
It's been around the block a few more times than SQL Server.
It has a lot of good tools available (both Oracle and 3rd party - although I guess that depends
on what you think of (e.g.) Developer.