Dataverse 如何透過 UI 清空指定資料表?Bulk Deletion 使用整理

| PowerPlatform | 2 Reads

在 Dataverse 中,如果想做到類似 SQL TRUNCATE TABLE 的效果,但又不刪除資料表本身,可以使用 Bulk Deletion(一括削除)

它會刪除符合條件的 Records,但會保留 Table、Columns、Relationships 等結構。

一、從哪裡建立 Bulk Deletion Job?

在 Power Platform 管理中心依序進入:

Manage → Environments → 選擇環境 → Settings → Data management → Bulk deletion

然後點:

+ 新しいジョブ

即可建立新的 Bulk Deletion Job。


二、如何清空某張資料表?

建立 Job 後:

  1. 在「エンティティを検索する」選擇要清空的 Table。

  2. 選擇一個 Saved View,例如:

    • アクティブな○○

    • 非アクティブな○○

  3. 設定刪除條件。

  4. 使用「レコードをプレビューする」確認實際會被刪除的資料。

  5. 確認後儲存並執行 Job。

Active / Inactive 是什麼?

Dataverse 的一般自訂 Table 通常存在:

  • アクティブ(Active)

  • 非アクティブ(Inactive)

Inactive 並不是已經刪除,只是 Record 處於停用狀態。

因此,如果目標是真正清空整張表,Active 與 Inactive 都必須包含。


三、沒有「すべて」View 怎麼辦?

有些 Table 的 Saved View 下拉選單只有:

  • アクティブな○○

  • 非アクティブな○○

而沒有「すべて」。

這時可以在同一個「状態」條件中,同時選擇:

アクティブ、非アクティブ

其邏輯相當於:

WHERE 状態 IN ('Active', 'Inactive')

也就是:

Active OR Inactive

如果該 Table 的狀態只有這兩種,那就等於取得全部 Records。

那畫面上的「および」是什麼?

「および」是用來連接不同篩選條件的 AND,例如:

状態 = Active / Inactive
AND
作成日 < 某日期

它不是說:

Active AND Inactive

同一條條件中同時選 Active、Inactive,本質上仍然是「任一值符合即可」。


四、執行前最好使用 Preview

在真正執行前,可以點:

レコードをプレビューする

確認目前條件到底抓到了哪些 Records。

如果 Preview 的筆數與 Table 的總資料量一致,就可以確認這次 Bulk Deletion 確實會清空整張表。


五、Bulk Deletion 預設是一次性 Job

Bulk Deletion 預設只執行一次。

畫面上有:

ジョブの実行間隔

如果不勾選,就是:

執行一次 → 完成 → 結束

如果勾選並設定例如 30日,就會變成:

每 30 天按照相同條件再次執行

因此,如果只是暫時清空測試資料,通常不要設定執行間隔

否則日後重新匯入資料後,定期 Job 可能又把資料刪掉。


六、Job 執行後可以反覆修改嗎?

一次性 Job

一次性 Job 執行完成後,基本上就可以理解為一筆執行履歷

例如:

事績処理テーブル全件削除
完成
刪除 2,700 件

它不是可反覆修改條件、再重新執行的「腳本模板」。

如果下次還想再清空同一張 Table,通常重新建立一個新的 Bulk Deletion Job。

Recurring Job

如果建立時設定了執行間隔,它會持續按照原來條件執行。

後續主要可以修改的是:

Recurrence/執行間隔

而不是任意修改:

  • Table

  • 查詢條件

  • Active / Inactive

  • 其他刪除條件

如果想大幅修改刪除規則,重新建立新的 Job 會比較合適。


七、執行完成的 Job 履歷可以刪嗎?

可以。

完成後的一次性 Bulk Deletion Job 可以作為執行紀錄保留,也可以在確認不再需要後刪除。

刪除 Job 履歷:

不會恢復已刪除的業務資料
不會刪除 Table
不會改變 Table 結構

只是把那次 Bulk Deletion 的執行紀錄移除。

但對 Recurring Job 要特別注意,因為它可能還負責未來的定期執行,不能單純把它當作普通歷史紀錄。


八、這些 Job 屬於哪裡?

Bulk Deletion Job 屬於特定的 Dataverse Environment

因此它不是一般 Solution 元件。

要區分兩種情況:

Solution 移送

Development → Export Solution → Production Import

一般的 Bulk Deletion 執行履歷不會因為 Solution Import 而一起搬過去。

整個 Environment/Dataverse organization 移送

如果做的是整個 Dataverse Environment/organization 層級的移送,那這些 Job 記錄屬於該環境中的 Dataverse 系統資料,與單純的 Solution 移送是不同概念。


總結

如果只是想透過 Dataverse UI 清空某張 Table,可以記住:

Bulk Deletion → 選 Table → Active + Inactive → Preview → 一次性執行

其中最重要的幾點是:

  • Bulk Deletion 刪的是 Records,不是 Table。

  • Inactive Record 也是真實存在的資料。

  • Active + Inactive 可以涵蓋全部狀態。

  • 不勾「ジョブの実行間隔」就是一次性執行。

  • 執行完成的一次性 Job 基本上就是履歷。

  • 履歷可以刪除。

  • Bulk Deletion Job 屬於 Environment,不等於 Solution 元件。

This article was last edited at