我有一个想要退役的旧式 Azure SQL Server,但我们有很多没人知道的旧式系统。
我想确认哪些内容可以访问该服务器和/或其数据库。
它没有启用 Log Analytics 或 App Insights,没有任何类型的日志。我曾考虑启用它们,但我不知道应该设置它来收集哪种类型的日志,以及随后应该在日志中的哪个表中查找任何请求。
答案1
这里您将找到配置 Azure SQL 审计和日志分析所需的所有步骤,以及如何查询日志分析以了解谁访问了 Azure SQL 数据库。下面您将找到可用于日志分析的查询。
AzureDiagnostics
| where ResourceId == '/SUBSCRIPTIONS/<your subs ID>/RESOURCEGROUPS/<your rsrc grp>/PROVIDERS/MICROSOFT.SQL/SERVERS/<YOURSERVERNAME>/DATABASES/<YOURDBNAME>'
| project event_time_t, statement_s, succeeded_s, affected_rows_d, server_principal_name_s, client_ip_s, application_name_s, additional_information_s, data_sensitivity_information_s
| order by event_time_t desc
| take 100
您还可以使用以下查询查看 Azure SQL 数据库上具有活动会话的登录信息。您可以安排查询的执行并将结果保存到表中。
SELECT login_name, session_id, total_elapsed_time,
FROM sys.dm_exec_sessions