Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Base de datos SQL de Microsoft Fabric
Un concepto básico en la seguridad de SQL Server es que los propietarios de los objetos disponen de permisos irrevocables para administrarlos. No puede quitar privilegios de un propietario del objeto y no puede eliminar usuarios de una base de datos si en ella existen objetos que les pertenezcan.
La separación del esquema de usuario permite disponer de más flexibilidad en la administración de los permisos de objeto de base de datos. Un esquema es un contenedor con nombre para objetos de base de datos, que permite agrupar objetos en espacios de nombres independientes. Por ejemplo, la base de datos de ejemplo de AdventureWorks contiene esquemas para Production, Sales y HumanResources.
La sintaxis de asignación de nombres de cuatro partes para hacer referencia a los objetos especifica el nombre de esquema.
Server.Database.DatabaseSchema.DatabaseObject
Los esquemas pueden pertenecer a cualquier entidad de seguridad de base de datos y una entidad de seguridad puede ser propietaria de varios esquemas. Puede aplicar reglas de seguridad a un esquema, que heredan todos los objetos incluidos en él. Después de configurar los permisos de acceso de un esquema, estos permisos se aplican automáticamente a medida que se agregan nuevos objetos al esquema. Se puede asignar un esquema predeterminado a los usuarios y varios usuarios de base de datos pueden compartir el mismo esquema.
De forma predeterminada, cuando los programadores crean objetos en un esquema, éstos pertenecen a la entidad de seguridad a la que pertenece el esquema y no al programador. La propiedad del objeto se puede transferir con la instrucción ALTER AUTHORIZATION de Transact-SQL. Un esquema también puede contener objetos que pertenecen a diferentes usuarios y disponer de permisos más granulares que los asignados al esquema, aunque esto no sea recomendable ya que agrega complejidad a la administración de permisos. Los objetos se pueden mover entre los esquemas y la propiedad del esquema se puede transferir entre entidades de seguridad. Se pueden quitar usuarios de base de datos sin que esto afecte a los esquemas.
SQL Server incluye nueve esquemas predefinidos que tienen los mismos nombres que los usuarios y roles de base de datos integrados: db_accessadmin, db_backupoperator, db_datareader, db_datawriter, db_ddladmin, db_denydatareader, db_denydatawriter, db_owner y db_securityadmin. Se han creado para la compatibilidad con versiones anteriores. La recomendación es que no se usen para objetos de usuario. Puedes quitar los esquemas que tienen los mismos nombres que los roles fijos de base de datos, a menos que ya estén en uso, en cuyo caso el comando drop simplemente devolverá un error y bloqueará la eliminación del esquema usado.
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_accessadmin')
DROP SCHEMA [db_accessadmin]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_backupoperator')
DROP SCHEMA [db_backupoperator]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_datareader')
DROP SCHEMA [db_datareader]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_datawriter')
DROP SCHEMA [db_datawriter]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_ddladmin')
DROP SCHEMA [db_ddladmin]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_denydatareader')
DROP SCHEMA [db_denydatareader]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_denydatawriter')
DROP SCHEMA [db_denydatawriter]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_owner')
DROP SCHEMA [db_owner]
GO
IF EXISTS (SELECT * FROM sys.schemas WHERE name = N'db_securityadmin')
DROP SCHEMA [db_securityadmin]
GO
Si quitas estos esquemas de la base de datos de model
, no aparecerán en las bases de datos nuevas. Los esquemas que contienen objetos no se pueden quitar.
Los esquemas siguientes no se pueden quitar:
dbo
guest
sys
INFORMATION_SCHEMA
Nota
Los esquemas sys
y INFORMATION_SCHEMA
están reservados para los objetos del sistema. No puede crear objetos en ellos ni quitarlos.
El esquema dbo
es el predeterminado de cada base de datos. De forma predeterminada, los usuarios creados con el comando CREATE USER de Transact-SQL usan dbo
como esquema predeterminado. El esquema dbo
pertenece a la cuenta de usuario dbo
.
Los usuarios a los que se les asigna dbo
como esquema predeterminado no heredan los permisos de la cuenta de usuario dbo
. Los usuarios no heredan ningún permiso de un esquema; los permisos de esquema se heredan en los objetos de base de datos incluidos en el esquema. El esquema predeterminado de un usuario se utiliza únicamente para la referencia a objetos en caso de que el usuario omita el esquema al consultar objetos.
Nota
Cuando se hace referencia a objetos de base de datos con un nombre de una sola parte, SQL Server busca en primer lugar en el esquema predeterminado del usuario. Si no se encuentra el objeto, SQL Server busca a continuación en el esquema dbo
. Si el objeto tampoco se encuentra en el esquema dbo
, se muestra un error.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Introducción a los conceptos de seguridad en Dataverse - Training
Obtenga información sobre cómo comenzar con los conceptos de seguridad en Microsoft Dataverse.
Certificación
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.
Documentación
Permisos (motor de base de datos) - SQL Server
Consulte esta lista completa de permisos de SQL Server para saber cuáles se aplican a las plataformas que usa.
Entidades de seguridad (motor de base de datos) - SQL Server
Obtenga información sobre las entidades de seguridad en el Motor de base de datos, que son entidades que pueden solicitar recursos de SQL Server. Hay entidades de seguridad de nivel de SQL Server y de nivel de bases de datos.
GRANT (permisos de base de datos de Transact-SQL) - SQL Server
GRANT (permisos de base de datos de Transact-SQL)