Sql-Server

如何判斷什麼正在訪問我的 Azure SQL Server?

  • October 18, 2022

我有一個想要停用的舊版 Azure SQL Server,但我們有很多沒人知道的舊版系統。

我想確認訪問此伺服器和/或其數據庫的內容。

它沒有打開 Log Analytics 或 App Insights,也沒有任何類型的日誌。我正在考慮打開它們,但我不知道我應該設置哪種類型的日誌來收集它,以及隨後我應該在日誌中的哪個表中查找任何請求。

在這裡,您將找到配置 Azure SQL 審計和 Log Analytics 所需的所有步驟,以及如何查詢日誌分析以了解誰訪問了 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

引用自:https://serverfault.com/questions/1113312