I heard on the grapevine that Microsoft will be releasing SQL Server 2008 R2 within a year. Though I initially thought this was a patch for the just released 2008 version, I realised that it’s actually a completely different version that you would have to pay for. (Am I correct, if you had SQL Server 2008, would you have to pay again if you wanted to upgrade to 2008 R2?)
If you’re already running SQL Server 2008, would you say it’s still worth the upgrade? Or does it depend on the size of your company and current setup. For what I’ve initially read, I do get the impression that this version would be more useful for the very high end hardware setup where you want to have very good scalability.
With regard to programming, is there any extra enhancements/support in there which you’re aware of that will significantly help .NET Products/Web Development?
Initially found a couple of links on it, but I was wondering if anyone had anymore info to share on subject as I couldn’t find nothing on SO about it?
Thanks.
New SQL Server R2
Microsoft Link on it.
Microsoft SQL 2008 R2
EDIT: More information based on the Express Edition
One very interesting thing about SQL Server 2008 R2 concerns the Express edition.
Previous express versions of SQL Server Express had a database size limit of 4GB. With SQL Server Express 2008 R2, this has now been increased to 10GB !!
This now makes the FREE express edition a much more viable option for small & medium sized applications that are relatively light on database requirements. Bear in mind, that this limit is per database, so if you coded your application cleverly enough to use a separate database for historical/archived data, you could squeeze even more out of it!
For more information, see here:
http://blogs.msdn.com/sqlexpress/archive/2010/04/21/database-size-limit-increased-to-10gb-in-sql-server-2008-r2-express.aspx
You've got a few different questions in here, so here's each one with the answers:
Am I correct, if you had SQL Server 2008, would you have to pay again if you wanted to upgrade to 2008 R2?
Yes. Microsoft is taking the approach that you get patches for free (Service Packs and Cumulative Update Packs), but new features cost money. SQL Server 2008 R2 contains new features. If you just want to stay current on patches, check out the SQL Server Release Date Calendar at SQLServerPedia. I keep the free patches on there.
If you’re already running SQL Server 2008, would you say it’s still worth the upgrade?
It depends on what you're using it for. The main focus of 2008 R2 is business intelligence. If you're doing data warehousing or analytics, it'll be worth the upgrade.
With regard to programming, is there any extra enhancements/support in there which you’re aware of that will significantly help .NET Products/Web Development?
No.
I was wondering if anyone had anymore info to share on subject as I couldn’t find nothing on SO about it?
It's not even available as a beta yet, so you won't find much in the community. For insider tidbits, search for Project Gemini or Project Kilimanjaro in your favorite search engines. These were the pre-release codes for the big components in SQL Server 2008 R2. Several months ago, I collected some of the Kilimanjaro and Gemini stories on my blog.
Well, based on the practice by many larger corporations and organizations to wait until a service pack 1 is available for any given Microsoft product, it might still be a while before you can deploy SQL Server 2010 - pardon me: 2008 R2 :-)
SQL Server 2008 is indeed quite an extensive update, and if you have the option to deploy it, I personally would definitely recommend doing so. It does have a plethora of new features that no doubt will make your life easier one way or another.
Marc
Related
I want to create table automatically using new table option in oracle SQL developer,but that option is disabled in my tool.
Can any one please help me out in this issue.
Please find the below image highlighted with red mark for your better understanding.
Thanks in advance.
To quote Jeff Smitth:
SQL Developer is built by Oracle, for Oracle. It’s the database IDE.
...
But, SQL Developer is also ... a 3rd party database migration platform.
...
Since we support migrations from these other database platforms, wouldn’t it be neat if SQL Developer could connect and query those 3rd party databases too? Surprise, surprise – that’s exactly what we DO do today.
What ‘Support’ means
You can connect to, browse, and query (SELECTs only) SQL Server, DB2, Access, MySQL, and Teradata.
What ‘Support’ does NOT mean
providing debuggers
delivering database administration features
write access to the database
Sound a little harsh or spartan? Going much further in any of these areas would just open a big ole can of worms, and we’re committed to providing an optimal experience for the Oracle database. But, since we already support these limited features, there’s no real reason to hide it.
That post is from 2012, but as far as I'm aware is still mostly true.
Since creating tables would count as write access and a DBA feature, it isn't a matter of enabling the option for your MySQL database, it isn't supported. This is an area of functionality that only applies to Oracle databases. (Even though Oracle Corp. owns MySQL... this means the Oracle RDBMS).
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm developing a small application with C# in .NET and I want to have a small light weight database which does not use much resources.
Could you please list some of the best known light weight database softwares.
14/06/2016 Yep... still getting upvotes :-/
17/03/2014 I'm still receiving upvotes for this, be mindful of the date this was originally answered. Though the main three items listed are still entirely viable, the list will tend towards becoming stale. There are further database technologies available that are not listed.
You have a couple of immediately recognisable and free options:
SQL Server Express LocalDB
SQL Server Compact Edition
SQLite
The SQL Server Compact download comes with the ADO.NET provider that you will need to reference in code. The SQLite download might not have it so here is a link:
http://sqlite.phxsoftware.com/
All three use SQL, though likely with a few limitations / quirks. Management Studio works with Compact and LocalDB, whereas with SQLite you will need another UI tool such as SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
There are NoSQL alternatives, such as:
Sterling
RavenDb
Personally I would avoid using MS Access in the face of other free options. You cannot go wrong with LocalDB, Compact, or SQLite. They are all lovely small databases that run relatively quickly in little RAM - personal preference as to the religious aspects about liking a Microsoft product I suppose :-)
I use Sterling for Windows Phone programming as it is built to use Isolated Storage. I have only seen articles on RavenDb, but I can tell you that it is a JSON based document storage framework.
Not to confuse the situation (go with SQLite, SQL Server Express LocalDB, or SQL Server Compact Edition), but there are other embedded / local databases out there, some are relational others are object-oriented:
Embedded Firebird
db4o
VistaDb
SharpHSQL
Berkeley DB
Eloquera
SiaqoDb
Not all of these are free. SQL / LINQ / in-proc support differs across them all. This list is just for curiosity.
There is now also Karvonite, however the code gallery link is broken. When it's live again I'll be looking into this one for WP7 development.
I'd recommend SQLite. We are using it for almost all of the apps we develop where I work.
It's small and compact. It does require a DLL to be in the app directory, but you don't have to have other software installed like Access or SQL Server. Also, as stated by danielkza below, "SQLite is public domain, so you don't have to worry at all about licensing." That can really make a big difference.
You can use System.Data.SQLite or csharp-sqlite to access it in a C# app using the same methods as that of SQL or OleDB.
You will also need an application to edit/manage the database. The best one in my opinion is SQLite Studio. Here are a couple more:
SQLite Admin
SQLite 2009 Pro (bottom of the page)
Update - 7/25/11 - More SQLite apps (question here on SO)
Here's more on SQLite:
SQLite on Wikipedia
Companies that use SQLite
Custom Functions:
As an addition, if you are looking in the SQLite Core Functions and don't see one you like, you can create your own custom functions. Here are a couple of examples:
From SOAnoter example
Firebird embedded can be a good choice
The embedded version is an amazing variation of the server. It is a
fully featured Firebird server packed in just a few files. It is very
easy to deploy, since there is no need to install the server.
There is some very good dot net drivers
SQL Server Compact if you want to use the official microsoft solution. This has the advantage of being able to use replication with SQL server if you need that sort of thing.
SQLite if you want to somthing very simple small and free. This is what android uses for it's internal databases so it is very well supported and there are very good .NET bindings available.
One distinct advantage of SQLite is that it is cross-platform. So if you wanted to port your application to Mono.NET then you wouldn't have any modifications to make to the database implementation.
I do not like MS Access for this solution but a lot of people have included it in their answer. It is limited due to the proprietary format and platform dependence. It does have it's advantages though. You can manipulate data easily if you have a copy of MS Access, you can build queries graphically and create macros. You can easily integrate it with the rest of MS Office.
Out of all these SQLite would be my recommendation due to it being so compact, well documented and supported by a growing army of fellow developers regardless of platform.
EDIT
I realized that there is another option that everybody here forgot to mention
So long as you don't need relational tables you could use CSV file read as a dataset via ADO.NET. (More of a lulz suggestion than anything else but would be suitable in some cases and doesn't require additional libraries for a MS deployment.
If you are building a project with .NET 4.0.2 or greater and want embedded database support, consider SQL Server Express LocalDB.
It's a relatively new addition to the Express family that features a smaller installation footprint and reduced management overhead (when compared to other editions of Express), yet it maintains the programmability aspects of SQL Server. That is, unlike Compact Edition, LocalDB does not require the installation of a separate ADO.NET provider to communicate with SQL.
See the following for more details:
SQL Express v LocalDB v SQL Compact Edition (MSDN Blogs)
SQL LocalDB vs SQL Server CE (Stack Overflow)
what about http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
in particular MongoDB for .Net
http://www.mongodb.org/display/DOCS/Home
You could use Sql Server Express Edition as its free and is equally powerful until and unless you want functionality like mirroring etc. Have a look at this.
I've used db4o with success.
File based, large community, simple to use.
http://www.db4o.com/
Licensing Details
Free General Public License db4o is licensed under the GPL by default.
The GPL license is ideal if you plan to use db4o in house or you plan
to develop and distribute your own derivative work as free software
under the GPL as well.
Commercial License A commercial license is required if you want to
embed db4o in a commercial non-GPL product. Commercial licensees gain
access to premium services and support.
An alternative that hasn't been mentioned if you don't require it to be a free database is VistaDB. It's all managed code, provides tons of features for an embedded database, and offers pretty good performance. A pretty good bridge between SQL CE and SQL Server Express since the majority of your VistaDB stored procedures will run without modification in SQL Server Express. I've been pretty pleased with customer service at this point as well. I've been using it at work. No services to start. An empty DB is around 1MB and the DLL is pretty lightweight too. Has ADO.NET providers and such things. I liked it a good bit.
VistaDB
SQL server Compact Edition best as it is free and Light in Size and integrates Well
SQL Server Express or MS Access
I have deployed my web application (ASP.NET/C#) on the Server (Win 2003) to make it possible to merge word documents and open them.
Everything worked fine: a .doc ducment was added to the bottom of another .doc document (using Microsoft.Office.Interop.Word libraries) and then opened with the client MS Word.
Unfortunately in the weekend an automatic update has been done on the Server by another team and I do not know yet which kind of update was done (maybe an Office 2003 Update, but it might be even a Server patch).
Anyway after that I get the following Warning in the Event Viewer and the application hangs when it comes to use Microsoft.Office.Interop.Word libraries:
Detection of product '{90110409-6000-11D3-8CFE-0150048383C9}',
feature 'OfficeUserData', component '{4A31E933-6F67-11D2-AAA2-00A0C90F57B0}' failed.
The resource 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MS Access Database\' does not exist.
We do not even use MS Access, but SQL Server instead.
What I fear is that registry keys have been changed and now the system does not work anymore as expected.
I set the "NETWORK SERVICE" user with privileges to access/launch word and it is the same user used also for the Default App Pool. We use IIS6, Windows Server 2003 e Word 2003.
Could suggest any approach of solution? (even if I know that without knowing which update has been done, it might be hard).
Thanks
Using and Office components (beit Office itself or the PIAs) on a server is to be avoided at all costs:
Microsoft does not currently
recommend, and does not support,
Automation of Microsoft Office
applications from any unattended,
non-interactive client application or
component (including ASP, ASP.NET,
DCOM, and NT Services), because Office
may exhibit unstable behavior and/or
deadlock when Office is run in this
environment.
Microsoft KB article
Like many others, I am regularly confronted with this problem and there is no easy solution.
Either dedicate a little server somewhere to do your Office stuff (and be prepared to reboot it regularly) or use a third-party product that doesn't reference the PIAs.
Sorry to be the bringer of bad tidings...
You should be able to check under the Windows updates to see what updates were recently applied. Hopefully, you could roll them back until you find the culprit.
Paul's right. Deploying a solution using MSOffice apps on a server can be a +very+ dicey proposition. Be prepared, and make use of watchdog timers and code to enumerate and kill errant WINWORD.EXE processes when you think it might have dropped off the deep end. it's not elegant stuff, but it can be made to work.
As for 3'rd party tools, I've looked at A LOT of them. If you're building a doc from scratch, most are ok, though they have varying levels of implemented functionality.
If you can work with DOCX files exclusively, the OpenDoc XML SDK works quite nicely and is free. But it sucks to actually manipulate existing documents.
If you're planning on using existing documents as templates, you're options become much more narrow. You can do it with the OpenXML SDK, but it's VERY difficult. Windward reports works, but can be $$$.
Most of the "Word Compatible" libraries for sale don't implement all the functionality you're likely to need.
You'll most likely find that using the Word Object Model API is the only route to give you the capability you'll need. But, as always YMMV.
I am developing a small web application,Its data size is constant.
i.e data dosent grow with date/user.
I would like to know if I can use Oracle Express for this application.
http://www.oracle.com/technology/software/htdocs/xe_lic_prod.html
Any use of the Oracle Database Express Edition is subject to the following limitations;
1. Express Edition is limited to a single instance on any server;
2. Express Edition may be installed on a multiple CPU server,
but may only be executed on one processor in any server;
3. Express Edition may only be used to support up to 4GB of user data
(not including Express Edition system data);
4. Express Edition may use up to 1 GB RAM of available memory.
So I would say, yes.
Does Oracle enforce these limits themselves? If not, how to limit the instance to run on only one CPU?
I think the limitations of Oracle are pretty deep. My experience with Oracle shows that they make money selling consultancy, and to do this they don't document their products. Expect to have a really though time if you want to do a non-default install or some fancy configuring.
Why not choose:
MySql, MS SQL Express or Postgre SQL ?
They are all free and have less limitations. If you develop your site using ASP.NET or Java or PHP all of these make sense. Postgre SQL is probably one of the strongest free database engines out there.
If you want to be really cool and flexible, use an ORM like (N)Hibernate or Linq. This will abstract the database you use, so you can easily change databases later on.
Without knowing the details of all the things you require my response will reflect that.
To name a few:
1. How many users will be connecting into this database?
2. Will it be CPU or IO bound system?
3. What DB features do you need?
Oracle Express will most likely handle your vague CURRENT needs. The issue you will most likely run into first is if your data grows beyond 4GB. I wouldn't assume your data will stay constant, few things stay constant. The pain of dealing with purging data every time you hit the 4GB data limit or having to move data to a new database is not worth the FREE marketing hook that got you to use it in the first place. If you don't plan to ever pay for an Oracle license you might be better off using an open source database such as PostgreSQL or even MySQL that won't have artificial limits placed on the software and who's license will always be free. Personally I would go with PostgreSQL.
I find Oracle Express a nice tool to get a quick install of Oracle on my laptop to learn with. I wouldn't use it for anything in production though many people probably do.
Those are my thoughts without knowing all your requirements.
And yes Oracle enforces the limitations stated previously by Thilo in the software.
We have a small 3 developer team that is currently using Subversion for our source control. We expect the team to group to 8 members within the next 6 to 12 months. We are considering changing our source control to either TFS or Mercurial for improved branching. I know TFS is overkill for just branching, but that is the immediate need, and the other features of TFS could aid our team. One of our main concerns with TFS is we've heard that there is a lot of overhead deploying it, especially on a small team. I'm hoping to get some community insight into just how much overhead there may be involved, suggestions to make the process easier, and anything else the community may feel is useful in making the decision to implement.
In my experience, TFS works really well, even for small teams. If your total number of developers is five or less, you can use the relatively affordable Workgroup edition: above that, you'll have to pony up for the real thing, pricing for which is definitely in the 'Enterprise' realm...
The biggest hurdle to starting to use TFS is installing the darn thing: this process seems to be designed for maximum aggravation. (The extent to which the 'designers' of the 2005-to-2008 upgrade 'process' despise their users even manages to go beyond that: fortunately, you'll be able to start with TFS2008 and won't have to worry about upgrading for a while).
If you follow the instructions exactly, you should manage in 2-3 tries, though, and the hardware requirements aren't as bad as they seem. My 3-developer TFS setup runs quite comfortable on a previous-generation Dell laptop with 4GB of RAM.
One of the big advantages of TFS is the VS integration: this works just really, really well, and shelving and branching are implemented in a more straightforward way than with any other systems I've seen.
The process guidance and support in TFS are a bit less polished, but still quite usable. The pluggable support for several development methodologies is quite nice, and several third-party add-ons (for example for Scrum) are available already.
All in all, it definitely won't hurt to try TFS: if you have a MSDN subscription, you probably already have the Workgroup edition as well as a trial of the full version: otherwise, you can downloaded the latter from Microsoft as well.
UPDATE, April 12th, 2010: With the release of Team Foundation Server 2010, the installation and upgrade procedures have improved a lot. A new TFS2010 install shouldn't take you more than a few minutes (assuming you already have an instance of SQL Server 2008 up and running) and even an in-place upgrade of my TFS2008 setup proved to be entirely painless.
Setup of TFS is not too complicated, when you exactly follow the given guide step by step. We are using it on a small team for about one year now and i don't want to miss it any more.
Especially when you use more than one part of tfs like version control and work item tracking and maybe even teambuild, your team will benefit of the tight integration of the seperate parts.
For example, you can link to workitems when checking in code changes.
Then you run an automated build with teambuild and it will automatically update your workitems with the build number.
So afterwards you can see for example in a bug workitem the buildnumber which contains the bugfix.
We also use the sharepoint wiki for documentation and planning although i'm not the biggest sharepoint fan...
The main point is the great integration into the IDE and for workitem tracking the Teamsystem Web Access which allows you to control at least your workitems over a webinterface.
It's been awhile, but I'm thinking that it takes about a half-day to get setup, plus some time reading the manuals beforehand to make sure you know what you're doing. Configuration doesn't take too long -- you need to add all of your developers in as licensed users. Setting up projects is not too hard. I usually set up AD groups to map on the project roles and add those groups to the appropriate roles. I set up a new project in about 1/2 hour.
Note: I don't use any of the features of TFS except source control. If you plan to item tracking, use the project sharepoint site, etc., your mileage will vary quite a bit. I've found that on our projects (2-3 developers) a wiki works just as well for project management.