Sql-Server
可以使用 Set-AzSqlDatabaseAudit 將手動數據更改記錄到 Azure SQL 表嗎?
可以使用 SSMS (Microsoft SQL Server Management Studio) 以及適當的使用者名和密碼連接到我的 Azure SQL Server 數據庫。
如果有人這樣做,然後選擇其中一個表,並執行“編輯前 200 行”,那麼他/她可以手動更改表的值之一 - 通過點擊內部並鍵入新值 - 而無需使用 SQL命令。
可以通過建構第二個“歷史”表並向第一個表添加觸發器來記錄此類更改,以便在任何更新時向歷史表添加一行。但是,我不想走那條路。
我想知道是否可以使用 PowerShell 命令記錄此類手動數據更改
Set-AzSqlDatabaseAudit
?就像是
Set-AzSqlDatabaseAudit ` -ResourceGroupName "MyResourceGroupName" ` -ServerName "MySqlServerName" ` -DatabaseName "MyDatabaseName" ` -AuditActionGroup "DATABASE_OBJECT_CHANGE_GROUP" ` -AuditAction ` "MANUAL_EDIT ON dbo.LoginTable BY public"
請注意,我不一定對邪惡活動持懷疑態度。當管理員需要登錄數據庫來修復某些數據問題時,有一些合法的案例,但我想要他們活動的“跟踪”。
例如,某人登錄數據庫並將表中的值從“4.1”更改為“4.2”,而不使用任何 SQL 命令
那不會發生。所有修改都是使用 SQL 命令完成的。
在您的觸發器案例中,觸發器包含一個執行修改的 SQL 命令。
當您說“手動數據更改”時,我們需要詳細說明。如果您使用某種工具來修改您的數據,那麼該工具會向 SQL Server 發送一條 SQL 註釋。或者呼叫儲存過程,該儲存過程又具有修改表的 SQL 命令。