We have a Sql Server 2005 Standard Edition running on a Production website. We'd like to move to a cloud hosting but they only offer Sql Server Express Edition on there.
My question is, will there be any problems in moving over? We only use tables, views, stored procedures and a few user defined functions. And we also have a Backup Maintenance Plan in place. Will any if this change?
WHat other limitations/problems (if any) can we expect to have? And is it a good idea to run on Express in Production?
And I would like to add, will it be OK if we moved from SQL server 2005 Standard to Sql Server 2008 Express - what possible problems there could be with this move?
There are limitations for SQL Server 2005 Express as listed here
These include:
- max 1GB RAM only
- max DB size of 4GB
- 1 CPU
Theses restrictions may cause you a problem. See the full list in the link.
With regrd to moving from 2005 Standard, to 2008 Express, then I expect the limitations of Express Edition may be the main factor when you consider if it really is an option. The limitations for 2008 Express are similar, see here.
Hope this helps
The migration im unsure.
Express does not support triggers (fully), nor SQL scheudling.
Its size is limited to 4GB.
You can only ever have one instance with express.
It does however support Full Text and Reporting Services (in the express advanced edition)
We have plenty of clients running SQL Express due to cost. Only small pain has been the need to write a windows service for a job that could be easily run in proper SQL scheduling in the paid for the version.
Im sure there are many more differences but these are the ones im aware of, hope this helps.
I've used SQL Server Express for simple data persistence in production with no issues.
From the looks of your situation the only feature that will not be supported is backup maintenance. However, if you're hosted on a cloud, your ISP should take care of backup for you.
Related
My company is planning to migrate it's intranet/internet based ERP to the latest form of MS SQL Database available.
Presently we are using SQL Server 2000 Professional.
And we are planning to shift to SQL Server 2008 Web edition.
Please tell me whether this is the right step and whether it is feasible or not.
Thank you in advance.
"Please tell me whether this is the right step " - that's something you and your company need to decide.
It is feasible, and in the majority of cases straight forward.
Your first step should be to run the Microsoft SQL Server 2008 Upgrade Advisor
Microsoft SQL Server 2008 R2 Feature Pack contains the Microsoft SQL Server 2008 R2 Upgrade Advisor
Formulate and test a rollback plan
Determine your upgrade window and acceptable downtime.
Ensure database consistency: Run DBCC CHECKDB on databases to be upgraded to ensure that they are in a consistent state before performing the upgrade.
Back up all important files: Back up all SQL Server databases from the instance to be upgraded (including master, model and msdb), data and transaction log files, as well as any application files, script files, extract files, etc. so that you can completely restore them in the event of a failure.
It's both feasible and easy. The path from one version of SQL Server to another is usually pretty simple. Do you have any special stored procedures or reports generated in SQL Server that need to be rewritten/re-imported?
As far as right step - the question is, Why? If it's working, do you really need to mess with it?
If it's for intranet (some app for your internal usage) then consider using SQL 2008 Express edition. It's free and you can use it as an instance running along the full 2000 version. That way you will have some extra features from the full version.
But you have to know that applications running on SQL 2000 may not work on 2008 and they are even more probable not to work on 2008 R2.
I am about to move servers and i was talking to somebody and they suggested using sql server express 2008 installed on the servers. I have full access to the server.
Does this express engine work at the same speed (performance) as a true sql server 2008?
I know about the limitations i..e max 4 GB per DB ... and max 1 GB of ram... Considering the server has 2GB installed and is shared with windows... i don't see this being a problem but would love to hear some feedback..
I have around 4 dbs .. and they have maybe 4 users logged into them at the same time, its not a great deal of use really...
What i really trying to mesure up is if i should installed SQL SERVER 2008 FULL version on the server or express..
Any help with a choice would be really helpful.
It appears express uses the same DB engine as the FULL version ...
I don't need any clever replication, clustering or things like that...
But i want to go down the right path ...
Any help really appreciated
Express is the same code as the other SQL editions (Workgroup, Standard, Enterprise/Developer and Data Center). The only different code base is the 'CE' edition, that is based on the mobile SQL CE code. Express has the restrictions you already enumerated (DB size, RAM) and also is using only one scheduler, so in effect will use only one CPU core. Also certain features are restricted in Express, like certain replication scenarios. The biggest advantage is that customers can start with Express and if they out-grow its capabilities they can swap in a higher edition without any application change, the database files are interchangeable between all editions, including Express.
Its the same engine, but I found you have to fight it all the way in making it anything but a desktop-environment database, from management to tcpip configuration, etc. And of course, it has built in limits on database size and resource usage. Once it is configured the way you want though, it runs fine. In real production settings I find the lack of SSIS quite the killer, though.
So the bottom line is that it is usable, but not great. You might also consider the Workgroup edition, which is reasonably priced and less limited, but of course it is more expensive than free.
Just to add to this SQL Express 2008 R2 can use multiple cores (but only 1 CPU).
You'll probably be fine with Express. It's the same basic engine. If you ever want to upgrade, the process should be rather painless.
you should be fine, performance should be similar to full version in your case since your databases are small
I am currently developing a very simple database that tracks people and the company certifications they hold. This db will need to store letters of certification as PDF files. I was asked to develop this in MS Access, but I think it would be better to build it in SQLServer and use Windows Forms to build the interface. This app will need to be accessible from a public location like a share drive.
My question is, would it be better to do this in SQLServer like I think, or am I full of it and my boss is right on the money? Or are we both wrong?
A good alternative to Access which I use a lot is SQL Server Compact (SqlCe). This is a completely different product than SQL Server Express/Standard/etc. It is an in-process database like Access, it does not run as a separate process or service.
It is free
Full ACID support
Supports multiple connections
Full transactional support
Referential integrity (including cascading updates and deletes)
Locking
T-SQL syntax and SQL Server data types (same API as SQL Server)
Small footprint (~2 MB)
Easy deployment (supports ClickOnce, MSI, XCopy, etc)
Database is contained in a single file you can move around
Supports ADO.NET, LINQ to SQL, LINQ to Entities.
This is an extremely difficult question, without an understanding of the scale of the application. In my opinion, I wouldn't touch Access with a 33.5 ft pole.
Benefits of Access:
No dedicated machine necessary
No problems with portability
Benefits of SQL Server
Better SQL compliance
Better management control
Are you planning to store PDF files in the DB? If so, why?
I choose SQL Server.
An application built on SQL Server will be more robust and support more users than one built on MS Access.
An application built on MS Access can be easier to debug because there is a lack of a server, lack of significant multi-user support, and the entire database sits in a single file on disk that is easily copied around.
Given that, in almost every case, I choose SQL Server over MS Access.
Argh, do the world a favour & use SQL server. Express editions are free, and plenty powerfull enough for your requirements. You can even continue to do the form/report/UI design in Access if you so desire, it can hook up to SQL Server very easily and transparently.
Pros of SQL over access: concurrency, scalablity, reliabiliy, less future developers trying to hunt you down and kill you.
I would almost never use access for a db if I could avoid it, now that SQL Express exists.
If I were you I'd go with what some of the others said and use SQL Express:
http://www.microsoft.com/express/sql/default.aspx
You get all the benefits of a true SQL environment FOR FREE! You can even use the SQL Management Studio as well as leverage Reporting Services (if you download the advanced pack). Download link below:
http://www.microsoft.com/express/sql/download/
Which edition of SQL Server 2008 Express is right for you?
SQL Server 2008 Express is available in the following 3 editions (each is available from the Install Wizard):
SQL Server 2008 Express with Tools
SQL Server database engine - create, store, update and retrieve your data
SQL Server Management Studio Basic - visual database management tool for creating, editing and managing databases
SQL Server 2008 Express with Advanced Services
SQL Server database engine - create, store, update and retrieve your data
SQL Server Management Studio Basic - visual database management tool for creating, editing and managing databases
Full-text Search - powerful, high-speed engine for searching text-intensive data
Reporting Services - integrated report creation and design environment to create reports
SQL Server 2008 Express (Runtime Only)
SQL Server database engine - create, store, update and retrieve your data
SQL Server 2008 Management Studio Express (SSMSE)
Free, easy-to-use graphical management tool for configuring, managing, and administering SQL Server 2008 Express. It can also manage multiple instances of the SQL Server Database Engine created by any edition of SQL Server 2008 including Workgroup, Web, Standard and Enterprise.
Note: This separate download is designed for customers who have previously installed SQL Server 2008 Express (Runtime Only). If you are looking to download SQL Server Express and SSMSE for the first time, please download the SQL Server 2008 Express with Tools from the Install Wizard.
Access, to me, is really a hobbyist tool or for REALLY basic local projects at this point that just hasn't been phased out yet. I'd definitely look to using SQL Express, plus it makes it that much easier to upgrade if you get beyond the 4 GB database barrier in the future.
Go with what you have the best skills in - Access is great for a variety of projects andit can scale really well if you know what you're doing. Conversely, a bad programmer could do an app in Win Forms and SQL Server and produce a badly performing monster.
I personally would go with SQL Express and a Win Forms or ASP.Net front-end as experience shows that these small projects can easily develop over time in to much bigger applications than was originally planned and a well structured database built on SQL Server can scale up more readily to more users if needed.
Hard to say without understand the environment. It could be that all users have Access, but no desktops have .NET Framework (although this would be hard to believe). Maybe all their applications are on Access and that's all the developers and users there know.
Given all that nonsense tho, You ought to use SQL Server Express 2008 and Visual Studio 2008 Express. Hope I don't get you fired. :)
If the application is, as you said, a very simple database, that's what access is precisely for, creating simple databases. You can write both the database and the application forms within the same environment and users won't need to get anything installed.
Be careful though with concurrent access to your application. If you go for the access solution, multiple users won't be able to use the application at the same time. If you want this to happen, you will need the database and the application being apart. This doesn't mean that the DB needs to be SQL server, you can still use Access as your database if you don't require the power of a more complex engine.
EDIT: Just read on a comment that you are planning to have 10 users and less than 1000 records. FORGET about SQL server, you will be wasting your money. No matter if you decide to go for a simple all-access solution or for a distributed web application or desktop app with remote storage, Access is hundreds of times more powerful that what you need. Even for the "toy-ish" engine that access is, you are not using a 1% of it.
What can you do in SQL Server 2008 Standard Edition that you cannot do in SQL Server 2008 Web Edition?
I've seen the Microsoft feature lists, but I am wondering from a very practicle standpoint where I am going to run into limitations.
Have you seen this matrix as well?
http://msdn.microsoft.com/en-us/library/cc645993.aspx
From what I can tell Web excludes a lot of the more advanced features, especially those related to development and data mining, but nothing that would stop you from using it for a non-enterprise web site's data source. It seems to be between the Express version and Standard version.
One of the biggest limitations is that it can't be a publisher for SQL replication. If you want to have multiple database and replication data between them, then you need at least one SQL server to be Standard or Enterprise to act as the publisher.
http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx
Edit: Sorry, you've probably already looked at the above.
I'll be starting a new project (asp.net) and I'll be using sql server express. Is there a reason NOT to use sql server 2008?
P.S: I was considering Postgres 8.3 until I did some benchmarking and found out that sql server 2005 express is much faster for my needs (better integration I guess).
If the choice is between SQL Server 2005 and SQL Server 2008 with no legacy compatibility issues, you should probably go with SQL Server 2008. The jump from 2005-2008 is much smaller than the jump from 2000-2005 was and you get three years extra lifespan for your application for free. A similar question was asked in this Stackoverflow post, with a more in-depth discussion of the subject.
A reason you might not have considered: will the production hosting location support SQL Server 2008?
Otherwise there's no reason. In fact, if your still stuck using SQL Server 2005, you should be using the 2008 version of management studio! which still works against older db's
I'd prefer Sql Server 2008 because there are too many "killer" enhancements like table valued parameters, merge statement, on the fly encryption, new datetime parameters etc. Table valued parameter is a life saver improvement. If you ever had to deal with multi row insert operations, you know how painful is to do it with xml nodes or openxml methods. On the other hand, you can pass your recursive datatable as a parameter ( SqlDbType.Structured ) and the pain is gone. It's so obvious that the most exciting feature for me is new table valued parameter.
As a sidenote: DiscountASP is selling, for the same price, 300Mb on SQL2005 and 500Mb on SQL2008. So it turns out that SQL2005 is on a statup path to be considered "old legacy" software.
And it is always good to skip future migrations.
I would go with SQL2008.
I am currently using SQL Server 2008 Express for my dev machine. You could use the new T-SQL and save some good time writing those stored procedures. I have this version of SQL Server 2008 Express installed.
It depends on a lot of factors:
Will you sell installable copies to customers? If so, what kind of database engines does your customer demography have? 2000? 2005? 2008?
Are you going to host it yourself? If so, use whatever you'd like
Are you going to use a 3rd party hosting company? If so, what do they support, and how much does it cost?
Unless you're explicitly going to use 2008 features, I wouldn't worry too much about it since generic T-SQL works on all the versions. It's when you start using the new features you might get into trouble.
Update: It seems that they DO allow sql server 2008 (sales people aren't very good at technical stuff) so I'll be using sql server 2008.
Well I asked my host (I have a vps) and they allow only sql server 2005 express, not sql server 2008 express (which is kinda strange). So I'll go with 2005 for now... Thank you all for your opinions.