Arquivos de log do banco de dados do Amazon RDS para Microsoft SQL Server
Você pode acessar os logs de erros, logs de agentes, arquivos de rastreamento e arquivos de despejo do Microsoft SQL Server usando o console do Amazon RDS, a AWS CLI ou a API do RDS. Para mais informações sobre a visualização, o download e os logs de bancos de dados baseados no monitoramento de arquivos, consulte Monitorar arquivos de log do Amazon RDS.
Cronograma de retenção
Os arquivos de log são revezados a cada dia e sempre que sua instância de banco de dados for reiniciada. A seguir você encontra o cronograma de retenção para logs do Microsoft SQL Server no Amazon RDS.
Tipo de log | Cronograma de retenção |
---|---|
Logs de erro |
No máximo, 30 logs de erros são retidos. O Amazon RDS pode excluir logs de erros com mais de 7 dias. |
Logs de agente |
No máximo, 10 logs de agente são retidos. O Amazon RDS pode excluir logs de agente com mais de 7 dias. |
Arquivos de rastreamento |
Os arquivos de rastreamento são mantidos de acordo com o período de retenção de arquivos de rastreamento de sua instância de banco de dados. O período de retenção padrão de arquivos de rastreamento é de 7 dias. Para modificar o período de retenção de arquivos de rastreamento de sua instância de banco de dados, consulte Como definir o período de retenção para arquivos de rastreamento e despejo. |
Arquivos de despejo |
Os arquivos de despejo são mantidos de acordo com o período de retenção de arquivos de despejo de sua instância de banco de dados. O período de retenção padrão de arquivos de despejo é de 7 dias. Para modificar o período de retenção de arquivos de despejo de sua instância de banco de dados, consulte Como definir o período de retenção para arquivos de rastreamento e despejo. |
Visualizar o log de erros do SQL Server usando o procedimento rds_read_error_log
Você pode usar o procedimento armazenado rds_read_error_log
do Amazon RDS para visualizar logs de erros e logs de agente. Para obter mais informações, consulte Visualizar logs do agente ou erros.
Publicar logs do SQL Server no Amazon CloudWatch Logs
Com o Amazon RDS para SQL Server, você pode publicar eventos de log de erros e de agentes diretamente no Amazon CloudWatch Logs. Analise os dados de logs com o CloudWatch Logs e depois use o CloudWatch para criar alarmes e visualizar métricas.
Com o CloudWatch Logs, você pode fazer o seguinte:
-
Armazene os logs em um espaço de armazenamento resiliente e com um período de retenção definido por você.
-
Pesquisar e filtrar dados de log.
-
Compartilhar dados de log entre contas.
-
Exportar logs para o Amazon S3.
-
Faça uma transmissão de dados para o Amazon OpenSearch Service.
-
Processar dados de log em tempo real com o Amazon Kinesis Data Streams. Para obter mais informações, consulte Trabalhando com o Amazon CloudWatch Logs, no Guia do desenvolvedor do Amazon Kinesis Data Analytics para aplicativos SQL.
O Amazon RDS publica cada log de banco de dados SQL Server como um fluxo separado de banco de dados no grupo de logs. Por exemplo, se você publicar os logs de erro e os logs do agente, os dados de erro serão armazenados em um fluxo de logs de erros no grupo de logs /aws/rds/instance/
, e os dados de log do agente serão armazenados no grupo de logs my_instance
/error/aws/rds/instance/
.my_instance
/agent
Para instâncias de banco de dados multi-AZ, o Amazon RDS publica o log do banco de dados como dois fluxos separados no grupo de logs. Por exemplo, se você publicar logs de erro, os dados de erro serão armazenados nos fluxos de log de erros /aws/rds/instance/
e my_instance.node1
/error/aws/rds/instance/
respectivamente. Os fluxos de log não mudam durante um failover e o fluxo de logs de erros de cada nó pode conter logs de erros da instância primária ou secundária. Com o multi-AZ, um fluxo de logs é criado automaticamente para my_instance.node2
/error/aws/rds/instance/
para armazenar dados de eventos, como failovers de instâncias de banco de dados.my_instance
/rds-events
nota
A publicação de logs do SQL Server no CloudWatch Logs não está habilitada por padrão. Não há suporte para a publicação de arquivos de rastreamento e despejo. A publicação de logs do SQL Server no CloudWatch Logs é compatível com todas as regiões, exceto Ásia-Pacífico (Hong Kong).
Para publicar logs de banco de dados do SQL Server no CloudWatch Logs a partir do AWS Management Console
Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, escolha Databases (Bancos de dados) e a instância de banco de dados que você deseja modificar.
-
Selecione Modify.
-
Na seção Log exports (Exportações de log), escolha os logs que deseja começar a publicar no CloudWatch Logs.
Você pode escolher Agent log (Log do agente), Error log (Log de erros) ou ambos.
-
Escolha Continue (Continuar) e depois escolha Modify DB Instance (Modificar instância de banco de dados) na página de resumo.
Para publicar os logs do SQL Server, você pode usar o comando modify-db-instance
com os seguintes parâmetros:
-
--db-instance-identifier
-
--cloudwatch-logs-export-configuration
nota
Uma alteração feita na opção --cloudwatch-logs-export-configuration
sempre é aplicada imediatamente na instância de banco de dados. Por isso, as opções --apply-immediately
e --no-apply-immediately
não entram em vigor.
Você também pode publicar logs da SQL Server usando os seguintes comandos:
exemplo
O exemplo a seguir cria uma instância de banco de dados SQL Server com a publicação no CloudWatch Logs habilitada. O valor --enable-cloudwatch-logs-exports
é uma matriz JSON de strings que podem incluir error
, agent
ou ambos.
Para Linux, macOS ou Unix:
aws rds create-db-instance \ --db-instance-identifier
mydbinstance
\ --enable-cloudwatch-logs-exports '["error","agent"]' \ --db-instance-classdb.m4.large
\ --enginesqlserver-se
Para Windows:
aws rds create-db-instance ^ --db-instance-identifier
mydbinstance
^ --enable-cloudwatch-logs-exports "[\"error\",\"agent\"]" ^ --db-instance-class db.m4.large ^ --engine sqlserver-se
nota
Ao usar o prompt de comando do Windows, você deve fazer o escape das aspas duplas (") no código JSON, prefixando-as com uma barra invertida (\).
exemplo
O exemplo a seguir altera uma instância de banco de dados SQL Server existente para publicar os arquivos de log no CloudWatch Logs. O valor --cloudwatch-logs-export-configuration
é um objeto JSON. A chave desse objeto é EnableLogTypes
, e seu valor é uma matriz de strings que pode incluir error
, agent
ou ambos.
Para Linux, macOS ou Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","agent"]}'
Para Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"error\",\"agent\"]}"
nota
Ao usar o prompt de comando do Windows, você deve fazer o escape das aspas duplas (") no código JSON, prefixando-as com uma barra invertida (\).
exemplo
O exemplo a seguir altera uma instância de banco de dados SQL Server existente para desabilitar a publicação de arquivos de log do agente no CloudWatch Logs. O valor --cloudwatch-logs-export-configuration
é um objeto JSON. A chave desse objeto é DisableLogTypes
, e seu valor é uma matriz de strings que pode incluir error
, agent
ou ambos.
Para Linux, macOS ou Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["agent"]}'
Para Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"agent\"]}"
nota
Ao usar o prompt de comando do Windows, você deve fazer o escape das aspas duplas (") no código JSON, prefixando-as com uma barra invertida (\).