Schemas (Database Engine)

A schema is a container that holds tables, views, procedures, and so on. It is inside a database, which is inside a server. These entities fit together like nested boxes. The server is the outermost box, and the schema is the innermost box. It holds all of the securables listed below. But it cannot hold another box.

Securable that must be inside a schema

Class

Type

TYPE

XML Schema Collection

XML SCHEMA COLLECTION

Table

OBJECT

View

OBJECT

Procedure

OBJECT

Function

OBJECT

Aggregate

OBJECT

Constraint

OBJECT

Synonym

OBJECT

Queue

OBJECT

Statistic

OBJECT

Every securable in a specific schema must have a unique name. The fully-specified name of a securable contained by a schema includes the name of the schema that contains it. Thus, a schema is also a namespace.

Note

In SQL Server 2000 and earlier versions, databases could contain an entity called a "schema", but that entity was effectively a database user. In SQL Server 2005 and SQL Server 2008, a schema is both a container and a namespace.