

# Configurar uma política de auditoria para o Amazon RDS para Microsoft SQL Server
<a name="DBActivityStreams.configuring-auditing-SQLServer"></a>

Uma instância de banco de dados do SQL Server tem a auditoria de servidor `RDS_DAS_AUDIT`, que é gerenciada pelo Amazon RDS. Você pode definir as políticas para registrar eventos do servidor na especificação de auditoria de servidor `RDS_DAS_SERVER_AUDIT_SPEC`. Você pode criar uma especificação de auditoria de banco de dados, como `RDS_DAS_DB_<name>`, e definir as políticas para registrar eventos do banco de dados. Para obter a lista de grupos de ações de auditoria em nível de servidor e banco de dados, consulte [Ações e grupos de ações de auditoria do SQL Server](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions) na *documentação do Microsoft SQL Server*.

A política de servidor padrão monitora somente falhas de logins e alterações em bancos de dados ou especificações de auditoria de servidor para fluxos de atividade de banco de dados.

As limitações para a auditoria e para as especificações de auditoria incluem o seguinte:
+ Você não pode modificar as especificações de auditoria de servidor ou banco de dados quando o fluxo de atividade do banco de dados está em um estado *bloqueado*.
+ Você não pode modificar a especificação de auditoria de servidor `RDS_DAS_AUDIT`.
+ Você não pode modificar a auditoria `RDS_DAS_CHANGES` do SQL Server ou sua especificação de auditoria de servidor relacionada `RDS_DAS_CHANGES_AUDIT_SPEC`.
+ Ao criar uma especificação de auditoria de banco de dados, você deve usar o formato `RDS_DAS_DB_<name>`; por exemplo, `RDS_DAS_DB_databaseActions`.

**Importante**  
Para classes de instâncias menores, recomendamos que você não audite todos os dados, apenas os necessários. Isso ajuda a reduzir o impacto na performance do recurso Database Activity Streams nessas classes de instâncias.

O exemplo de código abaixo modifica a especificação de auditoria de servidor `RDS_DAS_SERVER_AUDIT_SPEC` e realiza a auditoria de todas as ações de desconexão e de login bem-sucedido:

```
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      WITH (STATE=OFF);
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      ADD (LOGOUT_GROUP),
      ADD (SUCCESSFUL_LOGIN_GROUP)
      WITH (STATE = ON );
```

O exemplo de código abaixo cria uma especificação de auditoria de banco de dados `RDS_DAS_DB_database_spec` e a anexa à auditoria de servidor `RDS_DAS_AUDIT`:

```
USE testDB;
CREATE DATABASE AUDIT SPECIFICATION [RDS_DAS_DB_database_spec]
     FOR SERVER AUDIT [RDS_DAS_AUDIT]
     ADD ( INSERT, UPDATE, DELETE  
          ON testTable BY testUser )  
     WITH (STATE = ON);
```

Depois que as especificações de auditoria forem configuradas, certifique-se de que as especificações `RDS_DAS_SERVER_AUDIT_SPEC` e `RDS_DAS_DB_<name>` estejam definidas no estado `ON`. Agora elas podem enviar os dados de auditoria para o fluxo de atividade do banco de dados.