What are in SQL Server User Instances that make them impossible in non-Express Editions?
After developing for a few years (or more), I still do not understand:
- What makes User Instances impossible/incompatible with Developer (or any other) edition of SQL Server?
- Why has developer to install more than one (i.e. developer edi开发者_JAVA技巧tion) of SQL Server because user instances are available only through Express Edition?
Update: @Damien_The_Unbeliever wrote in his answer,
"User instances are pretty well expected to be standalone databases, only used by a single application, and meaningless without that application."
Do I understand correctly that user instances:
- require SQL Server Express setup
- cannot be connected remotely
- the user cannot have more than one such instance?
- the client apps that connect to them are dev tools like VS, SSMS, webadmin, SQL Express Utility, etc?
Really I do not understand when/why/how they can be used/deployed outside of development environment
What are the non-dev cases of SQL Server User Instances (vs CE and other embedded databases)?
I don't believe that there are any technical reasons why the user instance functionality couldn't exist in the other editions - but the non-express editions represent a different form of expected usage.
User instances are pretty well expected to be standalone databases, only used by a single application, and meaningless without that application.
Databases under Standard/Enterprise edition are expected to be maintained (possibly by dedicated DBAs) as standalone resources, with maintenance plans, scheduled jobs, etc. They're expected to use additional features of these editions, and it wouldn't make sense for a single application to control the availability of these databases.
And as a developer, you only need both installed if you're working on systems in which both usages make sense - both building small scale websites with simple data requirements, and larger systems that need more complex database systems.
The "typical" example of an application that would use a user instance, but not being a dev tool, would be a small web application. It may have one or more mdf files in it's App_Data folder. It may run such services as its membership system from such a DB. An advantage of such a setup is that an XCopy deploy of such a website is sufficient for the entire application to be ready - the connection string will be valid immediately.
精彩评论