Sql-Server
SQL Server中如何查詢最多插入的是哪個表?
我有一個數據庫,並且沒有任何觸發器跟隨所述數據庫中的事務。
現在,我必須製作一份報告,顯示迄今為止插入的表格最多。我怎樣才能做到這一點?
要了解大部分插入的表,您可以簡單地檢索表中的行/記錄數。
您可以使用以下查詢來查找它。大多數插入的表將顯示在記錄的頂部。
SELECT o.Name TableName,SUM(ps.row_count) Total_Rows FROM sys.dm_db_partition_stats ps inner join sys.objects o on ps.object_id=o.object_id WHERE o.type='U' GROUP BY o.Name ORDER BY 2 DESC
編輯:1
正如您在評論中描述的要求,“您需要在日期範圍內找到大部分插入的表格。可以使用多種方法來完成。
- 在表上使用 AFTER TRIGGER。
- 使用 IDENTITY 類型列以及記錄插入日期和時間的列(如 Amina 評論)。
- 使用 CDC,您可以記錄表中每次更改的日期和時間。
- 在表上啟用臨時表(SQL Server 2016 +)功能以記錄每次更改。
- 跟踪數據更改 (SQL Server 2017)
謝謝!