Creación de un esquema de la base de datos

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

En este artículo se describe cómo crear un esquema en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Limitaciones y restricciones

  • El esquema nuevo es propiedad de una de las siguientes entidades de seguridad de nivel de base de datos: usuario de base de datos, rol de base de datos o rol de aplicación. Los objetos creados dentro de un esquema son propiedad del esquema y tienen un principal_id NULL en sys.objects. La propiedad de los objetos incluidos en el esquema puede transferirse a cualquier entidad de seguridad de nivel de base de datos, pero el propietario del esquema siempre mantiene el permiso CONTROL en los objetos del esquema.

  • Al crear un objeto de base de datos, si especifica una entidad de seguridad de dominio válida (usuario o grupo) como la propietaria del objeto, la entidad de seguridad de dominio se agrega a la base de datos como esquema. Esa entidad de seguridad de dominio es la propietaria del nuevo esquema.

Permisos

  • Requiere el permiso CREATE SCHEMA en la base de datos.

  • Para especificar otro usuario como el propietario del esquema que se está creando, el autor de la llamada debe tener el permiso IMPERSONATE sobre ese usuario. Si se especifica un rol de base de datos como propietario, el autor de la llamada debe cumplir uno de los siguientes criterios: pertenencia al rol o permiso ALTER en el rol.

Uso de SQL Server Management Studio para crear un esquema

  1. En el Explorador de objetos, expanda la carpeta Bases de datos .

  2. Expanda la base de datos en la que se va a crear el esquema de la misma.

  3. Haga clic con el botón derecho en la carpeta Seguridad , seleccione Nuevoy seleccione Esquema.

  4. En el cuadro de diálogo Esquema - Nuevo , en la página General , escriba un nombre para el nuevo esquema en el cuadro Nombre de esquema .

  5. En el cuadro Propietario del esquema , escriba el nombre del usuario o rol de base de datos que va a poseer el esquema. Como alternativa, seleccione Buscar para abrir el cuadro de diálogo Buscar roles y usuarios.

  6. Seleccione Aceptar.

Nota:

No se mostrará un cuadro de diálogo si va a crear un esquema mediante SSMS para una instancia de Azure SQL Database o de Azure Synapse Analytics. Tendrá que ejecutar la instrucción T-SQL de creación de esquema de plantilla que se genera.

Additional Options

El cuadro de diálogo Esquema - Nuevo también proporciona opciones de dos páginas adicionales: Permisos y Propiedades extendidas.

  • La página Permisos muestra todos los elementos protegibles posibles y los permisos en esos elementos protegibles que se pueden conceder al inicio de sesión.

  • La página Propiedades extendidas permite agregar propiedades personalizadas a los usuarios de base de datos.

Uso de Transact-SQL para crear un esquema

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. En el siguiente ejemplo se crea un esquema denominado Chains y luego se crea una tabla denominada Sizes.

    CREATE SCHEMA Chains;
    GO
    CREATE TABLE Chains.Sizes (ChainID int, width dec(10,2));
    
  4. Se pueden realizar opciones adicionales en una sola instrucción. En el ejemplo siguiente se crea el esquema Sprockets, que es propiedad de Joe y contiene la tabla NineProngs. La instrucción concede el permiso SELECT a Bob y deniega el permiso SELECT a John.

    CREATE SCHEMA Sprockets AUTHORIZATION Joe  
        CREATE TABLE NineProngs (source int, cost int, partnumber int)  
        GRANT SELECT ON SCHEMA::Sprockets TO Bob  
        DENY SELECT ON SCHEMA::Sprockets TO John;  
    GO  
    
  5. Ejecute la siguiente instrucción para ver los esquemas de la base de datos actual:

    SELECT * FROM sys.schemas;
    

Pasos siguientes

Para obtener más información, vea CREATE SCHEMA (Transact-SQL).