How does DB2 Express compare to Sql Server Express? - sql-server

I have only just found out about DB2 Express. I had a quick look and was unable to find a load of information about it but would be interested in hearing how people have found it compared to SQL Server Express (particularly 2008) in terms of
Ease of deployment
Ease of use and development tools
Limitations such as size or CPU limits
Integration with .NET and other third party tools like nHibernate

DB2 Express is not free, DB2 Express-C (as Troels pointed out), is free to use. DB2 Express-C is cross-platform, and would probably be faster than PostgreSQL for mid-sized enterprise applications. DB2 is generally a little cheaper than Oracle as well, so if you needed to upgrade, DB2 might be a decent option.
I'd recommend DB2 Express-C if you need cross-platform enterprise scalable applications with solid enterprise grade management tools. That said, your question was how it compared against SQL Server Express ... so here are specific answers to those questions:
DB2 Express is easier to deploy than Oracle, more difficult than MS SQL.
For whatever reason, I've always dropped into SQL DDL statements (CREATE/ALTER TABLE, etc.) with DB2 and Oracle instead of using their Admin tools, while SQL Server Management Studio (even the free version) seem easy/fast enough to warrant using. This might just be me though
Currently DB2 Express-C has a 4 core (2 CPU), 2 GB limit, with no database size limit (more info). These limits are far better than MSSQL Express's (1 CPU, but no core limit, 1GB RAM, and 4GB database size)
Not surprisingly, SQL Server Express integrates much better with .NET applications (assuming you're using Visual Studio). However, DB2 generally works better with Java than SQL Server
I hope this helps!

I assume that you are talking about the Express-C edition of DB2 (which is not the samme as DB2 Express).
1,2: If you are generally working on a Windows platform (dev tools, backend+frontend, ...), you will find MSSQL easier to deploy and use. And in general, MSSQL is probably a bit easier to deploy than DB2.
3: Among the free offerings from the "big three" vendors, DB2 Express-C has the least restrictions.

Related

SQL Server 2008 Installation pointers for optimizing Performance and Scalability

We are working for a client with an asp.net/SQL server application which has been using a SQL Server 2005 system till now. The client has decided to upgrade the database to SQL Server 2008 R2 and has procured a powerful server machine with 16 processors with enough RAM and installed Windows Server 2008 64 bit on the system. Now we are tasked with the installation of SQL Server 2008 on the system followed by migration of the existing DB from the SQL 2005 box. Now I am not a SQL Server DBA nor am I a System Administrator by role. Hence, in spite of reading up a lot of the literature on the net, I am not quite able to make sense of it all or put it in the right order of execution. Can somebody explain me the following items, preferably in terms of bullet lists:
What are the points of consideration during installation of SQL Server 2008, specifically in terms of
Configuring memory usage
Configuring the SQL Server to take advantage of the multiple processors available
Other factors to configure to enable SQL Server 2008 features for performance and scalability
Other points, if any, for configuring the Windows Server 2008 with respect to SQL Server 2008
Note: We will only use the Database Engine services in SQL Server. The applications does not use SSIS, SSRS, etc.
SQL Server will take advantage of whatever processors are available. Processors will be shared between sessions - if all of the work is being done by a single session, then it will all occur on the same processor (to the best of my knowledge - this requires citation).
Memory usage is dynamic by default, meaning that there is no restrication on memory usage. You can limit the memory usage used by the server (right-click on the connection in SSMS and select properties) if needed. This is generally used if the instance is part of a server performing other tasks, such as running other database instances, web service tasks, etc.
SQL server is pretty good it sorting itself out according to its environment. If you are in a position that you need to create a server farm and distribute data and processing between different machines, this is a whole new topic, discussed at length on MSDN and the StackExchange forums.

Choosing between SQL Server Express and SQL Lite

I have a project requirement to choose a light database for the application.
It's required to choose between SQL Server Express Edition or SQLLite. Which one would be efficient and reliable. I am supposed to run it under Windows 7/Windows 2008 R2. I am newbie in the database programming. It would be helpful if you can share some information in terms of
Reliability
Stability
Size Limits
Memory consumption
Performance
SQL Server Express and SQLite aren't really comparable database systems.
SQL Server Express is the free version of Microsofts full SQL Server product, a standalone database server (often run on a dedicated machine) that client applications connect to. It is designed for things like web applications where many users will be using the database at the same time and there is a requirement for high availability.
SQLite is a compact in-process database that is often used in applications that benefit from having access to a SQL based database system however it isn't feasible to install a full standalone database alongside the application. For example Firefox uses SQLite to store bookmarks and Adobe Lightroom uses it to store its photos catalog, there are also several mobile (e.g. iPhone) applications that use SQLite.
The Microsoft equivalent to SQLite would be SQL Server compact edition (CE) which is free to distribute and use. SQL Server CE is very similar to SQLite in most respects.
Similarly the non-Micrososft equivalent of SQL Server (both the Express edition and the full edition) would probably be MySQL.
Although there are crossovers (you might build a small web application that uses SQLite, or a large desktop application that requires users to install SQL Express) typically the choice between the two "types" of database system (in-process vs standalone database server) is down to the type of application being developed.
You might find more details in the following article: http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.html

Which SQL Server 2008 version to be used

I need to install SQL Server 2008 on the server. I wanted to know which edition of SQL Server 2008 would scale for the usage of 350+users. Can you please share your views to select on which would be more appropriate?
SQL Server 2008 Datacenter
SQL Server 2008 Enterprise (32/64bit)
SQL Server 2008 Standard
SQL Server 2008 Developer
SQL Server 2008 Workgroup
Thanks,
With only user counts to go on and no idea how well the DB is architected AND how well written/designed the software application is for scalability makes this question very hard to say whether you will have scalability problems. Scalability of SQL Server has been well tested but often it is not SQL Server's fault that something is scaling badly. It is often a failing of the application code or a poor DB design.
However, with what you have given us information wise.....
Options 1-3 should be fine in general for that many users.
Option 4 is only meant to be on a developers workstation.
Option 5 is meant for small teams / users.
I'd say any of 1, 2 or 3 will work fine. Which of those you choose is going to depend on what type of application you are developing and what features you will be using. The Datacenter version is probably overkill, so it's probably going to come down to whether you need the features that Enterprise offers over Standard.
Probably the most significant difference is the CPU support - Standard only supports 4 CPUs. You can see a detailed comparison here
Generally I think the same as the tow above but it depends also from many various factors.

What to consider when getting started with SQL Server?

I've got experience with MySQL, DB2, and Oracle, but aside from writing a few queries, I've never used SQL Server.
My question is a three parter:
1) For a developer, what are some good "free" client tools to look at, and why (by "free" I mean open source, freeware, or the tools that come with SQL Server itself)?
2) I plan to run Developer or Express Edition on my workstation for development, and either Standard or Enterprise Edition in the testing and production environments. What methods exist if any for transferring data between different servers and the different editions?
3) Are there any common pitfalls that someone like me (who is used to the other database systems that I mentioned) might encountered during development?
TIA
SQL Server Express with tools.
All editions have the same SQL language features and code is 100% portable between them. There are 3rd party tools to synch changes, but moving entire DBs is easy using inbuilt tools.
Nah. The problem with databases is SQL and set theory, not the choice of RDBMS. If you understand databases/SQL you'll be OK.
SQL Server Management Studio which comes with SQL Server (any editions), or you can download it separately. SQL Server Profiler which doesn't come with Express.
Management studio has tools for backup/restore database. You can also consider detach/attach method to synchronize db .
It's hard to say. But if you had Mysql experience you will be pleasantly surprised by SQL Server.
UPDATE
There are so many things that each DB vendor implements differently that it's really hard to focus on some of them. One thing I was not used before is that SQL Server doesn't let unique columns to have more than 1 NULL value(there is a workaround though)

Question about Reporting and Data Warehousing Software bundled with SQL Server 2005

We currently use SQL Server 2005 Enterprise for our fairly large application, that has its roots in pre SQL Server 7.0. The tables are normalized and designed mainly for the application. The developers for the most part have the legacy SQL Server mindset. Only using the part of TSQL that existed back in 7.0, not using any of the new features of tsql or that are bundled with 2005.
We're currently trying to build on demand reports using some crappy third party software, and will eventually try to build a data warehouse using more of the same crappy third party software (name removed to protect the guilty, don't ask I will not tell). The rationale for this was that we didn't want to spend more money to buy this additional software from Microsoft (this was not my decision, I had no input, but is my problem now). But from what I can tell is that Enterprise includes all of these tools, or am I missing something?
What comes bundled with SQL Server 2005 Enterprise as far as reporting and data warehousing? Will we need to purchase anything else? is there actually anything else that can be purchased from Microsoft in this regard?
Well, first - I would go with 2008 R2 for that regard, much better for reporting.
DAta warehousing in 2005 is just that. 2008 did introduce optimizatoins for star schemata in the query optimizer.
2005 I think has report services that you can use - though they got a LOT better with 2008 and 2008 R2 (graphs etc.)
Besides that think getting rid of SQL for analysis - the data warehouse should get loaded into cubes in SQL Server Analysis Services and run the reports against those.
All that (reporting services, analysis services) is part of the enterprise edition you use. There is hardly any use for something else unless you have unusual needs.
Enterprise edition contains Reporting Services that you can install that. It is a powerful service for reporting.
If you find you're unhappy with Reporting Services (seems to not work well for about 35% of the people who try it), please take a look at Windward Reports. With that said, I hope it does work well for you as that is your least expensive and quickest route forward.

Resources