Crear una especificación de auditoría de servidor y de auditoría de base de datos
En este tema se describe cómo crear una especificación de auditoría de servidor y de auditoría de base de datos en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL.
La auditoría de una instancia de SQL Server o de una base de datos de SQL Server implica el seguimiento y registro de los eventos que se producen en el sistema. El objeto SQL Server Audit recopila una única instancia de acciones y grupos de acciones de nivel de servidor o de base de datos para su supervisión. La auditoría se realiza en el nivel de instancia de SQL Server. Es posible tener varias auditorías por cada instancia de SQL Server. El objeto Especificación de auditoría de base de datos pertenece a una auditoría. Puede crear una única especificación de auditoría de base de datos para cada base de datos de SQL Server y cada auditoría. Para obtener más información, vea SQL Server Audit (motor de base de datos).
En este tema
Antes de empezar:
Limitaciones y restricciones
Seguridad
Para crear una especificación de auditoría de servidor y de auditoría de base de datos, utilizando:
SQL Server Management Studio
Transact-SQL
Antes de empezar
Limitaciones y restricciones
Las especificaciones de auditoría de base de datos son objetos no protegibles que residen en una base de datos determinada. Cuando se crea una especificación de auditoría de servidor de base de datos, está en un estado deshabilitado.
Cuando cree o modifique una especificación de auditoría de base de datos en una base de datos de usuario, no incluya acciones de auditoría en objetos del ámbito de servidor, como las vistas del sistema. Si los objetos del ámbito de servidor están incluidos, se creará la auditoría. Sin embargo, los objetos del ámbito de servidor no están incluidos y no se devolverá ningún error. Para auditar objetos del ámbito de servidor, utilice una especificación de auditoría de base de datos en la base de datos maestra.
Las especificaciones de auditoría de base de datos residen en la base de datos en la que se crearon, con la excepción de la base de datos del sistema tempdb.
Seguridad
Permisos
Los usuarios con el permiso ALTER ANY DATABASE AUDITpueden crear las especificaciones de auditoría de base de datos y enlazarlas a cualquier auditoría.
Después de crearse una especificación de auditoría de base de datos, la pueden ver las entidades de seguridad que cuenten con los permisos CONTROL SERVER, ALTER ANY DATABASE AUDIT o la cuenta sysadmin.
[Top]
Usar SQL Server Management Studio
Para crear una auditoría de servidor
En el Explorador de objetos, expanda la carpeta Seguridad.
Haga clic con el botón secundario en la carpeta Auditorías y, a continuación, seleccione Nueva auditoría. Para obtener más información, vea Crear una auditoría de servidor y una especificación de auditoría de servidor.
Cuando termine de seleccionar opciones, haga clic en Aceptar.
Para crear una especificación de auditoría de nivel de base de datos
En el Explorador de objetos, expanda la base de datos donde desea crear una especificación de auditoría.
Expanda la carpeta Seguridad.
Haga clic con el botón secundario en la carpeta Especificaciones de auditoría de base de datos y seleccione Nueva especificación de auditoría de base de datos.
Las siguientes opciones están disponibles en el cuadro de diálogo Crear especificación de auditoría de base de datos.
Nombre
El nombre de la especificación de auditoría de base de datos. Se genera automáticamente al crear una nueva especificación de auditoría de servidor, pero se puede modificar.Auditoría
El nombre de una auditoría de base de datos existente. Escriba el nombre de la auditoría o selecciónelo en la lista.Tipo de acción de auditoría
Especifica los grupos de acciones de auditoría y las acciones de auditoría en el nivel de base de datos que se desean capturar. Para obtener la lista de grupos de acciones de auditoría y de acciones de auditoría de nivel de base de datos, así como una descripción de los eventos que contienen, vea Grupos de acciones y acciones de SQL Server Audit.Esquema de objeto
Muestra el esquema para el Nombre de objeto especificado.Nombre de objeto
Nombre del objeto que se va a auditar. Este valor solo está disponible para las acciones de auditoría, no se aplica a los grupos de auditoría.Puntos suspensivos (…)
Abre el cuadro de diálogo Seleccionar objetos para buscar y seleccionar un objeto disponible, basándose en el Tipo de acción de auditoría especificado.Nombre de la entidad
La cuenta por la que se va filtrar la auditoría para el objeto que se va a auditar.Puntos suspensivos (…)
Abre el cuadro de diálogo Seleccionar objetos para buscar y seleccionar un objeto disponible, basándose en el Nombre de objeto especificado.
Cuando termine de seleccionar opciones, haga clic en Aceptar.
[Top]
Usar Transact-SQL
Para crear una auditoría de servidor
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.
USE master ; GO -- Create the server audit. CREATE SERVER AUDIT Payrole_Security_Audit TO FILE ( FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA' ) ; GO -- Enable the server audit. ALTER SERVER AUDIT Payrole_Security_Audit WITH (STATE = ON) ;
Para crear una especificación de auditoría de nivel de base de datos
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En el ejemplo se crea una especificación de auditoría de base de datos denominada Audit_Pay_Tables que audita las instrucciones SELECT e INSERT por el usuario dbo, para la tabla HumanResources.EmployeePayHistory basándose en la auditoría de servidor definida anteriormente.
USE AdventureWorks2012 ; GO -- Create the database audit specification. CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables FOR SERVER AUDIT Payrole_Security_Audit ADD (SELECT , INSERT ON HumanResources.EmployeePayHistory BY dbo ) WITH (STATE = ON) ; GO
Para obtener más información, vea CREATE SERVER AUDIT (Transact-SQL) y CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).
[Top]