sqlserver 2012审计
SQL Server 2012提供了内置的审计功能,可以帮助您跟踪对数据库的访问和操作。以下是一些关于如何配置和使用SQL Server 2012审计的简要说明。
1. 启用审计
首先,您需要启用审计。可以通过以下SQL命令完成:
```sql
USE [master];
GO
-- 启用审计
EXEC sp_configure 'show advanced options', 1;  -- 显示高级选项
RECONFIGURE;
EXEC sp_configure 'SQL Server Audit', 1; -- 启用审计
RECONFIGURE;
```
2. 创建审计
接下来,您需要创建一个新的审计。以下是一个示例,它将对数据库服务器上的所有数据库进行审计:
```sql
USE [master];
GO
-- 创建一个新的审计实例
CREATE SERVER AUDIT SPECIFICATION [MyAuditSpec]
TO (ALL SERVERS) -- 在所有服务器上执行审计
WITH (STATE = ON); -- 开启审计
GO
```
3. 配置审计规则
您还需要定义哪些事件应被记录。例如,以下命令将记录对所有数据库的所有登录尝试:
```sql
USE [master];
GO
-- 添加审计规则,记录所有登录尝试
ALTER SERVER AUDIT SPECIFICATION [MyAuditSpec]
ADD (LOGIN);
GO
```
4. 查看审计日志
一旦审计被启用并配置了规则,就可以开始记录事件。您可以使用以下查询来查看审计日志:
```sql
SELECT  FROM _get_audit_file ('C:\SQLServerAudits\', DEFAULT, DEFAULT);
```
5. 配置文件和日志位置
在上面的查询中,您需要替换路径以指向实际的审计文件位置。默认情况下,这些文件位于`
C:\Program Files\Microsoft SQL Server\\MSSQL\Audit\`目录下。如果需要更改此位置,可以在创建或修改审计规范时指定。
6. 清理和禁用审计
如果您不再需要审计,可以将其禁用并清理日志文件。例如:
禁用:
```sql
USE [master];
GO
-- 禁用审计实例
ALTER SERVER AUDIT SPECIFICATION [MyAuditSpec] WITH (STATE = OFF);
GO
```
清理日志文件:使用文件资源管理器或命令行工具删除相关的`.sqlaudit`文件。之后,SQL Server将自动清理旧的日志文件。
7. 注意事项
确保SQL Server Agent正在运行,以便在需要时自动清理旧的日志文件。
定期检查和管理审计日志,以避免存储空间问题。
根据需要调整审计的详细级别和范围,以避免记录过多或不必要的信息。
>sqlserver2012数据库还原