Sunday, January 16, 2011
I'm reading: Contained Databases in SQL Server DenaliTweet this !
An interesting concept has been introduced in SQL Server Denali, and it's called Contained Databases. The main aim that this feature serves is the portability of databases without dependency on server-level objects which are not contained in a database, logins for example.
DACPAC was introduced in SQL Server 2008 R2, but this was well received by the application development community than the database development community (in my views). Contained Databases looks like a planned impetus addition to DACPAC. To use this feature of Contained Databases, Containment has to be enabled at the server level with a simple boolean property. Thereafter, one can set the newly introduced "Containment Type" property to mark the containment type of the database. As of now available values for this property are "None" and "Partial", but this enumeration looks incomplete and we can expect more values in this list. Setting this property to "Partial" would allow to create server level objects at the database level, again for example - logins. As the server level objects can be now contained at the database level, this is assured to bring a level of change in the client connectivity mechanism.
It would be interesting to see, when contained databases are available in a fully operational state. The current level of containment type is limited to "Partial" in CTP1 and further CTPs can be expected to add more to it. You can learn more about Contained Databases in SQL Server Denali from here.