Can I reuse database file of localdb in Express editions - sql

I am going to build a small application and like to use SQL Server LocalDB, but I'm confused about some points
When I start my instance and shared it in main PC and connecting to my database, does anyone on my local network can see this instance?
if yes, so he can connect to it?
if yes, what is if I closed my application, does the instance still run until he going to end work?
if no way to solve this way
I think to work LocalDB instance until face case to work multiple user in network to switch this database from LocalDB to normal Express edition and work with it as normal.
So can I use the *.mdf, *.ldf files of LocalDB in SQL Server Express edition any time?

When I start my instance and shared it in main PC and connecting to my database, does anyone on my local network can see this instance?
No - LocalDB is a local machine ONLY affair - only from your own local machine can you see and connect to that instance.
So can I use the *.mdf, *.ldf files of LocalDB in SQL Server Express edition any time?
Yes, absolutely - those .mdf (and .ndf and .ldf) files are compatible between LocalDB (which is really just a variant of SQL Server Express) and any other full-fledged SQL Server version (Express, Web, Standard, Developer, Enterprise) - just not with SQL Server Compact - that's a totally separate world with .sdf files.

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

Conversion from LocalDB (.mdf) file to SQL Server Express .mdf file and reverse process

Since we need to move around our database a lot (like update it with new Rows which are generated by code and then update it prod db and reverse process). SQL Server CE, being a file based system was very helpful.
We would like to upgrade to use SQL Server Local Db but at the same time, it has limitations of use with IIS (though possible with AttacheDbFile). In this regard, since LocalDb is more or less a version of SQL Server Express, would it be possible to use our SQL Server LocalDB .mdf in our development environment and then copy them in prod but use by attaching to a SQL Server Express instance?
If yes, what additional thing, we need to do make it possible?
Also, we would like the reverse process to be worked out as well, mean detach the .mdf file and use it as LocalDb in development environment. I have read the great blog articles of
Krzysztof Kozielczyk also but not have experimented much with LocalDb.
LocalDB IS SQL Server Express (introduced with SQL Server 2012 Express), and the .mdf file is identical between LocalDB and SQL Server Express (and even a "full" SQL Server edition like Web, Standard or Enterprise Edition).
The only caveat is: you need to be using the same versions of those databases, since the file format is only identical amongst same versions, and can only be used amongst the same versions (e.g. 2012) - or it can be "upgraded" to the next newer version (e.g. you could move a database from LocalDB 2012 to a SQL Server 2014 Express once it's released) - but you can never go back down to an earlier version (you cannot take a LocalDB 2012 .mdf database file and attach it to a SQL Server 2008 version).

How to share sql server 2008R2 database

I want to share my SQL Server 2008 R2 database between some computers on the same network without using a Server. How can I do so? I mean i just want two users access the same Database through A network or LAN. Both can use database,update database,delete data from database
is it possible ?
The file: mdf MS SQL can not be shared directly.
Although, once installed MS SQL any user with privileges on the database can access it.
It is not necessary to share the MDF file. MS SQL is responsible "sharing" the users enter data accessing it.
Greetings.
SQL Server can only be installed on a Windows Server system (except for the Developer's edition, and SQL Express).
However, all versions (except CE) can be shared among multiple clients. Just start up the server, make sure that the TCP protocol is enabled (using the SQL Server Configuration Tool), and that your Windows Firewall is not blocking port 1433.
A server just happens to be a term used for otherwise a "normal" computer. The designation server usually means that it is dedicated for a certain task. Technically speaking, any computer can be a server--even your own workstation while you are using it for other tasks. So, just put the database on one of the user computers which is on the network (hence accessible to desired users on the network) and go for it.... Good luck!

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

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.

Can SQL Server Express LocalDB be connected to remotely?

I am looking into using the new SQL Server Express LocalDB (I think it is code named "Denali") for a desktop application.
It is currently running with SQL Compact, but the user is wanting to share the database between multiple PCs on a network. Unfortunately this is not something that SQL Compact can do, so I am investigating other solutions.
The client requires the ability to send database files easily to other sites or to back them up to a flash disk, so I am avoiding going to SQL Express because there is quite a bit of "administrator" knowledge required to backup and restore.
So, my questions is, does the new SQL Express LocalDB support remote connections to the database over a network and/or through a shared network folder with the mdf file in it?
LocalDB does support supplying a path for an attached local DB in it's connect string (AttachDbFileName) hence the shared network folder option.
NOTE: This question pertains to "LocalDB" the new version of SQL Express 'Denali' and not to SQL Server Express 2008 or prior.
See article here announcing LocalDB's release: http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx
No, SQL Server Express LocalDB doesn't accept remote connections.
The idea with shared network folder might work, but only if you are able to make sure the LocalDB instance is shutdown before you try to copy the file. Also keep in mind that only one LocalDB instance can have any given database file open at the same time. and don't forget about the log files!
Additional security warning: unlike SQL Server Compact databases, SQL Server Express databases (including LocalDB ones) are not designed as secure data exchange format. For instance, they can contain malicious code in .NET assemblies embedded in them. So you should never open databases from untrusted source.
Maybe providing the customer with a simple tool that automates the backup process would be a better idea?
This isn't a fresh thread, but I would like to share my experience with SQL Server Express database LocalDB.
I have a WPF C# project using SQL database with LocalDb Engine. It is working fine no problem, I can use the database with the WPF app. I wanted this app to work on network with more PCs.
On the network another PC can use the database from my PC using UNC path in the connection string.
It seemed to me the remote connection is working. However when the remote PC is connected, I am not able to use the database with my local WPF app. If I run my app first the remote PC could not connect. So this tells me that the remote connection is working, but the multiple connection is not allowed.
OK, I didn't give up and I run the app from my PC twice and I saw it is working which tells me that the same SQL LocalDB engine can handle multiple connections locally only.
I hope this experience will help someone. Thanks.
In short, yes it can. Here is a tutorial on how to configure it.
Also, here is another post with a potential issue that might occur.
Both explain how to configure SQL Server Express to accept Remote Connections.