3

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:

  1. 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?

  2. 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.)

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Bill Norman
  • 883
  • 11
  • 29
  • Yes, you can attach the MDB file to your production environment. Your IT guy should know how to do that. Why don't you ask him? :) – Menefee Aug 15 '12 at 16:43
  • Don't spread this around, but our IT guy is kinda hard to work with. That's why I want to create my own database. The less interaction with him, the less painful it will be for me. – Bill Norman Aug 15 '12 at 16:46
  • @Menefee: `.mdb` is MS Access - Bill is talking about SQL Server - that would be a `.mdf` file then (plus a `.ldf` transaction log file) – marc_s Aug 15 '12 at 16:49
  • @marc_s Thanks. I seldom deal with the file itself directly. – Menefee Aug 15 '12 at 17:04
  • 1
    Well, you'll get a chuckle out of this. I asked our IT guy, and he says that for this application he will probably be using Access. He said it was my choice if I wanted to use SQL or Access, as long as there's a way to export/import. He seemed to think there was. But still, I got a good education from you folks about SQL. Thanks for everything! – Bill Norman Aug 15 '12 at 18:30

1 Answers1

7

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.

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
  • 2
    Just make sure that your local SQL Server Express version is >= the server deployment version. This was very confusing with 2008 & 2008 R2, which a lot of people thought were the same. With 2012 this is potentially still an issue unless you ensure that the deployment server is also running SQL Server 2012. – Aaron Bertrand Aug 15 '12 at 16:52
  • 1
    @AaronBertrand: spot on - good advice! Lots of folks still believe just setting the compatibility level makes their backups "compatible" with earlier versions ... – marc_s Aug 15 '12 at 16:55
  • @Giorgi: no - SQL Server Express is an excellent learning tool - it's the full SQL Server, but free to use and play around with. Go for it! – marc_s May 26 '15 at 15:07