Can I develop in SQL Server Express for later deployment in a full SQL Server? - sql

Very new to SQL Server. I am needing to develop a SQL Server database to run with an iPhone app I am developing. It will ultimately be running with our full-fledged SQL Server database, which is administered by our IT guy, but I'd like to have a local database for testing.
Two questions:
I assume I can use SQL Server Express 2012 for this purpose, since it is advertised as such; but would it be better/easier to use what appears to be the simplest form, LocalDB, in conjunction with VB2010? It will be running on my office PC to which a port is open for TCP communication from my app (which is working fine). Would LocalDB work for that, if the communication occurs in the VB app? Or will I need to get the SQL Server Express edition?
If a prototype database is developed in SQL Server Express, can it migrate to our full-fledged SQL Server when the app is taken "live"? (I am not sure right now what version our full-fledged SQL Server is, but I was planning on using SQL Server Express 2012.)

Yes, the Express editions ARE the full-fledged SQL Server version - no code difference, only some marketing-driven restrictions (on database size and so forth).
You can absolutely develop your system on a SQL Server Express, and then just detach your database from Express and re-attach it to a Standard or Enterprise edition server. No fuss, no migration, no conversion - nothing - it just works. Period.
And I would probably even argue having a server installation (of your Express) edition is the better choice than LocalDB. That way, you're already using the server-based approach as you will later on in production, and you won't fall into any "convenience" traps offered by LocalDB (or other approaches) that make dev life easier - but rollout to production can be a challenge. When you use SQL Server Express as a server-based installation from the get to - you have the "real deal" from day one.

Related

Microsft SQL Server Developer Free Edition is a local database?

I was wondering if the Microsoft SQL Server the Free Edition is a SQL server than i can connect to from any other PC even if i shutdown the main PC which has the SQL server installed on, or it is just a local SQL server and the PC should always be online to allow other connections to?
You can have either a server installation like the free Express edition. It can be installed on a server or any other machine (even the client machine itself). It also bring the SQLLocalDB which is a light version of the Express Edition. In all cases the computer that hosts the database needs to be available for access (in your case as mentioned turned on).
https://www.microsoft.com/en-us/download/details.aspx?id=101064
If you have the need that the database should be available without having to turn on a computer, you want to take a look at the Azure SQL database versions which are the cloud based versions of SQL Server. Depending on the needs you can pick from different flavours like the serverless tier:
https://learn.microsoft.com/en-us/azure/azure-sql/database/serverless-tier-overview?view=azuresql

Move from SQL Server CE to SQL Server Express

I just wrote a large program using SQL Server Express and was very happy, the difficulty is that it is difficult for customers to install SQL Server to test the program out.
I looked into SQL Server CE and it looks great for smaller clients and trial software. However SQL Server CE uses System.Data.SqlCeServer and not System.Data.SqlClient
Is there a way to make an application that uses SQL Server CE and then if desired the client can upgrade to SQL Server Express?
No, they're different platforms. CE is for the Compact Edition, so it's intended to be used on sometimes disconnected devices with limited resources compared to a SQL Server. CE should have a subset of Express' functions.

Licensing with 2 SQL Server databases

1) If I have a mobile application database written in SQL Server which has SQL Server CE databases on PDAs synchronising with it, can I get away with no licensing cost if I use the SQL Server Express Edition?
2) SQL Server <> SQL Server (Mobile Application Database) <> SQL CE
If we then complicate the model as the mobile application main SQL Server database has a service runninhg which then synchronises via .NET and web services to another database that is SQL Server based, does this cause problems with licensing, e.g. in the area of multiplexing because we know our ultimate end PDA users?
3) Oracle <> SQL Server (Mobile Application Database) <> SQL CE
How would licensing be affected if the backend system is changed to Oracle.
Thanks.
SQL Express Edition is free to use - it's got it's limitations but if your app can work inside it's constraints then it's fine to use.
You're not clear on point 2 but if all of those SQL installations are Express or CE/Compact then that's fine as well.
You license costs would come in if you put a Standard/Enterprise edition SQL Server in the mix at which point you either need to look at CAL licensing or get Proc license(s).
If SQL Express will meet your needs then there shouldn't be any licensing issues.
If you use a version of SQL that requires licensing you have to get CAL's for your known users, or go the per-CPU licensing route which doesn't require CAL's.

Will SQL Server Express work with a database made in regular SQL Server?

I was wondering if we could backup the database that we currently host on regular SQL Server, and put it onto our clients computer when we setup SQL Server Express for them.
Is this possible?
Thanks,
Matt
Yes, it's possible to restore a database backup from the Standard edition to the Express edition. It's not possible to restore a SQL Server 2008 to a SQL Server 2005 version, though.
However, there a some minor differences between versions. I've noticed an issue in SQL Server Express 2005 when calling .NET SQL CLR functions across databases, so your mileage may vary. I haven't been able to find a good overview of the exact differences between the various SQL Server editions.
It's always best to keep the development platform as close as possible to the release platform. I can only recommend that you use the Express edition of SQL Server for development as well; and re-test your application.

Can SQL Server Express be used to effectively administrate a SQL Server Standard/Enterprise installation?

We have a number of MS SQL Server 2005 installations (both Standard and Enterprise editions) on our webservers. From time to time I need to administrate them from home. Right now I'm using Remote Desktop to connect to my work machine, but I'd prefer to install SQL Server Management Studio on my home machine so that I can work more efficiently. I don't have a spare license, so I was wondering... if I installed MS SQL Server 2005 Express on my home machine, could I use it to effectively administrate the higher-end installations on our servers?
See this question:
What's the difference between SQL Server Management Studio and the Express edition?
Also, if you have any trouble doing anything from Managment Studio Express, there are third-party tools out there that have no trouble connecting to SQL Server.
Personally, I've noticed a few things missing out of the box:
Import/Export
Activity Monitor
Job monitor
However, the question I linked to indicated you may be able to restore most of that for use when you connect to a full sql server edition.
If you do a client tools only install of the standard edition (ie. just SSMS) and don't install the database, agent, etc. then I'm pretty sure you don't need another license and won't be violating the EULA. If you want a full install the SQL Server developer edition is only $49 and comes with everything.
http://www.microsoft.com/sqlserver/2005/en/us/developer.aspx
I'm not sure if you can create backup schedules and maintenance plans in Management Studio Express.