Sql-Server

SQL Server中如何查詢最多插入的是哪個表?

  • July 19, 2019

我有一個數據庫,並且沒有任何觸發器跟隨所述數據庫中的事務。

現在,我必須製作一份報告,顯示迄今為止插入的表格最多。我怎樣才能做到這一點?

要了解大部分插入的表,您可以簡單地檢索表中的行/記錄數。

您可以使用以下查詢來查找它。大多數插入的表將顯示在記錄的頂部。

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

正如您在評論中描述的要求,“您需要在日期範圍內找到大部分插入的表格。可以使用多種方法來完成。

  1. 在表上使用 AFTER TRIGGER。
  2. 使用 IDENTITY 類型列以及記錄插入日期和時間的列(如 Amina 評論)。
  3. 使用 CDC,您可以記錄表中每次更改的日期和時間。
  4. 在表上啟用臨時表(SQL Server 2016 +)功能以記錄每次更改。
  5. 跟踪數據更改 (SQL Server 2017)

謝謝!

引用自:https://dba.stackexchange.com/questions/243179