Puede llamar a la operación DescribeSQLLogRecords para consultar los registros generados por la función SQL Explorer (SQL Audit) de una instancia.
Antes de llamar a esta operación, asegúrese de que la instancia ejecute uno de los siguientes motores de base de datos:
MySQL
SQL Server
PostgreSQL
Puede llamar a esta operación hasta 1,000 veces por minuto por cuenta. Se contabilizan las llamadas iniciadas tanto con su cuenta de Alibaba Cloud como con los usuarios RAM dentro de su cuenta de Alibaba Cloud.
Esta operación no permite consultar los registros generados por SQL Explorer Trial Edition para una instancia de ApsaraDB RDS for MySQL.
Cuando llama a esta operación y establece el parámetro Form en File para generar un archivo de auditoría, se pueden registrar un máximo de 1 millón de entradas de registro en el archivo de auditoría y no es posible filtrar las entradas por palabra clave.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | DescribeSQLLogRecords | La operación que desea realizar. Establezca el valor en DescribeSQLLogRecords. |
| ClientToken | String | No | ETnLKlblzczshOTUbOCzxxxxxxx | El token de cliente que se utiliza para garantizar la idempotencia de la solicitud. Puede usar el cliente para generar el valor, pero debe asegurarse de que el token generado sea único entre diferentes solicitudes. El token solo puede contener caracteres ASCII y no debe exceder los 64 caracteres de longitud. |
| DBInstanceId | String | Sí | rm-uf6wjk5xxxxxxx | El ID de la instancia. |
| SQLId | Long | No | 25623548 | El ID único de la instrucción SQL. |
| QueryKeywords | String | No | table_name | La palabra clave que se utiliza para la consulta.
Nota Después de introducir una palabra clave, el sistema la compara con base en los parámetros Database, User y QueryKeywords. Estos parámetros utilizan un operador lógico OR. |
| StartTime | String | Sí | 2011-06-01T15:00:00Z | El inicio del intervalo de tiempo a consultar. Puede consultar los registros generados durante los últimos 30 días. Especifique la hora en formato ISO 8601: aaaa-MM-ddTHH:mm:ssZ. La hora debe estar en UTC. |
| Database | String | No | Database | El nombre de la base de datos. Solo puede introducir un nombre de base de datos. Si especifica este parámetro, esta operación devuelve únicamente los registros generados para la base de datos especificada. Si no especifica este parámetro, la operación devuelve los registros generados para todas las bases de datos de la instancia. |
| User | String | No | user | El nombre de usuario de la cuenta. Solo puede introducir un nombre de usuario. Si especifica este parámetro, esta operación devuelve únicamente los registros generados para la cuenta especificada. Si no especifica este parámetro, la operación devuelve los registros generados para todas las cuentas de la instancia. |
| Form | String | No | Stream | Especifica si se debe generar un archivo de registro de auditoría SQL o devolver entradas de registro de auditoría SQL. Valores válidos:
Nota Si establece este parámetro en File, solo son compatibles las instancias de ApsaraDB RDS for MySQL que usan discos SSD locales y las instancias de ApsaraDB RDS for SQL Server, y se devuelve un máximo de 1 millón de entradas de registro. |
| EndTime | String | Sí | 2011-06-11T15:00:00Z | El final del intervalo de tiempo a consultar. La hora de finalización debe ser posterior a la hora de inicio. El intervalo entre la hora de inicio y la hora de finalización debe ser menor a 30 días. Especifique la hora en formato ISO 8601: aaaa-MM-ddTHH:mm:ssZ. La hora debe estar en UTC. |
| PageSize | Integer | No | 30 | El número de entradas a devolver en cada página. Valores válidos: de 30 a 100. Valor predeterminado: 30. |
| PageNumber | Integer | No | 1 | El número de la página a devolver. Valores válidos: cualquier entero positivo distinto de cero. Valor predeterminado: 1. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
RequestId |
String |
08A3B71B-FE08-4B03-974F-CC7EA6DB1828 |
El ID de la solicitud. |
|
PageNumber |
Integer |
1 |
El número de la página devuelta. |
|
PageRecordCount |
Integer |
30 |
El número de entradas de registro de auditoría SQL en la página actual. |
|
TotalRecordCount |
Long |
100 |
El número total de registros devueltos. |
|
Items |
Array of SQLRecord |
Una matriz que contiene los detalles de cada entrada de registro de auditoría SQL. |
|
|
SQLRecord |
|||
|
HostAddress |
String |
192.168.0.121 |
La dirección IP del cliente conectado a la instancia. |
|
SQLText |
String |
update test.zxb set id=0 limit 1 |
La instrucción SQL ejecutada en la consulta. |
|
ReturnRowCounts |
Long |
30 |
El número de entradas de registro de auditoría SQL devueltas. |
|
DBName |
String |
testDB |
El nombre de la base de datos. |
|
ExecuteTime |
String |
2011-06-11T15:00:23Z |
La hora en que se ejecutó la instrucción SQL. La hora sigue el formato aaaa-MM-dd T HH:mm:ss Z. La hora se muestra en UTC. |
|
ThreadID |
String |
1025865428 |
El ID del hilo. |
|
TotalExecutionTimes |
Long |
600 |
La duración de ejecución de la instrucción SQL. Unidad: microsegundos. |
|
AccountName |
String |
accounttest |
El nombre de usuario de la cuenta registrada en la entrada de registro de auditoría SQL. |
Ejemplos
Solicitudes de ejemplo
http(s)://rds.aliyuncs.com/?Action=DescribeSQLLogRecords
&DBInstanceId=rm-uf6wjk5xxxxxx
&StartTime=2011-06-01T15:00:00Z
&EndTime=2011-06-11T15:00:00Z
&<Common request parameters>
Respuestas exitosas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<DescribeSQLLogRecordsResponse>
<PageNumber>1</PageNumber>
<TotalRecordCounts>1</TotalRecordCounts>
<ItemsCounts>1</ItemsCounts>
<SQLItems>
<SQLItem>
<DBName>test</DBName>
<AccountName>accounttest</AccountName>
<HostAddress>192.168.0.121</HostAddress>
<SQLText>update test.zxb set id=0 limit 1</SQLText>
<TotalExecutionTimes>12</TotalExecutionTimes>
<ReturnRowCounts>34</ReturnRowCounts>
<ExecuteTime>2011-06-11T15:00:23Z</ExecuteTime>
</SQLItem>
</SQLItems>
<RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828</RequestId>
</DescribeSQLLogRecordsResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"PageNumber" : 1,
"TotalRecordCounts" : 1,
"ItemsCounts" : 1,
"SQLItems" : {
"SQLItem" : [ {
"DBName" : "test",
"AccountName" : "accounttest",
"HostAddress" : "192.168.0.121",
"SQLText" : "update test.zxb set id=0 limit 1",
"TotalExecutionTimes" : 12,
"ReturnRowCounts" : 34,
"ExecuteTime" : "2011-06-11T15:00:23Z"
} ]
},
"RequestId" : "08A3B71B-FE08-4B03-974F-CC7EA6DB1828"
}
Códigos de error
Para obtener una lista de códigos de error, consulte Códigos de error del servicio.