Creación de un esquema de la base de datos
se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Warehouse en Microsoft Fabric
En este artículo se describe cómo crear un esquema en SQL Server mediante SQL Server Management Studio o Transact-SQL.
Permisos
Para crear un esquema, debe tener 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
En el Explorador de objetos, expanda la carpeta Bases de datos .
Expanda la base de datos en la que se va a crear el esquema de la misma.
Haga clic con el botón derecho en la carpeta Seguridad , seleccione Nuevoy seleccione Esquema.
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 .
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.
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.
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
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
En el siguiente ejemplo se crea un esquema denominado
Chains
y luego se crea una tabla denominadaSizes
.CREATE SCHEMA Chains; GO CREATE TABLE Chains.Sizes ( ChainID INT, width DECIMAL (10, 2) );
Se pueden realizar más opciones en una sola instrucción. En el ejemplo siguiente se crea el esquema
Sprockets
, que es propiedad deJoe
y contiene la tablaNineProngs
. La instrucción concede el permisoSELECT
aBob
y deniega el permisoSELECT
aJohn
.CREATE SCHEMA Sprockets AUTHORIZATION Joe; GO CREATE TABLE NineProngs ( source INT, cost INT, partnumber INT ); GO GRANT SELECT ON SCHEMA::Sprockets TO Bob; GO DENY SELECT ON SCHEMA::Sprockets TO John; GO
Ejecute la siguiente instrucción para ver los esquemas de la base de datos actual:
SELECT * FROM sys.schemas;
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 propietario del esquema y tienen
NULL
principal_id
ensys.objects
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.La entidad de seguridad del dominio se añade a la base de datos como esquema al crear un objeto de base de datos si se especifica una entidad de seguridad del dominio válida (usuario o grupo) como propietario del objeto. Esa entidad de seguridad de dominio es la propietaria del nuevo esquema.