Modified Features (Contained Database)
The following features have been modified to be supported by a partially contained database. Features are usually modified so they do not cross the database boundary.
For more information, see Contained Databases.
ALTER DATABASE
Application Level
When using the ALTER DATABASE statement from inside of a contained database, the syntax differs from that used for a non-contained database. This difference includes restrictions of elements of the statement that extend beyond the database to the instance. For more information, see ALTER DATABASE (Transact-SQL).
Instance Level
The syntax for the ALTER DATABASE when used outside of a contained database differs from that used for non-contained databases. These changes prevent crossing the database boundary. For more information, see ALTER DATABASE (Transact-SQL).
CREATE DATABASE
The CREATE DATABASE syntax for a contained database differs from that for a non-contained database. See CREATE DATABASE (Transact-SQL)for information about new syntax requirements and allowances.
Temporary Tables
Local temporary tables are permitted within a contained database, but their behavior differs from those in non-contained databases. In non-contained databases, temporary table data is collated in the collation of tempdb. In a contained database temporary table data is collated in the collation of the contained database.
All metadata associated with temporary tables (for example, table and column names, indexes, and so on) will be in the catalog collation.
Named constraints may not be used in temporary tables.
Temporary tables may not refer to user-defined types, XML schema collections, or user-defined functions.
Collation
In the non-contained database model, there are three separate types of collation: Database collation, Instance collation, and tempdb collation. Contained databases use only two collations, database collation and the new catalog collation. See Contained Database Collations for more details on contained database collation.
User Options
When enabling contained databases, the user options Option must be set to 0 for the instance of SQL Server.