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 Managed Instance
Crea un objeto de especificación de auditoría de base de datos mediante la característica SQL Server Audit. Para más información, consulte SQL Server Audit (motor de base de datos).
Convenciones de sintaxis de Transact-SQL
CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
FOR SERVER AUDIT audit_name
[ ADD (
{ <audit_action_specification> | audit_action_group_name }
[ , ...n ] )
]
[ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
action [ , ...n ] ON [class::]securable BY principal [ , ...n ]
}
Nombre de la especificación de auditoría.
Nombre de la auditoría a la que se aplica esta especificación.
Especificación de acciones sobre elementos protegibles por entidades de seguridad que se deben registrar en la auditoría.
Nombre de una o varias acciones auditables de nivel de base de datos. Para ver una lista de acciones de auditoría, vea Grupos de acciones y acciones de SQL Server Audit.
Nombre de uno o varios grupos de acciones auditables de nivel de base de datos. Para ver una lista de grupos de acciones de auditoría, vea Grupos de acciones y acciones de SQL Server Audit.
Nombre de clase (si procede) en el elemento protegible.
Tabla, vista u otro objeto protegible en la base de datos en la que se va a aplicar la acción de auditoría o el grupo de acciones de auditoría. Para más información, consulte Securables.
Nombre de la entidad de seguridad de base de datos en la que se va a aplicar la acción de auditoría o el grupo de acciones de auditoría. Para auditar todas las entidades de seguridad de base de datos, use la entidad de seguridad de base de datos pública . Para más información, vea Entidades de seguridad (Motor de base de datos).
Habilita o deshabilita la recopilación de registros por parte de la auditoría para esta especificación de auditoría.
Las especificaciones de auditoría de base de datos son objetos no protegibles que residen en una base de datos determinada. Al crear una especificación de auditoría de base de datos, está en un estado deshabilitado.
Los usuarios con el permiso ALTER ANY DATABASE AUDIT
pueden crear especificaciones de auditoría de base de datos y enlazarlas a cualquier auditoría.
Una vez creada una especificación de auditoría de base de datos, los usuarios con el CONTROL SERVER
permiso o la sysadmin
cuenta pueden verlo.
Los ejemplos de código de Transact-SQL de este artículo utilizan la base de datos de ejemplo AdventureWorks2022
o AdventureWorksDW2022
, que se puede descargar desde la página principal de Ejemplos y proyectos de la comunidad de Microsoft SQL Server.
En el ejemplo siguiente se crea una auditoría de servidor denominada Payroll_Security_Audit
y, a continuación, una especificación de auditoría de base de datos denominada Payroll_Security_Audit
que audita SELECT
e INSERT
instrucciones de cualquier miembro del rol de base de datos pública , para la HumanResources.EmployeePayHistory
tabla. Cada usuario se audita, ya que cada usuario siempre es miembro del rol público .
USE master;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payroll_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payroll_Security_Audit
WITH (STATE = ON);
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payroll_Security_Audit ADD (
SELECT, INSERT ON HumanResources.EmployeePayHistory BY PUBLIC
)
WITH (STATE = ON);
GO
En el ejemplo siguiente se crea una auditoría de servidor denominada DataModification_Security_Audit
y, a continuación, una especificación de auditoría de base de datos denominada Audit_Data_Modification_On_All_Sales_Tables
que audita INSERT
las instrucciones , UPDATE
y DELETE
por los usuarios en un nuevo rol SalesUK
de base de datos , para todos los objetos del Sales
esquema.
USE master;
GO
-- Create the server audit.
-- Change the path to a path that the SQLServer Service has access to.
CREATE SERVER AUDIT DataModification_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT DataModification_Security_Audit
WITH (STATE = ON);
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
CREATE ROLE SalesUK
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Data_Modification_On_All_Sales_Tables
FOR SERVER AUDIT DataModification_Security_Audit ADD (
INSERT, UPDATE, DELETE ON SCHEMA::Sales BY SalesUK
)
WITH (STATE = ON);
GO
Especificaciones de auditoría de servidor:
Especificaciones de auditoría de base de datos:
Vistas de catálogo y DMV:
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 hoy